visitCommonTableExpression method
Implementation
@override
void visitCommonTableExpression(CommonTableExpression e, void arg) {
identifier(e.cteTableName);
if (e.columnNames != null) {
symbol('(', spaceBefore: true);
var first = true;
for (final columnName in e.columnNames!) {
if (!first) {
symbol(',', spaceAfter: true);
}
identifier(columnName, spaceBefore: !first, spaceAfter: false);
first = false;
}
symbol(')', spaceAfter: true);
}
keyword(TokenType.as);
switch (e.materializationHint) {
case MaterializationHint.notMaterialized:
keyword(TokenType.not);
keyword(TokenType.materialized);
break;
case MaterializationHint.materialized:
keyword(TokenType.materialized);
break;
case null:
break;
}
symbol('(', spaceBefore: true);
visit(e.as, arg);
symbol(')', spaceAfter: true);
}