[
https://issues.apache.org/jira/browse/BEAM-5210?focusedWorklogId=137620&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-137620
]
ASF GitHub Bot logged work on BEAM-5210:
----------------------------------------
Author: ASF GitHub Bot
Created on: 23/Aug/18 23:35
Start Date: 23/Aug/18 23:35
Worklog Time Spent: 10m
Work Description: apilloud commented on a change in pull request #6270:
[BEAM-5210] Support VARBINARY in BeamSqlPrimitive
URL: https://github.com/apache/beam/pull/6270#discussion_r212486940
##########
File path:
sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/interpreter/operator/BeamSqlPrimitive.java
##########
@@ -131,6 +131,8 @@ public boolean accept() {
case CHAR:
case VARCHAR:
return value instanceof String || value instanceof NlsString;
+ case VARBINARY:
+ return value instanceof byte[];
Review comment:
Calcite is using `ByteString` for both BINARY and VARBINARY:
https://calcite.apache.org/avatica/apidocs/org/apache/calcite/avatica/util/ByteString.html
We should match, as that will minimize pain when I pull in the Calcite Rex
code generation.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 137620)
Time Spent: 20m (was: 10m)
> VARBINARY is not supported in BeamSqlPrimitive
> ----------------------------------------------
>
> Key: BEAM-5210
> URL: https://issues.apache.org/jira/browse/BEAM-5210
> Project: Beam
> Issue Type: Bug
> Components: dsl-sql
> Reporter: Xu Mingmin
> Assignee: Xu Mingmin
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> See error as below
> {code}
> Caused by: java.lang.UnsupportedOperationException: Unsupported Beam SQL type
> in expression: VARBINARY
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.operator.BeamSqlPrimitive.accept(BeamSqlPrimitive.java:158)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.operator.BeamSqlPrimitive.<init>(BeamSqlPrimitive.java:44)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.operator.BeamSqlPrimitive.of(BeamSqlPrimitive.java:56)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.operator.BeamSqlInputRefExpression.evaluate(BeamSqlInputRefExpression.java:42)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.BeamSqlExpressionEnvironments$ListEnvironment.getLocalRef(BeamSqlExpressionEnvironments.java:92)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.operator.BeamSqlLocalRefExpression.evaluate(BeamSqlLocalRefExpression.java:44)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.BeamSqlFnExecutor.lambda$execute$0(BeamSqlFnExecutor.java:557)
> at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> at
> java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at
> java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
> at
> org.apache.beam.sdk.extensions.sql.impl.interpreter.BeamSqlFnExecutor.execute(BeamSqlFnExecutor.java:558)
> at
> org.apache.beam.sdk.extensions.sql.impl.rel.BeamCalcRel$CalcFn.processElement(BeamCalcRel.java:116)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)