Class RawDataQueryExecutor
- java.lang.Object
-
- org.apache.iotdb.db.query.executor.RawDataQueryExecutor
-
- Direct Known Subclasses:
UDFQueryExecutor
public class RawDataQueryExecutor extends java.lang.ObjectIoTDB query executor.
-
-
Field Summary
Fields Modifier and Type Field Description protected RawDataQueryPlanqueryPlan
-
Constructor Summary
Constructors Constructor Description RawDataQueryExecutor(RawDataQueryPlan queryPlan)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.iotdb.tsfile.read.query.dataset.QueryDataSetexecuteNonAlign(QueryContext context)org.apache.iotdb.tsfile.read.query.dataset.QueryDataSetexecuteWithoutValueFilter(QueryContext context)without filter or with global time filter.org.apache.iotdb.tsfile.read.query.dataset.QueryDataSetexecuteWithValueFilter(QueryContext context)executeWithValueFilter query.protected IReaderByTimestampgetReaderByTimestamp(org.apache.iotdb.commons.path.PartialPath path, java.util.Set<java.lang.String> allSensors, org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType, QueryContext context)protected org.apache.iotdb.tsfile.read.query.timegenerator.TimeGeneratorgetTimeGenerator(QueryContext context, RawDataQueryPlan queryPlan)protected java.util.List<ManagedSeriesReader>initManagedSeriesReader(QueryContext context)protected org.apache.iotdb.tsfile.utils.Pair<java.util.List<IReaderByTimestamp>,java.util.List<java.util.List<java.lang.Integer>>>initSeriesReaderByTimestamp(QueryContext context, RawDataQueryPlan queryPlan, java.util.List<java.lang.Boolean> cached, org.apache.iotdb.tsfile.read.filter.basic.Filter timeFilter)init IReaderByTimestamp for each not cached PartialPath, if it's already been cached, the corresponding IReaderByTimestamp will be null group these not cached PartialPath to one AlignedPath if they belong to same aligned deviceprotected org.apache.iotdb.tsfile.read.query.dataset.QueryDataSetneedRedirect(QueryContext context, boolean hasValueFilter)Check whether need to redirect query to other node.
-
-
-
Field Detail
-
queryPlan
protected RawDataQueryPlan queryPlan
-
-
Constructor Detail
-
RawDataQueryExecutor
public RawDataQueryExecutor(RawDataQueryPlan queryPlan)
-
-
Method Detail
-
executeWithoutValueFilter
public org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet executeWithoutValueFilter(QueryContext context) throws StorageEngineException, QueryProcessException
without filter or with global time filter.
-
executeNonAlign
public final org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet executeNonAlign(QueryContext context) throws StorageEngineException, QueryProcessException
-
initManagedSeriesReader
protected java.util.List<ManagedSeriesReader> initManagedSeriesReader(QueryContext context) throws StorageEngineException, QueryProcessException
-
executeWithValueFilter
public final org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet executeWithValueFilter(QueryContext context) throws StorageEngineException, QueryProcessException
executeWithValueFilter query.- Returns:
- QueryDataSet object
- Throws:
StorageEngineException- StorageEngineExceptionQueryProcessException
-
initSeriesReaderByTimestamp
protected org.apache.iotdb.tsfile.utils.Pair<java.util.List<IReaderByTimestamp>,java.util.List<java.util.List<java.lang.Integer>>> initSeriesReaderByTimestamp(QueryContext context, RawDataQueryPlan queryPlan, java.util.List<java.lang.Boolean> cached, org.apache.iotdb.tsfile.read.filter.basic.Filter timeFilter) throws QueryProcessException, StorageEngineException
init IReaderByTimestamp for each not cached PartialPath, if it's already been cached, the corresponding IReaderByTimestamp will be null group these not cached PartialPath to one AlignedPath if they belong to same aligned device- Returns:
- List
if it's already been cached, the corresponding IReaderByTimestamp will be null List - > IReaderByTimestamp's corresponding
index list to the result RowRecord.
- Throws:
QueryProcessExceptionStorageEngineException
-
getReaderByTimestamp
protected IReaderByTimestamp getReaderByTimestamp(org.apache.iotdb.commons.path.PartialPath path, java.util.Set<java.lang.String> allSensors, org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType, QueryContext context) throws StorageEngineException, QueryProcessException
-
getTimeGenerator
protected org.apache.iotdb.tsfile.read.query.timegenerator.TimeGenerator getTimeGenerator(QueryContext context, RawDataQueryPlan queryPlan) throws StorageEngineException
- Throws:
StorageEngineException
-
needRedirect
protected org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet needRedirect(QueryContext context, boolean hasValueFilter) throws StorageEngineException, QueryProcessException
Check whether need to redirect query to other node.- Parameters:
context- query contexthasValueFilter- if has value filter, we need to check timegenerator- Returns:
- dummyDataSet to avoid more cost, if null, no need
- Throws:
StorageEngineExceptionQueryProcessException
-
-