Skip to content

Commit 3814053

Browse files
committed
chore: addressing more PR comments
1 parent 77f0bd7 commit 3814053

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

core/src/main/java/io/substrait/expression/proto/ProtoExpressionConverter.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -497,25 +497,21 @@ public Expression.Literal from(io.substrait.proto.Expression.Literal literal) {
497497
lookup.getType(userDefinedLiteral.getTypeReference(), extensions);
498498
String urn = type.urn();
499499
String name = type.name();
500+
List<io.substrait.type.Type.Parameter> typeParameters =
501+
userDefinedLiteral.getTypeParametersList().stream()
502+
.map(protoTypeConverter::from)
503+
.collect(Collectors.toList());
500504

501505
switch (userDefinedLiteral.getValCase()) {
502506
case VALUE:
503507
return ExpressionCreator.userDefinedLiteralAny(
504-
literal.getNullable(),
505-
urn,
506-
name,
507-
userDefinedLiteral.getTypeParametersList().stream()
508-
.map(protoTypeConverter::from)
509-
.collect(Collectors.toList()),
510-
userDefinedLiteral.getValue());
508+
literal.getNullable(), urn, name, typeParameters, userDefinedLiteral.getValue());
511509
case STRUCT:
512510
return ExpressionCreator.userDefinedLiteralStruct(
513511
literal.getNullable(),
514512
urn,
515513
name,
516-
userDefinedLiteral.getTypeParametersList().stream()
517-
.map(protoTypeConverter::from)
518-
.collect(Collectors.toList()),
514+
typeParameters,
519515
userDefinedLiteral.getStruct().getFieldsList().stream()
520516
.map(this::from)
521517
.collect(Collectors.toList()));

core/src/main/java/io/substrait/type/Type.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -400,11 +400,11 @@ abstract class UserDefined implements Type {
400400
* vector<i32>} or custom types like {@code FixedArray<100>}. Each parameter in the list can be
401401
* either a type (like {@code i32}) or a value (like the integer {@code 100}).
402402
*
403-
* <p>Unlike built-in parameterized types ({@link Map}, {@link ListType}, {@link Decimal}),
404-
* which have fixed, known schemas with concrete typed fields, user-defined types have variable,
405-
* unknown schemas. This is why UserDefined uses a generic {@link Parameter} list that can hold
406-
* any mix of types or values, while other parameterized types use concrete fields like {@code
407-
* Type key()} or {@code int precision()}.
403+
* <p>Unlike built-in parameterized types ({@link Type.Map}, {@link Type.ListType}, {@link
404+
* Type.Decimal}), which have fixed, known schemas with concrete typed fields, user-defined
405+
* types have variable, unknown schemas. This is why UserDefined uses a generic {@link
406+
* Parameter} list that can hold any mix of types or values, while other parameterized types use
407+
* concrete fields like {@code Type key()} or {@code int precision()}.
408408
*
409409
* <p>For example, a user-defined {@code vector} type parameterized by {@code i32} would have
410410
* one type parameter containing the {@code i32} type definition, while a {@code FixedArray}

0 commit comments

Comments
 (0)