You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kyle Weaver (Jira)" <ji...@apache.org> on 2020/01/17 21:32:00 UTC
[jira] [Created] (BEAM-9149) Support ZetaSQL positional parameters
Kyle Weaver created BEAM-9149:
---------------------------------
Summary: Support ZetaSQL positional parameters
Key: BEAM-9149
URL: https://issues.apache.org/jira/browse/BEAM-9149
Project: Beam
Issue Type: New Feature
Components: dsl-sql-zetasql
Reporter: Kyle Weaver
Assignee: Kyle Weaver
While they are not yet exposed to the end user, ZetaSQL query parameters are currently being passed internally. However, the existing code assumes that all parameters are named parameters, not positional parameters. To support positional parameters, we will need to make at least the following changes:
1) Set mode to PARAMETER_POSITIONAL and use addPositionalQueryParameter instead of addQueryParameter in SqlAnalyzer:
https://github.com/apache/beam/blob/671b02ac5f1be87a591de8f5f456d0e5a199d771/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/SqlAnalyzer.java#L119
2) Code currently assumes that resolved parameters are named. While even positional parameters must be named when they are used as inputs, after they are resolved their names are removed. Thus this check will deref a null pointer and must be fixed:
https://github.com/apache/beam/blob/8915d6e95c405aeee0f29152545d3210e8e09f1f/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java#L1004
--
This message was sent by Atlassian Jira
(v8.3.4#803005)