This is an automated email from the ASF dual-hosted git repository.
xikui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb-bad.git
The following commit(s) were added to refs/heads/master by this push:
new 0bc1dfd Coordinated Change for CREATE OR REPLACE FUNCTION
0bc1dfd is described below
commit 0bc1dfd8baae50b25740e9fc6c744b9de4c122cb
Author: Xikui Wang <[email protected]>
AuthorDate: Thu Aug 27 21:15:57 2020 -0700
Coordinated Change for CREATE OR REPLACE FUNCTION
Change-Id: I5d28fc67de8dc4016339dd75e07cb23b426dabf4
---
.../bad/lang/statement/CreateProcedureStatement.java | 14 +++++---------
.../rules/RewriteChannelTimeFunctionToLocalVarRule.java | 4 ++--
asterix-bad/src/main/resources/lang-extension/lang.txt | 2 +-
asterix-bad/src/test/resources/runtimets/testsuite_bad.xml | 6 +++---
4 files changed, 11 insertions(+), 15 deletions(-)
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
index eb56e35..3d7d7de 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
@@ -192,16 +192,12 @@ public class CreateProcedureStatement extends
ExtensionStatement {
} else if (getProcedureBodyStatement().getKind() ==
Statement.Kind.QUERY) {
//TODO: Fix type dependency computation
SqlppRewriterFactory fact = new SqlppRewriterFactory(new
SqlppParserFactory());
- dependencies.get(1)
-
.addAll(FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
- ((Query) getProcedureBodyStatement()).getBody(),
metadataProvider, new ArrayList<>())
- .get(1));
+
dependencies.get(1).addAll(FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
+ ((Query) getProcedureBodyStatement()).getBody(),
metadataProvider).get(1));
Pair<JobSpecification, PrecompiledType> pair = new
Pair<>(BADJobService.compileQueryJob(statementExecutor,
metadataProvider, hcc, (Query)
getProcedureBodyStatement()), PrecompiledType.QUERY);
- dependencies.get(0)
-
.addAll(FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
- ((Query) getProcedureBodyStatement()).getBody(),
metadataProvider, new ArrayList<>())
- .get(0));
+
dependencies.get(0).addAll(FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
+ ((Query) getProcedureBodyStatement()).getBody(),
metadataProvider).get(0));
return pair;
} else if (getProcedureBodyStatement().getKind() ==
Statement.Kind.DELETE) {
getProcedureBodyStatement().accept(SqlppDeleteRewriteVisitor.INSTANCE,
metadataProvider);
@@ -209,7 +205,7 @@ public class CreateProcedureStatement extends
ExtensionStatement {
SqlppRewriterFactory fact = new SqlppRewriterFactory(new
SqlppParserFactory());
dependencies =
FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
delete.getQuery().getBody(),
- metadataProvider, new ArrayList<>());
+ metadataProvider);
Pair<JobSpecification, PrecompiledType> pair =
new Pair<>(((QueryTranslator)
statementExecutor).handleDeleteStatement(metadataProvider,
getProcedureBodyStatement(), hcc, true, null,
null), PrecompiledType.DELETE);
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/rules/RewriteChannelTimeFunctionToLocalVarRule.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/rules/RewriteChannelTimeFunctionToLocalVarRule.java
index ec922e7..56f5e39 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/rules/RewriteChannelTimeFunctionToLocalVarRule.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/rules/RewriteChannelTimeFunctionToLocalVarRule.java
@@ -138,7 +138,7 @@ public class RewriteChannelTimeFunctionToLocalVarRule
implements IAlgebraicRewri
if (needPrevDsSet.contains(dsVar) ||
needActiveDsSet.contains(dsVar)) {
LogicalVariable channelTimeVar = context.newVar();
ILogicalExpression previousChannelTimeExpr = new
ScalarFunctionCallExpression(
-
BuiltinFunctions.getAsterixFunctionInfo(BADFunctions.PREVIOUS_CHANNEL_TIME),
+
BuiltinFunctions.getBuiltinFunctionInfo(BADFunctions.PREVIOUS_CHANNEL_TIME),
new MutableObject<>(
new ConstantExpression(new
AsterixConstantValue(new AString(channelName)))));
AssignOperator assignOp =
@@ -151,7 +151,7 @@ public class RewriteChannelTimeFunctionToLocalVarRule
implements IAlgebraicRewri
if (needCurrDsSet.contains(dsVar) ||
needActiveDsSet.contains(dsVar)) {
LogicalVariable channelTimeVar = context.newVar();
ILogicalExpression previousChannelTimeExpr = new
ScalarFunctionCallExpression(
-
BuiltinFunctions.getAsterixFunctionInfo(BADFunctions.CURRENT_CHANNEL_TIME), new
MutableObject<>(
+
BuiltinFunctions.getBuiltinFunctionInfo(BADFunctions.CURRENT_CHANNEL_TIME), new
MutableObject<>(
new ConstantExpression(new
AsterixConstantValue(new AString(channelName)))));
AssignOperator assignOp =
new AssignOperator(channelTimeVar, new
MutableObject<>(previousChannelTimeExpr));
diff --git a/asterix-bad/src/main/resources/lang-extension/lang.txt
b/asterix-bad/src/main/resources/lang-extension/lang.txt
index 8b8c507..49f0cb4 100644
--- a/asterix-bad/src/main/resources/lang-extension/lang.txt
+++ b/asterix-bad/src/main/resources/lang-extension/lang.txt
@@ -255,7 +255,7 @@ CreateContinuousChannelStatement
CreateContinuousChannel(Token startStmtToken) t
removeCurrentScope();
defaultDataverse = currentDataverse;
ensureNoTypeDeclsInFunction(fctName.function, params, returnType,
startStmtToken);
- CreateFunctionStatement stmt = new CreateFunctionStatement(signature,
params, functionBody, functionBodyExpr, false);
+ CreateFunctionStatement stmt = new CreateFunctionStatement(signature,
params, functionBody, functionBodyExpr, true, false);
ccs = new CreateContinuousChannelStatement(fctName.dataverse, new
Identifier(fctName.function), period, push, stmt);
return addSourceLocation(ccs, startStmtToken);
}
diff --git a/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
b/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
index 5f130e9..51f1cda 100644
--- a/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
+++ b/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
@@ -77,7 +77,7 @@
<test-case FilePath="procedure">
<compilation-unit name="delete_procedure_drop_function">
<output-dir compare="Text">delete_procedure_drop_function</output-dir>
- <expected-error>Cannot drop function two.really_contains@2.
two.deleteSome(Procedure) depends on it!</expected-error>
+ <expected-error>Cannot drop function
two.really_contains</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="procedure">
@@ -95,7 +95,7 @@
<test-case FilePath="procedure">
<compilation-unit name="query_procedure_drop_function">
<output-dir compare="Text">query_procedure_drop_function</output-dir>
- <expected-error>Cannot drop function channels.really_contains@2.
two.selectSome(Procedure) depends on it!</expected-error>
+ <expected-error>Cannot drop function
channels.really_contains</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="procedure">
@@ -133,7 +133,7 @@
<test-case FilePath="bad_rq">
<compilation-unit name="drop_function">
<output-dir compare="Text">drop_function</output-dir>
- <expected-error>Cannot drop function
channels.NearbyTweetsContainingText@2. two.nearbyTweetChannel(Channel) depends
on it!</expected-error>
+ <expected-error>Cannot drop function
channels.NearbyTweetsContainingText</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="bad_rq">