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">

Reply via email to