You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by am...@apache.org on 2019/12/11 23:35:12 UTC

[beam] branch master updated: [BEAM-8362] Don't use toString() for accessing Enum Types

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 <ap...@google.com>
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(