Till Westmann has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2712
Change subject: Coordinated change to support parameterized queries
......................................................................
Coordinated change to support parameterized queries
Change-Id: Icce06a1548a4f4150545c1fda7e5be3608472af5
---
M asterix-bad/src/main/java/org/apache/asterix/bad/BADJobService.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADCompilationProvider.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/BrokerDropStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateBrokerStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ExecuteProcedureStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ProcedureDropStatement.java
M
asterix-bad/src/main/java/org/apache/asterix/bad/recovery/BADGlobalRecoveryManager.java
13 files changed, 126 insertions(+), 101 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb-bad
refs/changes/12/2712/1
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/BADJobService.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/BADJobService.java
index 69145d9..a52efeb 100644
--- a/asterix-bad/src/main/java/org/apache/asterix/bad/BADJobService.java
+++ b/asterix-bad/src/main/java/org/apache/asterix/bad/BADJobService.java
@@ -41,6 +41,7 @@
import org.apache.asterix.bad.metadata.DeployedJobSpecEventListener;
import org.apache.asterix.common.dataflow.ICcApplicationContext;
import org.apache.asterix.common.transactions.ITxnIdFactory;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.base.Statement;
import org.apache.asterix.lang.common.statement.Query;
import org.apache.asterix.lang.common.statement.SetStatement;
@@ -48,6 +49,7 @@
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
import org.apache.hyracks.api.client.IHyracksClientConnection;
@@ -108,9 +110,8 @@
public static boolean runDeployedJobSpecCheckPeriod(DeployedJobSpecId
distributedId, IHyracksClientConnection hcc,
Map<byte[], byte[]> jobParameters, long period, EntityId entityId,
ITxnIdFactory txnIdFactory,
DeployedJobSpecEventListener listener) throws Exception {
- long executionMilliseconds =
- runDeployedJobSpec(distributedId, hcc, null, jobParameters,
entityId, txnIdFactory, null, listener,
- null);
+ long executionMilliseconds = runDeployedJobSpec(distributedId, hcc,
null, jobParameters, entityId, txnIdFactory,
+ null, listener, null);
if (executionMilliseconds > period) {
LOGGER.log(Level.SEVERE,
"Periodic job for " + entityId.getExtensionName() + " " +
entityId.getDataverse() + "."
@@ -153,7 +154,6 @@
}
-
public static long findPeriod(String duration) {
//TODO: Allow Repetitive Channels to use YMD durations
String hoursMinutesSeconds = "";
@@ -183,13 +183,15 @@
}
public static JobSpecification compilePushChannel(IStatementExecutor
statementExecutor,
- MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Query q) throws Exception {
+ MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Query q, Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
MetadataTransactionContext mdTxnCtx =
MetadataManager.INSTANCE.beginTransaction();
boolean bActiveTxn = true;
metadataProvider.setMetadataTxnContext(mdTxnCtx);
JobSpecification jobSpec = null;
try {
- jobSpec = ((QueryTranslator)
statementExecutor).rewriteCompileQuery(hcc, metadataProvider, q, null);
+ jobSpec = ((QueryTranslator)
statementExecutor).rewriteCompileQuery(hcc, metadataProvider, q, null,
+ stmtParams, stmtRewriter);
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
bActiveTxn = false;
} catch (Exception e) {
@@ -206,13 +208,13 @@
public static void redeployJobSpec(EntityId entityId, String
queryBodyString, MetadataProvider metadataProvider,
BADStatementExecutor badStatementExecutor,
IHyracksClientConnection hcc,
- IRequestParameters requestParameters, boolean useNewId) throws
Exception {
+ IRequestParameters requestParameters, boolean useNewId,
Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
ICcApplicationContext appCtx =
metadataProvider.getApplicationContext();
ActiveNotificationHandler activeEventHandler =
(ActiveNotificationHandler)
appCtx.getActiveNotificationHandler();
- DeployedJobSpecEventListener listener =
- (DeployedJobSpecEventListener)
activeEventHandler.getListener(entityId);
+ DeployedJobSpecEventListener listener = (DeployedJobSpecEventListener)
activeEventHandler.getListener(entityId);
if (listener == null) {
LOGGER.severe("Tried to redeploy the job for " + entityId + " but
no listener exists.");
return;
@@ -227,10 +229,11 @@
SetStatement ss = (SetStatement) fStatements.get(0);
metadataProvider.getConfig().put(ss.getPropName(),
ss.getPropValue());
if
(listener.getType().equals(DeployedJobSpecEventListener.PrecompiledType.PUSH_CHANNEL))
{
- jobSpec = compilePushChannel(badStatementExecutor,
metadataProvider, hcc, (Query) fStatements.get(1));
+ jobSpec = compilePushChannel(badStatementExecutor,
metadataProvider, hcc, (Query) fStatements.get(1),
+ stmtParams, stmtRewriter);
} else {
jobSpec =
badStatementExecutor.handleInsertUpsertStatement(metadataProvider,
fStatements.get(1), hcc,
- null, null, null, null, true, null);
+ null, null, null, null, true, null, stmtParams,
stmtRewriter);
}
} else {
//Procedures
@@ -243,7 +246,8 @@
metadataProvider.setResultAsyncMode(resultsAsync);
metadataProvider.setMaxResultReads(1);
- jobSpec = compileProcedureJob(badStatementExecutor,
metadataProvider, hcc, hdc, stats, fStatements.get(1));
+ jobSpec = compileProcedureJob(badStatementExecutor,
metadataProvider, hcc, hdc, stats, fStatements.get(1),
+ stmtParams, stmtRewriter);
}
if (useNewId) {
@@ -258,12 +262,13 @@
}
public static JobSpecification compileQueryJob(IStatementExecutor
statementExecutor,
- MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Query q) throws Exception {
+ MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Query q, Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
MetadataTransactionContext mdTxnCtx =
MetadataManager.INSTANCE.beginTransaction();
metadataProvider.setMetadataTxnContext(mdTxnCtx);
JobSpecification jobSpec;
try {
- jobSpec = statementExecutor.rewriteCompileQuery(hcc,
metadataProvider, q, null);
+ jobSpec = statementExecutor.rewriteCompileQuery(hcc,
metadataProvider, q, null, stmtParams, stmtRewriter);
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
} catch (Exception e) {
((QueryTranslator) statementExecutor).abort(e, e, mdTxnCtx);
@@ -274,17 +279,20 @@
private static JobSpecification compileProcedureJob(IStatementExecutor
statementExecutor,
MetadataProvider metadataProvider, IHyracksClientConnection hcc,
IHyracksDataset hdc,
- IStatementExecutor.Stats stats, Statement procedureStatement)
throws Exception {
+ IStatementExecutor.Stats stats, Statement procedureStatement,
Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
if (procedureStatement.getKind() == Statement.Kind.INSERT) {
return ((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(metadataProvider,
- procedureStatement, hcc, hdc,
IStatementExecutor.ResultDelivery.ASYNC, null, stats, true, null);
+ procedureStatement, hcc, hdc,
IStatementExecutor.ResultDelivery.ASYNC, null, stats, true, null,
+ stmtParams, stmtRewriter);
} else if (procedureStatement.getKind() == Statement.Kind.QUERY) {
- return compileQueryJob(statementExecutor, metadataProvider, hcc,
(Query) procedureStatement);
+ return compileQueryJob(statementExecutor, metadataProvider, hcc,
(Query) procedureStatement, stmtParams,
+ stmtRewriter);
} else {
SqlppDeleteRewriteVisitor visitor = new
SqlppDeleteRewriteVisitor();
procedureStatement.accept(visitor, null);
return ((QueryTranslator)
statementExecutor).handleDeleteStatement(metadataProvider, procedureStatement,
- hcc, true);
+ hcc, true, stmtParams, stmtRewriter);
}
}
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADCompilationProvider.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADCompilationProvider.java
index 2a3d4fb..99f0d66 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADCompilationProvider.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADCompilationProvider.java
@@ -18,36 +18,15 @@
*/
package org.apache.asterix.bad.lang;
-import org.apache.asterix.algebra.base.ILangExpressionToPlanTranslatorFactory;
-import org.apache.asterix.compiler.provider.ILangCompilationProvider;
import org.apache.asterix.compiler.provider.IRuleSetFactory;
-import org.apache.asterix.lang.common.base.IAstPrintVisitorFactory;
+import org.apache.asterix.compiler.provider.SqlppCompilationProvider;
import org.apache.asterix.lang.common.base.IParserFactory;
-import org.apache.asterix.lang.common.base.IRewriterFactory;
-import org.apache.asterix.lang.sqlpp.rewrites.SqlppRewriterFactory;
-import org.apache.asterix.lang.sqlpp.visitor.SqlppAstPrintVisitorFactory;
-import org.apache.asterix.translator.SqlppExpressionToPlanTranslatorFactory;
-public class BADCompilationProvider implements ILangCompilationProvider {
+public class BADCompilationProvider extends SqlppCompilationProvider {
@Override
public IParserFactory getParserFactory() {
return new BADParserFactory();
- }
-
- @Override
- public IRewriterFactory getRewriterFactory() {
- return new SqlppRewriterFactory();
- }
-
- @Override
- public IAstPrintVisitorFactory getAstPrintVisitorFactory() {
- return new SqlppAstPrintVisitorFactory();
- }
-
- @Override
- public ILangExpressionToPlanTranslatorFactory
getExpressionToPlanTranslatorFactory() {
- return new SqlppExpressionToPlanTranslatorFactory();
}
@Override
diff --git
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
index 2f23a9c..e11c6da 100644
---
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
+++
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.ExecutorService;
import org.apache.asterix.app.active.ActiveNotificationHandler;
@@ -37,6 +38,7 @@
import org.apache.asterix.common.exceptions.CompilationException;
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.compiler.provider.ILangCompilationProvider;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.base.Statement;
import org.apache.asterix.lang.common.statement.CreateIndexStatement;
import org.apache.asterix.lang.common.statement.DataverseDropStatement;
@@ -49,6 +51,7 @@
import org.apache.asterix.metadata.declared.MetadataProvider;
import org.apache.asterix.metadata.entities.Dataverse;
import org.apache.asterix.metadata.entities.Function;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.SessionOutput;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -183,7 +186,8 @@
@Override
public void handleCreateIndexStatement(MetadataProvider metadataProvider,
Statement stmt,
- IHyracksClientConnection hcc, IRequestParameters
requestParameters) throws Exception {
+ IHyracksClientConnection hcc, IRequestParameters
requestParameters, Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
MetadataTransactionContext mdTxnCtx =
MetadataManager.INSTANCE.beginTransaction();
metadataProvider.setMetadataTxnContext(mdTxnCtx);
@@ -235,21 +239,20 @@
metadataProvider.getLocks().unlock();
metadataProvider = new MetadataProvider(appCtx, activeDataverse);
- super.handleCreateIndexStatement(metadataProvider, stmt, hcc,
requestParameters);
+ super.handleCreateIndexStatement(metadataProvider, stmt, hcc,
requestParameters, stmtParams, stmtRewriter);
for (Channel channel : usages.first) {
metadataProvider = new MetadataProvider(appCtx, activeDataverse);
BADJobService.redeployJobSpec(channel.getChannelId(),
channel.getChannelBody(), metadataProvider, this, hcc,
- requestParameters, false);
+ requestParameters, false, stmtParams, stmtRewriter);
metadataProvider.getLocks().unlock();
}
for (Procedure procedure : usages.second) {
metadataProvider = new MetadataProvider(appCtx, activeDataverse);
BADJobService.redeployJobSpec(procedure.getEntityId(),
procedure.getBody(), metadataProvider, this, hcc,
- requestParameters, false);
+ requestParameters, false, stmtParams, stmtRewriter);
metadataProvider.getLocks().unlock();
}
-
}
@@ -334,7 +337,7 @@
}
}
}
- final IRequestParameters requestParameters = new
RequestParameters(null, null, null, null, null, null);
+ final IRequestParameters requestParameters = new
RequestParameters(null, null, null, null, null, null, null);
for (Channel channel : channels) {
if
(!channel.getChannelId().getDataverse().equals(dvId.getValue())) {
continue;
@@ -342,7 +345,7 @@
tempMdProvider.getLocks().reset();
ChannelDropStatement drop =
new ChannelDropStatement(dvId, new
Identifier(channel.getChannelId().getEntityName()), false);
- drop.handle(hcc, this, requestParameters, tempMdProvider, 0);
+ drop.handle(hcc, this, requestParameters, tempMdProvider, 0, null,
null);
}
for (Procedure procedure : procedures) {
if
(!procedure.getEntityId().getDataverse().equals(dvId.getValue())) {
@@ -351,13 +354,13 @@
tempMdProvider.getLocks().reset();
ProcedureDropStatement drop = new ProcedureDropStatement(new
FunctionSignature(dvId.getValue(),
procedure.getEntityId().getEntityName(),
procedure.getArity()), false);
- drop.handle(hcc, this, requestParameters, tempMdProvider, 0);
+ drop.handle(hcc, this, requestParameters, tempMdProvider, 0, null,
null);
}
List<Broker> brokers = BADLangExtension.getBrokers(mdTxnCtx,
dvId.getValue());
for (Broker broker : brokers) {
tempMdProvider.getLocks().reset();
BrokerDropStatement drop = new BrokerDropStatement(dvId, new
Identifier(broker.getBrokerName()), false);
- drop.handle(hcc, this, requestParameters, tempMdProvider, 0);
+ drop.handle(hcc, this, requestParameters, tempMdProvider, 0, null,
null);
}
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
super.handleDataverseDropStatement(metadataProvider, stmt, hcc);
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 4f68f40..b67c81e 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
@@ -18,16 +18,20 @@
*/
package org.apache.asterix.bad.lang.statement;
+import java.util.Map;
+
import org.apache.asterix.algebra.extension.ExtensionStatement;
import org.apache.asterix.app.translator.QueryTranslator;
import org.apache.asterix.bad.lang.BADLangExtension;
import org.apache.asterix.bad.metadata.Broker;
import org.apache.asterix.common.exceptions.CompilationException;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -70,7 +74,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
//TODO: dont drop a broker that's being used
String dataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(dataverseName);
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 8403fcc..9b51418 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
@@ -18,6 +18,7 @@
*/
package org.apache.asterix.bad.lang.statement;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -32,12 +33,14 @@
import org.apache.asterix.bad.metadata.DeployedJobSpecEventListener;
import org.apache.asterix.common.dataflow.ICcApplicationContext;
import org.apache.asterix.common.exceptions.CompilationException;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.statement.DropDatasetStatement;
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -82,7 +85,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
String dataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(dataverseName);
boolean txnActive = false;
@@ -111,9 +115,8 @@
if (listener == null) {
//TODO: Channels need to better handle cluster failures
LOGGER.log(Level.SEVERE,
- "Tried to drop a Deployed Job whose listener no
longer exists: "
- + entityId.getExtensionName() + " " +
entityId.getDataverse() + "."
- + entityId.getEntityName() + ".");
+ "Tried to drop a Deployed Job whose listener no
longer exists: " + entityId.getExtensionName()
+ + " " + entityId.getDataverse() + "." +
entityId.getEntityName() + ".");
} else {
listener.getExecutorService().shutdown();
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 ca1241c..15dba47 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
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.apache.asterix.algebra.extension.ExtensionStatement;
import org.apache.asterix.app.translator.QueryTranslator;
@@ -31,6 +32,7 @@
import org.apache.asterix.common.exceptions.CompilationException;
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.lang.common.base.Expression;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.expression.CallExpr;
import org.apache.asterix.lang.common.expression.FieldAccessor;
import org.apache.asterix.lang.common.expression.FieldBinding;
@@ -47,6 +49,7 @@
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
@@ -120,7 +123,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
String dataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(dataverseName);
String brokerDataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(brokerDataverseName);
@@ -207,13 +211,13 @@
InsertStatement insert = new InsertStatement(new
Identifier(dataverse),
new Identifier(subscriptionsDatasetName),
subscriptionTuple, varCounter, resultVar, accessor);
((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(tempMdProvider, insert, hcc, hdc,
- resultDelivery, null, stats, false, null);
+ resultDelivery, null, stats, false, null, stmtParams,
stmtRewriter);
} else {
//To update an existing subscription
UpsertStatement upsert = new UpsertStatement(new
Identifier(dataverse),
new Identifier(subscriptionsDatasetName),
subscriptionTuple, varCounter, null, null);
((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(tempMdProvider, upsert, hcc, hdc,
- resultDelivery, null, stats, false, null);
+ resultDelivery, null, stats, false, null, stmtParams,
stmtRewriter);
}
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
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 1b18f83..315ed1d 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
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.apache.asterix.algebra.extension.ExtensionStatement;
import org.apache.asterix.app.translator.QueryTranslator;
@@ -30,6 +31,7 @@
import org.apache.asterix.common.exceptions.CompilationException;
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.lang.common.base.Expression;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.expression.CallExpr;
import org.apache.asterix.lang.common.expression.FieldAccessor;
import org.apache.asterix.lang.common.expression.LiteralExpr;
@@ -43,6 +45,7 @@
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
@@ -100,7 +103,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
String dataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(dataverseName);
@@ -139,7 +143,8 @@
MetadataProvider tempMdProvider = new
MetadataProvider(metadataProvider.getApplicationContext(),
metadataProvider.getDefaultDataverse());
tempMdProvider.getConfig().putAll(metadataProvider.getConfig());
- ((QueryTranslator)
statementExecutor).handleDeleteStatement(tempMdProvider, delete, hcc, false);
+ ((QueryTranslator)
statementExecutor).handleDeleteStatement(tempMdProvider, delete, hcc, false,
stmtParams,
+ stmtRewriter);
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
} catch (Exception e) {
QueryTranslator.abort(e, e, mdTxnCtx);
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 367599b..bb21a98 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
@@ -18,6 +18,7 @@
*/
package org.apache.asterix.bad.lang.statement;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -26,11 +27,13 @@
import org.apache.asterix.bad.lang.BADLangExtension;
import org.apache.asterix.bad.metadata.Broker;
import org.apache.asterix.common.exceptions.CompilationException;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -74,7 +77,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
String dataverse = ((QueryTranslator)
statementExecutor).getActiveDataverse(dataverseName);
MetadataTransactionContext mdTxnCtx = null;
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 204e8aa..c0f0141 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
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -46,6 +47,7 @@
import org.apache.asterix.common.exceptions.MetadataException;
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.lang.common.base.Expression;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.base.Statement;
import org.apache.asterix.lang.common.expression.CallExpr;
import org.apache.asterix.lang.common.expression.IndexedTypeExpression;
@@ -63,6 +65,7 @@
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
import org.apache.asterix.metadata.entities.Function;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.om.base.temporal.ADurationParserFactory;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
@@ -138,8 +141,7 @@
return null;
}
- public void initialize(MetadataTransactionContext mdTxnCtx)
- throws AlgebricksException, HyracksDataException {
+ public void initialize(MetadataTransactionContext mdTxnCtx) throws
AlgebricksException, HyracksDataException {
Function lookup = MetadataManager.INSTANCE.getFunction(mdTxnCtx,
function);
if (lookup == null) {
throw new MetadataException(" Unknown function " +
function.getName());
@@ -157,7 +159,8 @@
}
private void createDatasets(IStatementExecutor statementExecutor,
MetadataProvider metadataProvider,
- IHyracksClientConnection hcc) throws AsterixException, Exception {
+ IHyracksClientConnection hcc, Map<String, IAObject> stmtParams,
IStatementRewriter stmtRewriter)
+ throws AsterixException, Exception {
Identifier subscriptionsTypeName = new
Identifier(BADConstants.ChannelSubscriptionsType);
Identifier resultsTypeName = new
Identifier(BADConstants.ChannelResultsType);
@@ -208,14 +211,15 @@
//Create a time index for the results
((QueryTranslator)
statementExecutor).handleCreateIndexStatement(metadataProvider,
createTimeIndex, hcc,
- null);
+ null, stmtParams, stmtRewriter);
}
}
private JobSpecification createChannelJob(IStatementExecutor
statementExecutor, MetadataProvider metadataProvider,
- IHyracksClientConnection hcc, IHyracksDataset hdc, Stats stats)
throws Exception {
+ IHyracksClientConnection hcc, IHyracksDataset hdc, Stats stats,
Map<String, IAObject> stmtParams,
+ IStatementRewriter stmtRewriter) throws Exception {
StringBuilder builder = new StringBuilder();
builder.append("SET inline_with \"false\";\n");
if (!push) {
@@ -250,15 +254,16 @@
metadataProvider.getConfig().put(ss.getPropName(), ss.getPropValue());
if (push) {
return BADJobService.compilePushChannel(statementExecutor,
metadataProvider, hcc,
- (Query) fStatements.get(1));
+ (Query) fStatements.get(1), stmtParams, stmtRewriter);
}
return ((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(metadataProvider,
fStatements.get(1),
- hcc, hdc, ResultDelivery.ASYNC, null, stats, true, null);
+ hcc, hdc, ResultDelivery.ASYNC, null, stats, true, null,
stmtParams, stmtRewriter);
}
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestContext, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestContext, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
//This function performs three tasks:
//1. Create datasets for the Channel
@@ -309,10 +314,11 @@
final IHyracksDataset hdc = requestContext.getHyracksDataset();
final Stats stats = requestContext.getStats();
//Create Channel Datasets
- createDatasets(statementExecutor, tempMdProvider, hcc);
+ createDatasets(statementExecutor, tempMdProvider, hcc, stmtParams,
stmtRewriter);
tempMdProvider.getLocks().reset();
//Create Channel Internal Job
- JobSpecification channeljobSpec =
createChannelJob(statementExecutor, tempMdProvider, hcc, hdc, stats);
+ JobSpecification channeljobSpec =
+ createChannelJob(statementExecutor, tempMdProvider, hcc,
hdc, stats, stmtParams, stmtRewriter);
// Now we subscribe
if (listener == null) {
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 be5bedb..ce4b016 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
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
@@ -46,6 +47,7 @@
import org.apache.asterix.common.exceptions.MetadataException;
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.lang.common.base.Expression;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.base.Statement;
import org.apache.asterix.lang.common.expression.CallExpr;
import org.apache.asterix.lang.common.expression.LiteralExpr;
@@ -64,6 +66,7 @@
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
import org.apache.asterix.metadata.entities.Function;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.om.base.temporal.ADurationParserFactory;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
@@ -175,8 +178,8 @@
}
private Pair<JobSpecification, PrecompiledType>
createProcedureJob(IStatementExecutor statementExecutor,
- MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Stats stats)
- throws Exception {
+ MetadataProvider metadataProvider, IHyracksClientConnection hcc,
Stats stats,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws Exception {
if (getProcedureBodyStatement().getKind() == Statement.Kind.INSERT) {
if (!varList.isEmpty()) {
throw new CompilationException("Insert procedures cannot have
parameters");
@@ -185,17 +188,18 @@
dependencies.get(0).add(Arrays.asList(
((QueryTranslator)
statementExecutor).getActiveDataverse(insertStatement.getDataverseName()),
insertStatement.getDatasetName().getValue()));
- return new Pair<>(
- ((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(metadataProvider,
- getProcedureBodyStatement(), hcc, null,
ResultDelivery.ASYNC, null, stats, true, null),
- PrecompiledType.INSERT);
+ return new Pair<>(((QueryTranslator)
statementExecutor).handleInsertUpsertStatement(metadataProvider,
+ getProcedureBodyStatement(), hcc, null,
ResultDelivery.ASYNC, null, stats, true, null, stmtParams,
+ stmtRewriter), PrecompiledType.INSERT);
} else if (getProcedureBodyStatement().getKind() ==
Statement.Kind.QUERY) {
SqlppRewriterFactory fact = new SqlppRewriterFactory();
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);
+ Pair<JobSpecification, PrecompiledType> pair =
+ new Pair<>(
+ BADJobService.compileQueryJob(statementExecutor,
metadataProvider, hcc,
+ (Query) getProcedureBodyStatement(),
stmtParams, stmtRewriter),
+ PrecompiledType.QUERY);
dependencies.get(0).addAll(FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
((Query) getProcedureBodyStatement()).getBody(),
metadataProvider).get(0));
return pair;
@@ -208,8 +212,10 @@
dependencies =
FunctionUtil.getFunctionDependencies(fact.createQueryRewriter(),
delete.getQuery().getBody(),
metadataProvider);
Pair<JobSpecification, PrecompiledType> pair =
- new Pair<>(((QueryTranslator)
statementExecutor).handleDeleteStatement(metadataProvider,
- getProcedureBodyStatement(), hcc, true),
PrecompiledType.DELETE);
+ new Pair<>(
+ ((QueryTranslator)
statementExecutor).handleDeleteStatement(metadataProvider,
+ getProcedureBodyStatement(), hcc, true,
stmtParams, stmtRewriter),
+ PrecompiledType.DELETE);
return pair;
} else {
throw new CompilationException("Procedure can only execute a
single delete, insert, or query");
@@ -217,8 +223,7 @@
}
private void setupDeployedJobSpec(EntityId entityId, JobSpecification
jobSpec, IHyracksClientConnection hcc,
- DeployedJobSpecEventListener listener, ResultSetId resultSetId,
Stats stats)
- throws Exception {
+ DeployedJobSpecEventListener listener, ResultSetId resultSetId,
Stats stats) throws Exception {
jobSpec.setProperty(ActiveNotificationHandler.ACTIVE_ENTITY_PROPERTY_NAME,
entityId);
DeployedJobSpecId deployedJobSpecId = hcc.deployJobSpec(jobSpec);
listener.setDeployedJobSpecId(deployedJobSpecId);
@@ -226,7 +231,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
ICcApplicationContext appCtx =
metadataProvider.getApplicationContext();
ActiveNotificationHandler activeEventHandler =
@@ -260,7 +266,7 @@
metadataProvider.setMaxResultReads(1);
//Create Procedure Internal Job
Pair<JobSpecification, PrecompiledType> procedureJobSpec =
- createProcedureJob(statementExecutor, metadataProvider,
hcc, stats);
+ createProcedureJob(statementExecutor, metadataProvider,
hcc, stats, stmtParams, stmtRewriter);
// Now we subscribe
if (listener == null) {
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 b794538..aeecdc7 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
@@ -39,6 +39,7 @@
import org.apache.asterix.common.exceptions.ErrorCode;
import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider;
import org.apache.asterix.lang.common.base.Expression;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.expression.LiteralExpr;
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
@@ -96,7 +97,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
ICcApplicationContext appCtx =
metadataProvider.getApplicationContext();
ActiveNotificationHandler activeEventHandler =
@@ -119,9 +121,8 @@
DeployedJobSpecId deployedJobSpecId =
listener.getDeployedJobSpecId();
if (procedure.getDuration().equals("")) {
BADJobService.runDeployedJobSpec(deployedJobSpecId, hcc,
requestParameters.getHyracksDataset(),
- contextRuntimeVarMap, entityId,
- metadataProvider.getTxnIdFactory(), appCtx, listener,
(QueryTranslator) statementExecutor);
-
+ contextRuntimeVarMap, entityId,
metadataProvider.getTxnIdFactory(), appCtx, listener,
+ (QueryTranslator) statementExecutor);
} else {
ScheduledExecutorService ses =
BADJobService.startRepetitiveDeployedJobSpec(deployedJobSpecId, hcc,
@@ -142,8 +143,7 @@
}
}
- private Map<byte[], byte[]> createParameterMap(Procedure procedure)
- throws AsterixException, HyracksDataException {
+ private Map<byte[], byte[]> createParameterMap(Procedure procedure) throws
AsterixException, HyracksDataException {
Map<byte[], byte[]> map = new HashMap<>();
if (procedure.getParams().size() != argList.size()) {
throw
AsterixException.create(ErrorCode.COMPILATION_INVALID_PARAMETER_NUMBER,
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 95531bd..461e0d8 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
@@ -18,6 +18,7 @@
*/
package org.apache.asterix.bad.lang.statement;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -33,11 +34,13 @@
import org.apache.asterix.common.dataflow.ICcApplicationContext;
import org.apache.asterix.common.exceptions.CompilationException;
import org.apache.asterix.common.functions.FunctionSignature;
+import org.apache.asterix.lang.common.base.IStatementRewriter;
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
import org.apache.asterix.metadata.MetadataManager;
import org.apache.asterix.metadata.MetadataTransactionContext;
import org.apache.asterix.metadata.declared.MetadataProvider;
+import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.translator.IRequestParameters;
import org.apache.asterix.translator.IStatementExecutor;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -76,7 +79,8 @@
@Override
public void handle(IHyracksClientConnection hcc, IStatementExecutor
statementExecutor,
- IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId)
+ IRequestParameters requestParameters, MetadataProvider
metadataProvider, int resultSetId,
+ Map<String, IAObject> stmtParams, IStatementRewriter stmtRewriter)
throws HyracksDataException, AlgebricksException {
ICcApplicationContext appCtx =
metadataProvider.getApplicationContext();
ActiveNotificationHandler activeEventHandler =
@@ -115,9 +119,8 @@
if (listener == null) {
//TODO: Channels need to better handle cluster failures
LOGGER.log(Level.SEVERE,
- "Tried to drop a Deployed Job whose listener no
longer exists: "
- + entityId.getExtensionName() + " " +
entityId.getDataverse() + "."
- + entityId.getEntityName() + ".");
+ "Tried to drop a Deployed Job whose listener no
longer exists: " + entityId.getExtensionName()
+ + " " + entityId.getDataverse() + "." +
entityId.getEntityName() + ".");
} else {
if (listener.getExecutorService() != null) {
listener.getExecutorService().shutdown();
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 d34d170..6c49f1f 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
@@ -122,11 +122,10 @@
listener.suspend();
activeEventHandler.registerListener(listener);
BADJobService.redeployJobSpec(entityId, channel.getChannelBody(),
metadataProvider, badStatementExecutor,
- hcc, new RequestParameters(null, null, null, null, null,
null), true);
+ hcc, new RequestParameters(null, null, null, null, null,
null, null), true, null, null);
ScheduledExecutorService ses =
BADJobService.startRepetitiveDeployedJobSpec(listener.getDeployedJobSpecId(),
- hcc,
- BADJobService.findPeriod(channel.getDuration()), new
HashMap<>(), entityId,
+ hcc, BADJobService.findPeriod(channel.getDuration()), new
HashMap<>(), entityId,
metadataProvider.getTxnIdFactory(), listener);
listener.setExecutorService(ses);
metadataProvider.getLocks().unlock();
@@ -149,8 +148,8 @@
new HyracksDataset(hcc,
appCtx.getCompilerProperties().getFrameSize(),
ResultReader.NUM_READERS),
new
ResultProperties(IStatementExecutor.ResultDelivery.IMMEDIATE),
- new IStatementExecutor.Stats(), null, null, null),
- true);
+ new IStatementExecutor.Stats(), null, null, null,
null),
+ true, null, null);
metadataProvider.getLocks().unlock();
//Log that the procedure stopped by cluster restart. Procedure is
available again now.
LOGGER.log(Level.SEVERE, entityId.getExtensionName() + " " +
entityId.getDataverse() + "."
--
To view, visit https://asterix-gerrit.ics.uci.edu/2712
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icce06a1548a4f4150545c1fda7e5be3608472af5
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: Till Westmann <[email protected]>