Skip to content

feat(core)!: remove deprecated Time, Timestamp, TimestampTZ types and literals#950

Open
nielspardon wants to merge 1 commit into
substrait-io:mainfrom
nielspardon:feat/remove-deprecated-time-types
Open

feat(core)!: remove deprecated Time, Timestamp, TimestampTZ types and literals#950
nielspardon wants to merge 1 commit into
substrait-io:mainfrom
nielspardon:feat/remove-deprecated-time-types

Conversation

@nielspardon

@nielspardon nielspardon commented Jun 17, 2026

Copy link
Copy Markdown
Member

Summary

Removes types, literals, and function mappings that were previously deprecated in substrait-java and are removed in Substrait v0.88.0.

Part of #800closes #804.

Changes

Removed deprecated types and literals:

  • Type.Time, Type.Timestamp, Type.TimestampTZ
  • Expression.TimeLiteral, Expression.TimestampLiteral, Expression.TimestampTZLiteral
  • TypeCreator.TIME, TIMESTAMP, TIMESTAMP_TZ
  • All visitor methods and proto converter cases for the above

Substrait submodule updated to v0.88.0, which removes these types from the proto definitions and ANTLR grammar.

Additional fixes required by v0.88.0:

  • ParseToPojo: handle new integer_parameter(x) function call in the type derivation grammar used by functions_datetime.yaml
  • ToTypeString: add missing visit(ParameterizedType.PrecisionTime) returning "pt"
  • EnumConverter: update extract function keys for precision_time (req_timereq_pt) and remove stale req_ts/req_tstz_str entries
  • FunctionConversionTest: update test signatures to v0.88.0 function keys and add precision arg to strptime_time/strptime_timestamp

Breaking Change

Type.Time, Type.Timestamp, Type.TimestampTZ and their corresponding expression literals and visitor methods are removed; use the precision variants (Type.PrecisionTime, Type.PrecisionTimestamp, Type.PrecisionTimestampTZ) instead.


🤖 Generated with AI

@nielspardon nielspardon force-pushed the feat/remove-deprecated-time-types branch from f401f4b to 1cda539 Compare June 17, 2026 11:30
… literals

Removes types, literals, and function mappings that were previously
deprecated in substrait-java and are removed in Substrait v0.88.0:

- Type.Time, Type.Timestamp, Type.TimestampTZ
- Expression.TimeLiteral, Expression.TimestampLiteral, Expression.TimestampTZLiteral
- TypeCreator.TIME, TIMESTAMP, TIMESTAMP_TZ
- All visitor methods and proto converter cases for the above

Also updates the substrait submodule to v0.88.0, which removes these
types from the proto definitions and ANTLR grammar.

Additional fixes required by v0.88.0:
- ParseToPojo: handle new integer_parameter(x) function call in the
 type derivation grammar used by functions_datetime.yaml
- ToTypeString: add missing visit(ParameterizedType.PrecisionTime)
- EnumConverter: update extract function keys for precision_time
 (req_time -> req_pt) and remove stale req_ts/req_tstz_str entries
- FunctionConversionTest: update test signatures to v0.88.0 function
 keys and add precision arg to strptime_time/strptime_timestamp

BREAKING CHANGE: Type.Time, Type.Timestamp, Type.TimestampTZ and their corresponding expression literals and visitor methods are removed; use the precision variants (Type.PrecisionTime, Type.PrecisionTimestamp, Type.PrecisionTimestampTZ) instead.

Part of substrait-io#800
Closes substrait-io#804
@nielspardon nielspardon force-pushed the feat/remove-deprecated-time-types branch from 1cda539 to 1b14618 Compare June 17, 2026 11:39
@nielspardon nielspardon marked this pull request as ready for review June 17, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

remove previously deprecated Time, Timestamp and TimestampTZ types, literals, function mappings

1 participant