Class ResultColumn
- java.lang.Object
-
- org.apache.iotdb.db.mpp.plan.statement.StatementNode
-
- org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn
-
public class ResultColumn extends StatementNode
This class is used to represent a result column of a query.Assume that we have time series in db as follows:
[ root.sg.d.a, root.sg.d.b, root.sg.e.a, root.sg.e.b ]-
Example 1: select a, a + b, udf(udf(b)) from root.sg.d, root.sg.e;
- Step 1: constructed by sql visitor in logical operator:
result columns:
[a, a + b, udf(udf(b))] - Step 2: concatenated with prefix paths in logical optimizer:
result columns:
[root.sg.d.a, root.sg.e.a, root.sg.d.a + root.sg.d.b, root.sg.d.a + root.sg.e.b, root.sg.e.a + root.sg.d.b, root.sg.e.a + root.sg.e.b, udf(udf(root.sg.d.b)), udf(udf(root.sg.e.b))] - Step 3: remove wildcards in logical optimizer:
result columns:
[root.sg.d.a, root.sg.e.a, root.sg.d.a + root.sg.d.b, root.sg.d.a + root.sg.e.b, root.sg.e.a + root.sg.d.b, root.sg.e.a + root.sg.e.b, udf(udf(root.sg.d.b)), udf(udf(root.sg.e.b))]
-
Example 2: select *, a + *, udf(udf(*)) from root.sg.d;
- Step 1: constructed by sql visitor in logical operator:
result columns:
[*, a + * , udf(udf(*))] - Step 2: concatenated with prefix paths in logical optimizer:
result columns:
[root.sg.d.*, root.sg.d.a + root.sg.d.*, udf(udf(root.sg.d.*))] - Step 3: remove wildcards in logical optimizer:
result columns:
[root.sg.d.a, root.sg.d.b, root.sg.d.a + root.sg.d.a, root.sg.d.a + root.sg.d.b, udf(udf(root.sg.d.a)), udf(udf(root.sg.d.b))]
- Step 1: constructed by sql visitor in logical operator:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classResultColumn.ColumnType
-
Constructor Summary
Constructors Constructor Description ResultColumn(Expression expression, java.lang.String alias, ResultColumn.ColumnType columnType)ResultColumn(Expression expression, ResultColumn.ColumnType columnType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.lang.StringgetAlias()ResultColumn.ColumnTypegetColumnType()ExpressiongetExpression()booleanhasAlias()inthashCode()java.lang.StringtoString()-
Methods inherited from class org.apache.iotdb.db.mpp.plan.statement.StatementNode
accept
-
-
-
-
Constructor Detail
-
ResultColumn
public ResultColumn(Expression expression, java.lang.String alias, ResultColumn.ColumnType columnType)
-
ResultColumn
public ResultColumn(Expression expression, ResultColumn.ColumnType columnType)
-
-
Method Detail
-
getExpression
public Expression getExpression()
-
hasAlias
public boolean hasAlias()
-
getAlias
public java.lang.String getAlias()
-
getColumnType
public ResultColumn.ColumnType getColumnType()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-