diff --git a/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/schema.proto b/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/schema.proto index 5250aaaa1a7a..6c01c4b7388d 100644 --- a/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/schema.proto +++ b/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/schema.proto @@ -174,6 +174,26 @@ message LogicalTypes { // A variable-length string with its maximum length as the argument. VAR_CHAR = 7 [(org.apache.beam.model.pipeline.v1.beam_urn) = "beam:logical_type:var_char:v1"]; + + // A URN for Date type + // - Representation type: INT64 + // - A date without a time-zone, stored as incrementing count of days + // where day 0 is 1970-01-01 (ISO). + DATE = 8 [(org.apache.beam.model.pipeline.v1.beam_urn) = + "beam:logical_type:date:v1"]; + + // A URN for Time type + // - Representation type: INT64 + // - A time without a time-zone, stored as a count of time in + // nanoseconds. + TIME = 9 [(org.apache.beam.model.pipeline.v1.beam_urn) = + "beam:logical_type:time:v1"]; + + // A URN for DateTime type + // - Representation type: ROW + // - A date-time without a time-zone, combining Date and Time. + DATETIME = 10 [(org.apache.beam.model.pipeline.v1.beam_urn) = + "beam:logical_type:datetime:v1"]; } }