brucearctor opened a new pull request, #37870:
URL: https://github.com/apache/beam/pull/37870

   ## Summary
   
   Add `DATE`, `TIME`, and `DATETIME` as standard portable logical types in 
`LogicalTypes.Enum` in `schema.proto`.
   
   ## Motivation
   
   The Java SDK already defines Date, Time, and DateTime logical types 
(`SqlTypes.DATE/TIME/DATETIME`) using `java.time` with portable URNs 
(`beam:logical_type:date:v1`, etc.), but these were never added to the proto's 
`LogicalTypes.Enum`. This means they can't be recognized as standard types 
during cross-language serialization — they degrade to `UnknownLogicalType`.
   
   This is the first step toward full portable Date/Time support, which will 
unblock IcebergIO date type usage from the Python SDK.
   
   ## Changes
   
   - `DATE = 8` — epoch days as INT64 (matching `Date.java`)
   - `TIME = 9` — nanoseconds as INT64 (matching `Time.java`)
   - `DATETIME = 10` — ROW<Date: INT64, Time: INT64> (matching `DateTime.java`)
   
   ## Follow-up PRs
   
   1. Register these in `SchemaTranslation.STANDARD_LOGICAL_TYPES` (Java)
   2. Add matching logical type classes in the Python SDK
   3. Update `JdbcUtil.java` to recognize the portable URNs alongside legacy 
identifiers
   
   ## Related Issues
   
   - Fixes #37823 (IcebergIO Date type support from Python SDK)
   - Addresses #25946 (Support more portable schema types in Python)
   - Moves toward #28359 (Switch to portable Date/Time for JdbcIO)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to