Class PlanNode
- java.lang.Object
-
- org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode
-
- All Implemented Interfaces:
org.apache.iotdb.consensus.common.request.IConsensusRequest
- Direct Known Subclasses:
DeleteTimeSeriesNode,ExchangeNode,InvalidateSchemaCacheNode,ProcessNode,SinkNode,SourceNode,WritePlanNode
public abstract class PlanNode extends java.lang.Object implements org.apache.iotdb.consensus.common.request.IConsensusRequestThe base class of query logical plan nodes, which is used to compose logical query plan.
-
-
Field Summary
Fields Modifier and Type Field Description protected static intCHILD_COUNT_NO_LIMITprotected static intNO_CHILD_ALLOWEDprotected static intONE_CHILD
-
Constructor Summary
Constructors Constructor Description PlanNode(PlanNodeId id)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <R,C>
Raccept(PlanVisitor<R,C> visitor, C context)abstract voidaddChild(PlanNode child)abstract intallowedChildCount()abstract PlanNodeclone()PlanNodecloneWithChildren(java.util.List<PlanNode> children)booleanequals(java.lang.Object o)abstract java.util.List<PlanNode>getChildren()abstract java.util.List<java.lang.String>getOutputColumnNames()PlanNodeIdgetPlanNodeId()inthashCode()voidserialize(java.io.DataOutputStream stream)voidserialize(java.nio.ByteBuffer byteBuffer)protected abstract voidserializeAttributes(java.io.DataOutputStream stream)protected abstract voidserializeAttributes(java.nio.ByteBuffer byteBuffer)java.nio.ByteBufferserializeToByteBuffer()Deserialize viaPlanNodeType.deserialize(ByteBuffer)voidsetPlanNodeId(PlanNodeId id)
-
-
-
Field Detail
-
NO_CHILD_ALLOWED
protected static final int NO_CHILD_ALLOWED
- See Also:
- Constant Field Values
-
ONE_CHILD
protected static final int ONE_CHILD
- See Also:
- Constant Field Values
-
CHILD_COUNT_NO_LIMIT
protected static final int CHILD_COUNT_NO_LIMIT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PlanNode
public PlanNode(PlanNodeId id)
-
-
Method Detail
-
getPlanNodeId
public PlanNodeId getPlanNodeId()
-
setPlanNodeId
public void setPlanNodeId(PlanNodeId id)
-
getChildren
public abstract java.util.List<PlanNode> getChildren()
-
addChild
public abstract void addChild(PlanNode child)
-
clone
public abstract PlanNode clone()
- Overrides:
clonein classjava.lang.Object
-
allowedChildCount
public abstract int allowedChildCount()
-
getOutputColumnNames
public abstract java.util.List<java.lang.String> getOutputColumnNames()
-
accept
public <R,C> R accept(PlanVisitor<R,C> visitor, C context)
-
serialize
public void serialize(java.nio.ByteBuffer byteBuffer)
-
serialize
public void serialize(java.io.DataOutputStream stream) throws java.io.IOException- Throws:
java.io.IOException
-
serializeToByteBuffer
public java.nio.ByteBuffer serializeToByteBuffer()
Deserialize viaPlanNodeType.deserialize(ByteBuffer)- Specified by:
serializeToByteBufferin interfaceorg.apache.iotdb.consensus.common.request.IConsensusRequest
-
serializeAttributes
protected abstract void serializeAttributes(java.nio.ByteBuffer byteBuffer)
-
serializeAttributes
protected abstract void serializeAttributes(java.io.DataOutputStream stream) throws java.io.IOException- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-