Class AggregateProjectionSplit
java.lang.Object
com.orientechnologies.orient.core.sql.parser.AggregateProjectionSplit
This class is used by the query planner to split projections in three parts:
- pre-aggregate projections
- aggregate projections
- post-aggregate projections
select max(a + b) + (max(b + c * 2) + 1 + 2) * 3 as foo, max(d) + max(e), f from " + className
will become
a + b AS _$$$OALIAS$$_1, b + c * 2 AS _$$$OALIAS$$_3, d AS _$$$OALIAS$$_5, e AS _$$$OALIAS$$_7, f
max(_$$$OALIAS$$_1) AS _$$$OALIAS$$_0, max(_$$$OALIAS$$_3) AS _$$$OALIAS$$_2, max(_$$$OALIAS$$_5) AS _$$$OALIAS$$_4, max(_$$$OALIAS$$_7) AS _$$$OALIAS$$_6, f
_$$$OALIAS$$_0 + (_$$$OALIAS$$_2 + 1 + 2) * 3 AS `foo`, _$$$OALIAS$$_4 + _$$$OALIAS$$_6 AS `max(d) + max(e)`, f
- Author:
- Luigi Dell'Aquila (l.dellaquila-(at)-orientdb.com)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<OProjectionItem>protected static final Stringprotected intprotected List<OProjectionItem> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidreset()clean the content, but NOT the counter!voidsetAggregate(List<OProjectionItem> aggregate) voidsetPreAggregate(List<OProjectionItem> preAggregate)
-
Field Details
-
GENERATED_ALIAS_PREFIX
- See Also:
-
nextAliasId
protected int nextAliasId -
preAggregate
-
aggregate
-
-
Constructor Details
-
AggregateProjectionSplit
public AggregateProjectionSplit()
-
-
Method Details
-
getNextAlias
-
getPreAggregate
-
setPreAggregate
-
getAggregate
-
setAggregate
-
reset
public void reset()clean the content, but NOT the counter!
-