The substrait proto definition provides a representation of empty list literals which is separate from the
representation of non-empty list literals:
message Literal {
oneof literal_type {
...
List list = 30;
Type.List empty_list = 31;
...
}
}
This change gives substrait-java a representation for empty list literals, along with conversions to/from
protobuf and to/from Calcite in Isthmus.
BREAKING CHANGE:
ExpressionVisitor has a new method to visit Expression.EmptyListLiteral. Implementors which don’t extend AbstractExpressionVisitor will have to add their own implementation.
Public class LiteralConstructorConverter now requires a TypeConverter to be passed to its constructor.
ExpressionCopyOnWriteVisitor#visitLiteral() may now be called with Expression.EmptyListLiteral.
The substrait proto definition provides a representation of empty list literals which is separate from the representation of non-empty list literals:
This change gives substrait-java a representation for empty list literals, along with conversions to/from protobuf and to/from Calcite in Isthmus.
BREAKING CHANGE: