[ASTERIXDB-3152][RT] Return empty meta if not requested
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
Return empty meta instead of ignoring it entirely
Change-Id: I21557bd361a54a624c31536daf962b970b6cbfe3
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17446
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Wail Alkowaileet <wael.y.k@gmail.com>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjectorFactory.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjectorFactory.java
index 7daa877..0acad67 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjectorFactory.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjectorFactory.java
@@ -22,7 +22,6 @@
import org.apache.asterix.column.values.reader.filter.IColumnFilterEvaluatorFactory;
import org.apache.asterix.om.types.ARecordType;
-import org.apache.asterix.runtime.projection.DataProjectionFiltrationInfo;
import org.apache.asterix.runtime.projection.FunctionCallInformation;
import org.apache.hyracks.api.context.IHyracksTaskContext;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -58,16 +57,12 @@
@Override
public ITupleProjector createTupleProjector(IHyracksTaskContext context) throws HyracksDataException {
IWarningCollector warningCollector = context.getWarningCollector();
- if (requestedMetaType == null
- || DataProjectionFiltrationInfo.EMPTY_TYPE.getTypeName().equals(requestedMetaType.getTypeName())) {
- /*
- * Either the dataset does not contain meta record or none of the meta columns were requested. Thus,
- * ignore reading the meta columns (if exist)
- */
+ if (requestedMetaType == null) {
+ // The dataset does not contain a meta part
return new QueryColumnTupleProjector(datasetType, numberOfPrimaryKeys, requestedType, functionCallInfo,
filterEvaluator, warningCollector);
}
- //The query requested some or all of the meta columns
+ // The dataset has a meta part
return new QueryColumnWithMetaTupleProjector(datasetType, metaType, numberOfPrimaryKeys, requestedType,
functionCallInfo, requestedMetaType, metaFunctionCallInfo, filterEvaluator, warningCollector);
}