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 1ef0449 [NO ISSUE][BAD] Bring the BAD Branch to master
1ef0449 is described below
commit 1ef044918ac590e643c7579adcdece3334a7511e
Author: Xikui Wang <[email protected]>
AuthorDate: Thu Jul 30 09:05:34 2020 -0700
[NO ISSUE][BAD] Bring the BAD Branch to master
1. Updated paramList in lang.txt to use TypeExpression
2. Updated RequestParameters
3. Updated test results
Change-Id: I6f71319d7c9761266325e3641e0f796dd68408f4
---
.../asterix/bad/lang/statement/BrokerDropStatement.java | 5 +++++
.../bad/lang/statement/ChannelDropStatement.java | 5 +++++
.../bad/lang/statement/ChannelSubscribeStatement.java | 5 +++++
.../bad/lang/statement/ChannelUnsubscribeStatement.java | 5 +++++
.../bad/lang/statement/CreateBrokerStatement.java | 5 +++++
.../bad/lang/statement/CreateChannelStatement.java | 17 +++++++++++++----
.../bad/lang/statement/CreateProcedureStatement.java | 5 +++++
.../bad/lang/statement/ExecuteProcedureStatement.java | 5 +++++
.../bad/lang/statement/ProcedureDropStatement.java | 5 +++++
.../asterix/bad/recovery/BADGlobalRecoveryManager.java | 6 ++++--
asterix-bad/src/main/resources/lang-extension/lang.txt | 6 +++---
.../create_procedure_check_metadata.1.adm | 8 ++++----
12 files changed, 64 insertions(+), 13 deletions(-)
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/BrokerDropStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/BrokerDropStatement.java
index 26c315a..9678b46 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/BrokerDropStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/BrokerDropStatement.java
@@ -70,6 +70,11 @@ public class BrokerDropStatement extends ExtensionStatement {
}
@Override
+ public String getName() {
+ return BrokerDropStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
index 23b3483..fb4fe47 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
@@ -82,6 +82,11 @@ public class ChannelDropStatement extends ExtensionStatement
{
}
@Override
+ public String getName() {
+ return ChannelDropStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
index a63a101..60be430 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
@@ -120,6 +120,11 @@ public class ChannelSubscribeStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return ChannelSubscribeStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
index fd6cad4..298919f 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
@@ -100,6 +100,11 @@ public class ChannelUnsubscribeStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return ChannelUnsubscribeStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateBrokerStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateBrokerStatement.java
index 31dd7cc..581b597 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateBrokerStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateBrokerStatement.java
@@ -74,6 +74,11 @@ public class CreateBrokerStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return CreateBrokerStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
index 50ddf46..e29ff67 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
@@ -51,6 +51,8 @@ import org.apache.asterix.lang.common.base.Statement;
import org.apache.asterix.lang.common.expression.CallExpr;
import org.apache.asterix.lang.common.expression.IndexedTypeExpression;
import org.apache.asterix.lang.common.expression.LiteralExpr;
+import org.apache.asterix.lang.common.expression.TypeExpression;
+import org.apache.asterix.lang.common.expression.TypeReferenceExpression;
import org.apache.asterix.lang.common.literal.StringLiteral;
import org.apache.asterix.lang.common.statement.CreateIndexStatement;
import org.apache.asterix.lang.common.statement.DatasetDecl;
@@ -170,9 +172,10 @@ public class CreateChannelStatement extends
ExtensionStatement {
fieldNames.add(BADConstants.SubscriptionId);
partitionFields.add(fieldNames);
IDatasetDetailsDecl idd = new InternalDetailsDecl(partitionFields,
keyIndicators, true, null);
+ TypeExpression subItemType = new TypeReferenceExpression(
+ new Pair<>(MetadataConstants.METADATA_DATAVERSE_NAME,
subscriptionsTypeName));
DatasetDecl createSubscriptionsDataset = new
DatasetDecl(dataverseName, new Identifier(subscriptionsTableName),
- MetadataConstants.METADATA_DATAVERSE_NAME,
subscriptionsTypeName, null, null, null,
- new HashMap<String, String>(), DatasetType.INTERNAL, idd,
null, true);
+ subItemType, null, null, new HashMap<>(),
DatasetType.INTERNAL, idd, null, true);
((QueryTranslator)
statementExecutor).handleCreateDatasetStatement(metadataProvider,
createSubscriptionsDataset,
hcc, null);
@@ -184,9 +187,10 @@ public class CreateChannelStatement extends
ExtensionStatement {
fieldNames.add(BADConstants.ResultId);
partitionFields.add(fieldNames);
idd = new InternalDetailsDecl(partitionFields, keyIndicators,
true, null);
+ TypeExpression resultItemType =
+ new TypeReferenceExpression(new
Pair<>(MetadataConstants.METADATA_DATAVERSE_NAME, resultsTypeName));
DatasetDecl createResultsDataset = new DatasetDecl(dataverseName,
new Identifier(resultsTableName),
- MetadataConstants.METADATA_DATAVERSE_NAME,
resultsTypeName, null, null, null, new HashMap<>(),
- DatasetType.INTERNAL, idd, null, true);
+ resultItemType, null, null, new HashMap<>(),
DatasetType.INTERNAL, idd, null, true);
//Create an index on timestamp for results
CreateIndexStatement createTimeIndex = new CreateIndexStatement();
@@ -260,6 +264,11 @@ public class CreateChannelStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return CreateChannelStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestContext, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
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 1862fc0..c76385c 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
@@ -227,6 +227,11 @@ public class CreateProcedureStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return CreateProcedureStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ExecuteProcedureStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ExecuteProcedureStatement.java
index 858cbb2..ca2435e 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ExecuteProcedureStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ExecuteProcedureStatement.java
@@ -96,6 +96,11 @@ public class ExecuteProcedureStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return ExecuteProcedureStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ProcedureDropStatement.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ProcedureDropStatement.java
index 193c0cb..9d5c901 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ProcedureDropStatement.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ProcedureDropStatement.java
@@ -75,6 +75,11 @@ public class ProcedureDropStatement extends
ExtensionStatement {
}
@Override
+ public String getName() {
+ return ProcedureDropStatement.class.getName();
+ }
+
+ @Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
throws HyracksDataException, AlgebricksException {
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/recovery/BADGlobalRecoveryManager.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/recovery/BADGlobalRecoveryManager.java
index fe7e511..b7f316e 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/recovery/BADGlobalRecoveryManager.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/recovery/BADGlobalRecoveryManager.java
@@ -129,7 +129,8 @@ public class BADGlobalRecoveryManager extends
GlobalRecoveryManager {
RequestReference requestReference =
RequestReference.of(UUID.randomUUID().toString(), "CC",
System.currentTimeMillis());
BADJobService.redeployJobSpec(entityId, channel.getChannelBody(),
metadataProvider, badStatementExecutor,
- hcc, new RequestParameters(requestReference, null, null,
null, null, null, null, null, null, true),
+ hcc,
+ new RequestParameters(requestReference, null, null, null,
null, null, null, null, null, null, true),
true);
ScheduledExecutorService ses =
BADJobService.startRepetitiveDeployedJobSpec(listener.getDeployedJobSpecId(),
@@ -160,7 +161,8 @@ public class BADGlobalRecoveryManager extends
GlobalRecoveryManager {
.getSocketChannelFactory(),
appCtx.getCompilerProperties().getFrameSize(), ResultReader.NUM_READERS),
new
ResultProperties(IStatementExecutor.ResultDelivery.IMMEDIATE),
- new IStatementExecutor.Stats(), null, null, null,
null, true),
+ new IStatementExecutor.Stats(), new
IStatementExecutor.StatementProperties(), null, null,
+ null, null, true),
true);
metadataProvider.getLocks().unlock();
//Log that the procedure stopped by cluster restart. Procedure is
available again now.
diff --git a/asterix-bad/src/main/resources/lang-extension/lang.txt
b/asterix-bad/src/main/resources/lang-extension/lang.txt
index 3cc4b7b..59e1a8d 100644
--- a/asterix-bad/src/main/resources/lang-extension/lang.txt
+++ b/asterix-bad/src/main/resources/lang-extension/lang.txt
@@ -120,7 +120,7 @@ CreateProcedureStatement CreateProcedureStatement() throws
ParseException:
{
FunctionName fctName = null;
FunctionSignature signature;
- List<Pair<VarIdentifier,IndexedTypeExpression>> paramList = new
ArrayList<Pair<VarIdentifier,IndexedTypeExpression>>();
+ List<Pair<VarIdentifier,TypeExpression>> paramList = new
ArrayList<Pair<VarIdentifier,TypeExpression>>();
List<Integer> paramIds = new ArrayList<Integer>();
String functionBody;
Token beginPos;
@@ -138,7 +138,7 @@ CreateProcedureStatement CreateProcedureStatement() throws
ParseException:
paramList = FunctionParameters()
<LEFTBRACE>
{
- for (Pair<VarIdentifier,IndexedTypeExpression> param : paramList)
+ for (Pair<VarIdentifier,TypeExpression> param : paramList)
{
VarIdentifier v = new VarIdentifier(param.getFirst().toString());
getCurrentScope().addNewVarSymbolToScope(v);
@@ -157,7 +157,7 @@ CreateProcedureStatement CreateProcedureStatement() throws
ParseException:
("period" period = FunctionCallExpr())?
{
List<VarIdentifier> paramListVariablesOnly = new ArrayList<VarIdentifier>();
- for(Pair<VarIdentifier,IndexedTypeExpression> p: paramList){
+ for(Pair<VarIdentifier,TypeExpression> p: paramList){
paramListVariablesOnly.add(p.first);
}
return new CreateProcedureStatement(signature, paramListVariablesOnly,
paramIds, functionBody, period);
diff --git
a/asterix-bad/src/test/resources/runtimets/results/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.adm
b/asterix-bad/src/test/resources/runtimets/results/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.adm
index 461cc14..c521a49 100644
---
a/asterix-bad/src/test/resources/runtimets/results/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.adm
+++
b/asterix-bad/src/test/resources/runtimets/results/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.adm
@@ -1,6 +1,6 @@
{ "DataverseName": "two", "ProcedureName": "addMe", "Arity": "0", "Params": [
], "Type": "INSERT", "Definition": "use `two`;\ninsert into
channels.UserLocations([\n {\"timeStamp\":current_datetime(),
\"roomNumber\":222}]\n );", "Language": "SQLPP", "Duration": "",
"Dependencies": [ [ [ "channels", "UserLocations" ] ], [ ] ] }
-{ "DataverseName": "two", "ProcedureName": "deleteSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "DELETE", "Definition": "use
`two`;\ndelete from channels.UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
channels.really_contains(roomNumber,\"l\");", "Language": "SQLPP", "Duration":
"", "Dependencies": [ [ [ "channels", "UserLocations" ] ], [ [ "two",
"get_job_param", "1" ], [ "channels", "really_contains", "2" ], [ "t [...]
+{ "DataverseName": "two", "ProcedureName": "deleteSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "DELETE", "Definition": "use
`two`;\ndelete from channels.UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
channels.really_contains(roomNumber,\"l\");", "Language": "SQLPP", "Duration":
"", "Dependencies": [ [ [ "channels", "UserLocations" ] ], [ [ "two",
"get_job_param", "1" ], [ "two", "get_job_param", "1" ], [ "channels [...]
{ "DataverseName": "two", "ProcedureName": "localAddMe", "Arity": "0",
"Params": [ ], "Type": "INSERT", "Definition": "use `two`;\ninsert into
UserLocations([\n {\"timeStamp\":current_datetime(), \"roomNumber\":222}]\n
);", "Language": "SQLPP", "Duration": "", "Dependencies": [ [ [ "two",
"UserLocations" ] ], [ ] ] }
-{ "DataverseName": "two", "ProcedureName": "localDeleteSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "DELETE", "Definition": "use
`two`;\ndelete from UserLocations\nwhere roomNumber = get_job_param(\"r\")\nor
roomNumber = get_job_param(\"otherRoom\")\nand
really_contains(roomNumber,\"l\");", "Language": "SQLPP", "Duration": "",
"Dependencies": [ [ [ "two", "UserLocations" ] ], [ [ "two", "get_job_param",
"1" ], [ "two", "really_contains", "2" ], [ "two", "get_job_param", " [...]
-{ "DataverseName": "two", "ProcedureName": "localSelectSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "QUERY", "Definition": "use
`two`;\nselect roomNumber from UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
really_contains(roomNumber,\"l\")\norder by id;", "Language": "SQLPP",
"Duration": "", "Dependencies": [ [ [ "two", "UserLocations" ] ], [ [ "two",
"get_job_param", "1" ], [ "two", "really_contains", "2" ], [ "t [...]
-{ "DataverseName": "two", "ProcedureName": "selectSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "QUERY", "Definition": "use
`two`;\nselect roomNumber from channels.UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
channels.really_contains(roomNumber,\"l\")\norder by id;", "Language": "SQLPP",
"Duration": "", "Dependencies": [ [ [ "channels", "UserLocations" ] ], [ [
"two", "get_job_param", "1" ], [ "channels", "really [...]
+{ "DataverseName": "two", "ProcedureName": "localDeleteSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "DELETE", "Definition": "use
`two`;\ndelete from UserLocations\nwhere roomNumber = get_job_param(\"r\")\nor
roomNumber = get_job_param(\"otherRoom\")\nand
really_contains(roomNumber,\"l\");", "Language": "SQLPP", "Duration": "",
"Dependencies": [ [ [ "two", "UserLocations" ] ], [ [ "two", "get_job_param",
"1" ], [ "two", "get_job_param", "1" ], [ "two", "really_contains", " [...]
+{ "DataverseName": "two", "ProcedureName": "localSelectSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "QUERY", "Definition": "use
`two`;\nselect roomNumber from UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
really_contains(roomNumber,\"l\")\norder by id;", "Language": "SQLPP",
"Duration": "", "Dependencies": [ [ [ "two", "UserLocations" ] ], [ [ "two",
"get_job_param", "1" ], [ "two", "get_job_param", "1" ], [ "two [...]
+{ "DataverseName": "two", "ProcedureName": "selectSome", "Arity": "2",
"Params": [ "r", "otherRoom" ], "Type": "QUERY", "Definition": "use
`two`;\nselect roomNumber from channels.UserLocations\nwhere roomNumber =
get_job_param(\"r\")\nor roomNumber = get_job_param(\"otherRoom\")\nand
channels.really_contains(roomNumber,\"l\")\norder by id;", "Language": "SQLPP",
"Duration": "", "Dependencies": [ [ [ "channels", "UserLocations" ] ], [ [
"two", "get_job_param", "1" ], [ "two", "get_job_par [...]