Skip to content

Commit 80b0348

Browse files
committed
simplify CteScanOperator
1 parent ef491b7 commit 80b0348

File tree

1 file changed

+18
-12
lines changed
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational

1 file changed

+18
-12
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/CteScanOperator.java

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import org.apache.iotdb.commons.utils.TestOnly;
2525
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
2626
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
27-
import org.apache.iotdb.db.queryengine.execution.operator.source.AbstractSourceOperator;
27+
import org.apache.iotdb.db.queryengine.execution.operator.source.SourceOperator;
2828
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
2929
import org.apache.iotdb.db.utils.cte.CteDataReader;
3030
import org.apache.iotdb.db.utils.cte.CteDataStore;
@@ -35,22 +35,25 @@
3535
import org.slf4j.Logger;
3636
import org.slf4j.LoggerFactory;
3737

38-
public class CteScanOperator extends AbstractSourceOperator {
38+
public class CteScanOperator implements SourceOperator {
3939
private static final Logger LOGGER = LoggerFactory.getLogger(CteScanOperator.class);
4040
private static final long INSTANCE_SIZE =
4141
RamUsageEstimator.shallowSizeOfInstance(CteScanOperator.class);
4242

43+
private final OperatorContext operatorContext;
44+
private final PlanNodeId sourceId;
45+
4346
private final CteDataStore dataStore;
47+
private final CteDataReader dataReader;
4448
private final int dataStoreRefCount;
45-
private CteDataReader dataReader;
4649

4750
public CteScanOperator(
4851
OperatorContext operatorContext, PlanNodeId sourceId, CteDataStore dataStore) {
4952
this.operatorContext = operatorContext;
5053
this.sourceId = sourceId;
5154
this.dataStore = dataStore;
55+
this.dataReader = new MemoryReader(dataStore.getCachedData());
5256
this.dataStoreRefCount = dataStore.increaseRefCount();
53-
prepareReader();
5457
}
5558

5659
@Override
@@ -104,21 +107,24 @@ public long calculateRetainedSizeAfterCallingNext() {
104107
@Override
105108
public long ramBytesUsed() {
106109
long bytes =
107-
INSTANCE_SIZE + MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(operatorContext);
108-
if (dataReader != null) {
109-
bytes += dataReader.bytesUsed();
110-
}
110+
INSTANCE_SIZE
111+
+ MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(operatorContext)
112+
+ dataReader.bytesUsed();
111113
if (dataStoreRefCount == 1) {
112114
bytes += dataStore.getCachedBytes();
113115
}
114116

115117
return bytes;
116118
}
117119

118-
private void prepareReader() {
119-
if (dataStore.getCachedBytes() != 0) {
120-
dataReader = new MemoryReader(dataStore.getCachedData());
121-
}
120+
@Override
121+
public OperatorContext getOperatorContext() {
122+
return operatorContext;
123+
}
124+
125+
@Override
126+
public PlanNodeId getSourceId() {
127+
return sourceId;
122128
}
123129

124130
@TestOnly

0 commit comments

Comments
 (0)