This is an automated email from the ASF dual-hosted git repository.
amaliujia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new ab1385b [BEAM-8362] Don't use toString() for accessing Enum Types
new d339ab4 Merge pull request #9739 from apilloud/unimp
ab1385b is described below
commit ab1385b5442195afb63d732d9fe3c58b8cbd2b30
Author: Andrew Pilloud <[email protected]>
AuthorDate: Mon Oct 7 11:15:01 2019 -0700
[BEAM-8362] Don't use toString() for accessing Enum Types
---
.../extensions/sql/zetasql/translation/ExpressionConverter.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java
b/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java
index 8b5c81c..e55481e 100644
---
a/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java
+++
b/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java
@@ -35,6 +35,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.zetasql.ArrayType;
+import com.google.zetasql.EnumType;
import com.google.zetasql.Type;
import com.google.zetasql.Value;
import com.google.zetasql.ZetaSQLType.TypeKind;
@@ -560,7 +561,7 @@ public class ExpressionConverter {
ret = convertArrayValueToRexNode(type.asArray(), value);
break;
case TYPE_ENUM:
- ret = convertEnumToRexNode(type, value);
+ ret = convertEnumToRexNode(type.asEnum(), value);
break;
default:
// TODO: convert struct literal.
@@ -661,8 +662,8 @@ public class ExpressionConverter {
return rexBuilder().makeCall(SqlStdOperatorTable.ARRAY_VALUE_CONSTRUCTOR,
operands);
}
- private RexNode convertEnumToRexNode(Type type, Value value) {
- if (type.typeName().equals("`zetasql.functions.DateTimestampPart`")) {
+ private RexNode convertEnumToRexNode(EnumType type, Value value) {
+ if
("zetasql.functions.DateTimestampPart".equals(type.getDescriptor().getFullName()))
{
return convertTimeUnitRangeEnumToRexNode(type, value);
} else {
throw new RuntimeException(