This is an automated email from the ASF dual-hosted git repository. apilloud pushed a commit to branch updatecalcite in repository https://gitbox.apache.org/repos/asf/beam.git
commit c79f671d64435fb1f34e95fdbafc10fdb98d8e70 Author: Andrew Pilloud <[email protected]> AuthorDate: Mon Aug 30 15:44:49 2021 -0700 Update CreateFunction --- sdks/java/extensions/sql/src/main/codegen/config.fmpp | 2 +- .../java/extensions/sql/src/main/codegen/includes/parserImpls.ftl | 5 ++--- .../beam/sdk/extensions/sql/impl/parser/SqlCreateFunction.java | 8 ++++++-- .../apache/beam/sdk/extensions/sql/impl/parser/BeamDDLTest.java | 4 ++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sdks/java/extensions/sql/src/main/codegen/config.fmpp b/sdks/java/extensions/sql/src/main/codegen/config.fmpp index 92a86dc..ca59015 100644 --- a/sdks/java/extensions/sql/src/main/codegen/config.fmpp +++ b/sdks/java/extensions/sql/src/main/codegen/config.fmpp @@ -386,7 +386,6 @@ data: { # Example: SqlShowDatabases(), SqlShowTables(). statementParserMethods: [ "SqlSetOptionBeam(Span.of(), null)" - "SqlCreateFunction()" ] # List of methods for parsing custom literals. @@ -418,6 +417,7 @@ data: { # Each must accept arguments "(SqlParserPos pos, boolean replace)". createStatementParserMethods: [ "SqlCreateExternalTable" + "SqlCreateFunction" "SqlCreateTableNotSupportedMessage" ] diff --git a/sdks/java/extensions/sql/src/main/codegen/includes/parserImpls.ftl b/sdks/java/extensions/sql/src/main/codegen/includes/parserImpls.ftl index 5a06274..84037c5 100644 --- a/sdks/java/extensions/sql/src/main/codegen/includes/parserImpls.ftl +++ b/sdks/java/extensions/sql/src/main/codegen/includes/parserImpls.ftl @@ -189,15 +189,13 @@ SqlCreate SqlCreateExternalTable(Span s, boolean replace) : } } -SqlCreate SqlCreateFunction() : +SqlCreate SqlCreateFunction(Span s, boolean replace) : { - final Span s = Span.of(); boolean isAggregate = false; final SqlIdentifier name; final SqlNode jarName; } { - <CREATE> ( <AGGREGATE> { isAggregate = true; @@ -213,6 +211,7 @@ SqlCreate SqlCreateFunction() : return new SqlCreateFunction( s.end(this), + replace, name, jarName, isAggregate); diff --git a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/parser/SqlCreateFunction.java b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/parser/SqlCreateFunction.java index 09cc27e..1fd0643 100644 --- a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/parser/SqlCreateFunction.java +++ b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/parser/SqlCreateFunction.java @@ -56,8 +56,12 @@ public class SqlCreateFunction extends SqlCreate implements BeamSqlParser.Execut /** Creates a SqlCreateFunction. */ public SqlCreateFunction( - SqlParserPos pos, SqlIdentifier functionName, SqlNode jarPath, boolean isAggregate) { - super(OPERATOR, pos, false, false); + SqlParserPos pos, + boolean replace, + SqlIdentifier functionName, + SqlNode jarPath, + boolean isAggregate) { + super(OPERATOR, pos, replace, false); this.functionName = Objects.requireNonNull(functionName, "functionName"); this.jarPath = Objects.requireNonNull(jarPath, "jarPath"); this.isAggregate = isAggregate; diff --git a/sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/impl/parser/BeamDDLTest.java b/sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/impl/parser/BeamDDLTest.java index 37e8aab..316f667 100644 --- a/sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/impl/parser/BeamDDLTest.java +++ b/sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/impl/parser/BeamDDLTest.java @@ -225,7 +225,7 @@ public class BeamDDLTest { SqlIdentifier name = new SqlIdentifier("foo", SqlParserPos.ZERO); SqlNode jarPath = SqlLiteral.createCharString("path/to/udf.jar", SqlParserPos.ZERO); SqlCreateFunction createFunction = - new SqlCreateFunction(SqlParserPos.ZERO, name, jarPath, false); + new SqlCreateFunction(SqlParserPos.ZERO, false, name, jarPath, false); SqlWriter sqlWriter = new SqlPrettyWriter(BeamBigQuerySqlDialect.DEFAULT); createFunction.unparse(sqlWriter, 0, 0); @@ -239,7 +239,7 @@ public class BeamDDLTest { SqlIdentifier name = new SqlIdentifier("foo", SqlParserPos.ZERO); SqlNode jarPath = SqlLiteral.createCharString("path/to/udf.jar", SqlParserPos.ZERO); SqlCreateFunction createFunction = - new SqlCreateFunction(SqlParserPos.ZERO, name, jarPath, true); + new SqlCreateFunction(SqlParserPos.ZERO, false, name, jarPath, true); SqlWriter sqlWriter = new SqlPrettyWriter(BeamBigQuerySqlDialect.DEFAULT); createFunction.unparse(sqlWriter, 0, 0);
