Make the query mode available to the result distribution operator.
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java b/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
index 1cdac57..655d249 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
@@ -275,6 +275,7 @@
case QUERY: {
metadataProvider.setResultSetId(new ResultSetId(resultSetIdCounter++));
+ metadataProvider.setResultAsyncMode(asyncResults);
executionResult.add(handleQuery(metadataProvider, (Query) stmt, hcc, hdc, asyncResults));
break;
}
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
index 3993719..51ab213 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
@@ -153,6 +153,7 @@
private Map<String, String> config;
private IAWriterFactory writerFactory;
private FileSplit outputFile;
+ private boolean asyncResults;
private ResultSetId resultSetId;
private IResultSerializerFactoryProvider resultSerializerFactoryProvider;
@@ -236,6 +237,14 @@
this.outputFile = outputFile;
}
+ public boolean getResultAsyncMode() {
+ return asyncResults;
+ }
+
+ public void setResultAsyncMode(boolean asyncResults) {
+ this.asyncResults = asyncResults;
+ }
+
public ResultSetId getResultSetId() {
return resultSetId;
}
@@ -673,7 +682,8 @@
try {
IResultSerializerFactory resultSerializedAppenderFactory = resultSerializerFactoryProvider
.getAqlResultSerializerFactoryProvider(printColumns, printerFactories, getWriterFactory());
- resultWriter = new ResultWriterOperatorDescriptor(spec, rsId, ordered, resultSerializedAppenderFactory);
+ resultWriter = new ResultWriterOperatorDescriptor(spec, rsId, ordered, getResultAsyncMode(),
+ resultSerializedAppenderFactory);
} catch (IOException e) {
throw new AlgebricksException(e);
}