Class RawDataQueryPlan
- java.lang.Object
-
- org.apache.iotdb.db.qp.physical.PhysicalPlan
-
- org.apache.iotdb.db.qp.physical.crud.QueryPlan
-
- org.apache.iotdb.db.qp.physical.crud.RawDataQueryPlan
-
- All Implemented Interfaces:
org.apache.iotdb.consensus.common.request.IConsensusRequest
- Direct Known Subclasses:
AggregationPlan,FillQueryPlan,LastQueryPlan,QueryIndexPlan,UDTFPlan
public class RawDataQueryPlan extends QueryPlan
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.iotdb.db.qp.physical.PhysicalPlan
PhysicalPlan.Factory, PhysicalPlan.PhysicalPlanType
-
-
Field Summary
-
Fields inherited from class org.apache.iotdb.db.qp.physical.crud.QueryPlan
paths, resultColumns, WITHOUT_NULL_FILTER_ERROR_MESSAGE, withoutNullColumnsIndex
-
Fields inherited from class org.apache.iotdb.db.qp.physical.PhysicalPlan
canBeSplit, index
-
-
Constructor Summary
Constructors Constructor Description RawDataQueryPlan()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDeduplicatedPaths(org.apache.iotdb.commons.path.PartialPath path)voidaddFilterPathInDeviceToMeasurements(org.apache.iotdb.tsfile.read.common.Path path)voidconvertSpecialClauseValues(SpecialClauseComponent specialClauseComponent)voiddeduplicate(PhysicalGenerator physicalGenerator)java.util.Set<java.lang.String>getAllMeasurementsInDevice(java.lang.String device)java.util.List<org.apache.iotdb.tsfile.file.metadata.enums.TSDataType>getDeduplicatedDataTypes()java.util.List<org.apache.iotdb.commons.path.PartialPath>getDeduplicatedPaths()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getDeviceToMeasurements()org.apache.iotdb.tsfile.read.expression.IExpressiongetExpression()voidgroupVectorPaths(PhysicalGenerator physicalGenerator)Group all the subSensors of one vector into one VectorPartialPath save the grouped VectorPartialPath in deduplicatedVectorPaths instead of putting them directly into deduplicatedPaths, because we don't know whether the raw query has value filter here.voidsetDeduplicatedPaths(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedPaths)voidsetDeduplicatedPathsAndUpdate(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedPaths)used for AlignByDevice Query, the query is executed by each device, So we only maintain measurements of current device.voidsetDeduplicatedVectorPaths(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedVectorPaths)voidsetExpression(org.apache.iotdb.tsfile.read.expression.IExpression expression)voidtransformToVector()RawQueryWithoutValueFilter should call this method to use grouped vector partial path to replace the previous deduplicatedPathsvoidupdateDeviceMeasurementsUsingExpression(org.apache.iotdb.tsfile.read.expression.IExpression expression)-
Methods inherited from class org.apache.iotdb.db.qp.physical.crud.QueryPlan
getColumnForDisplay, getColumnForReaderFromPath, getDataTypes, getPaths, getPathToIndex, getResultColumns, getRowLimit, getRowOffset, getTSExecuteStatementResp, getWideQueryHeaders, getWithoutNullColumnsIndex, hasLimit, isAlignByTime, isAscending, isEnableRedirect, isEnableTracing, isGroupByLevel, isWithoutAllNull, isWithoutAnyNull, setAlignByTime, setAscending, setColumnNameToDatasetOutputIndex, setEnableRedirect, setEnableTracing, setPaths, setResultColumns, setRowLimit, setRowOffset, setWithoutAllNull, setWithoutAnyNull
-
Methods inherited from class org.apache.iotdb.db.qp.physical.PhysicalPlan
canBeSplit, checkIntegrity, deserialize, deserialize, getAggregations, getAuthPaths, getIndex, getLoginUserName, getOperatorName, getOperatorType, isAuthenticationRequired, isDebug, isPrefixMatch, isQuery, isSelectInto, putString, putString, putStrings, putStrings, readString, readStrings, serialize, serialize, serializeImpl, serializeToByteBuffer, setDebug, setIndex, setLoginUserName, setOperatorType, setPrefixMatch, setQuery
-
-
-
-
Method Detail
-
deduplicate
public void deduplicate(PhysicalGenerator physicalGenerator) throws org.apache.iotdb.commons.exception.MetadataException
- Specified by:
deduplicatein classQueryPlan- Throws:
org.apache.iotdb.commons.exception.MetadataException
-
convertSpecialClauseValues
public void convertSpecialClauseValues(SpecialClauseComponent specialClauseComponent) throws QueryProcessException
- Specified by:
convertSpecialClauseValuesin classQueryPlan- Throws:
QueryProcessException
-
getExpression
public org.apache.iotdb.tsfile.read.expression.IExpression getExpression()
-
setExpression
public void setExpression(org.apache.iotdb.tsfile.read.expression.IExpression expression) throws QueryProcessException- Throws:
QueryProcessException
-
updateDeviceMeasurementsUsingExpression
public void updateDeviceMeasurementsUsingExpression(org.apache.iotdb.tsfile.read.expression.IExpression expression)
-
getDeduplicatedPaths
public java.util.List<org.apache.iotdb.commons.path.PartialPath> getDeduplicatedPaths()
-
addDeduplicatedPaths
public void addDeduplicatedPaths(org.apache.iotdb.commons.path.PartialPath path)
-
getDeduplicatedDataTypes
public java.util.List<org.apache.iotdb.tsfile.file.metadata.enums.TSDataType> getDeduplicatedDataTypes()
-
setDeduplicatedPathsAndUpdate
public void setDeduplicatedPathsAndUpdate(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedPaths)
used for AlignByDevice Query, the query is executed by each device, So we only maintain measurements of current device.
-
setDeduplicatedPaths
public void setDeduplicatedPaths(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedPaths)
-
getAllMeasurementsInDevice
public java.util.Set<java.lang.String> getAllMeasurementsInDevice(java.lang.String device)
-
addFilterPathInDeviceToMeasurements
public void addFilterPathInDeviceToMeasurements(org.apache.iotdb.tsfile.read.common.Path path)
-
getDeviceToMeasurements
public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getDeviceToMeasurements()
-
groupVectorPaths
public void groupVectorPaths(PhysicalGenerator physicalGenerator) throws org.apache.iotdb.commons.exception.MetadataException
Group all the subSensors of one vector into one VectorPartialPath save the grouped VectorPartialPath in deduplicatedVectorPaths instead of putting them directly into deduplicatedPaths, because we don't know whether the raw query has value filter here.- Throws:
org.apache.iotdb.commons.exception.MetadataException
-
setDeduplicatedVectorPaths
public void setDeduplicatedVectorPaths(java.util.List<org.apache.iotdb.commons.path.PartialPath> deduplicatedVectorPaths)
-
transformToVector
public void transformToVector()
RawQueryWithoutValueFilter should call this method to use grouped vector partial path to replace the previous deduplicatedPaths
-
-