Update, delete and insert statement are not built with AST nodes, (for example Table[].update), although some portions of these statements (where clauses are sometimes built with it.
SelectElement that refer to a SelectElement of an inner or outer query
SelectElement are elements of a select list, for example they are a,b, and c in :
SelectElement are elements of a select list, for example they are a,b, and c in :
select a,b,c from T
they are either ValueSelectElement for composite expressions, i.e. select (x / 2) * y as Z from .... TupleSelectElement for group by or compute elements (TODO: document group by/compute) FieldSelectElement for table columns (that map to fields)
ExportSelectElement for a select element that refers to a SelectElement of an inner or outer query.
SelectElementReference are nodes in any clause other than select (where, having, composite expression, order by, etc) that refer to a SelectElement
All nodes that refer to a SelectElement are SelectElementReference, with the exception of SelectElement that refer to an inner or outer query's SelectElement, these are ExportedSelectElement
Update, delete and insert statement are not built with AST nodes, (for example Table[].update), although some portions of these statements (where clauses are sometimes built with it. The StatisticsListener needs to view every expression call as an AST, which is the reason for this class. AST are meant to be "non rendered", i.e. agnostic to specific DatabaseAdapter, this DummyExpressionHolder is an exception. TODO: unify expression building to be completely AST based.