Defined in: packages/core/src/transformers/CTEDisabler.ts:28
A visitor that disables all WITH clauses in a SQL query structure. This processes and removes WITH clauses from:
- Simple SELECT queries
- Binary queries (UNION, EXCEPT, etc.)
- Subqueries
- Inline queries
It maintains the CTE queries themselves but restructures the query to not use the WITH clause syntactical construct.
Implements ​
Constructors ​
Constructor ​
new CTEDisabler():
CTEDisabler
Defined in: packages/core/src/transformers/CTEDisabler.ts:33
Returns ​
CTEDisabler
Methods ​
execute() ​
execute(
arg):SelectQuery
Defined in: packages/core/src/transformers/CTEDisabler.ts:117
Parameters ​
arg ​
Returns ​
visit() ​
visit(
arg):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:127
Main entry point for the visitor pattern. Implements the shallow visit pattern to distinguish between root and recursive visits.
Parameters ​
arg ​
Returns ​
Implementation of ​
visitSimpleSelectQuery() ​
visitSimpleSelectQuery(
arg):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:169
Parameters ​
arg ​
Returns ​
visitBinarySelectQuery() ​
visitBinarySelectQuery(
query):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:193
Parameters ​
query ​
Returns ​
visitValuesQuery() ​
visitValuesQuery(
query):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:199
Parameters ​
query ​
Returns ​
visitInsertQuery() ​
visitInsertQuery(
query):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:204
Parameters ​
query ​
Returns ​
visitUpdateQuery() ​
visitUpdateQuery(
query):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:209
Parameters ​
query ​
Returns ​
visitDeleteQuery() ​
visitDeleteQuery(
query):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:214
Parameters ​
query ​
Returns ​
visitSelectClause() ​
visitSelectClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:219
Parameters ​
clause ​
Returns ​
visitFromClause() ​
visitFromClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:230
Parameters ​
clause ​
Returns ​
visitSubQuerySource() ​
visitSubQuerySource(
subQuery):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:237
Parameters ​
subQuery ​
Returns ​
visitInlineQuery() ​
visitInlineQuery(
inlineQuery):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:242
Parameters ​
inlineQuery ​
Returns ​
visitJoinClause() ​
visitJoinClause(
joinClause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:247
Parameters ​
joinClause ​
Returns ​
visitJoinOnClause() ​
visitJoinOnClause(
joinOn):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:259
Parameters ​
joinOn ​
Returns ​
visitJoinUsingClause() ​
visitJoinUsingClause(
joinUsing):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:264
Parameters ​
joinUsing ​
Returns ​
visitWhereClause() ​
visitWhereClause(
whereClause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:269
Parameters ​
whereClause ​
Returns ​
visitGroupByClause() ​
visitGroupByClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:274
Parameters ​
clause ​
Returns ​
visitHavingClause() ​
visitHavingClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:279
Parameters ​
clause ​
Returns ​
visitOrderByClause() ​
visitOrderByClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:284
Parameters ​
clause ​
Returns ​
visitWindowFrameClause() ​
visitWindowFrameClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:289
Parameters ​
clause ​
Returns ​
visitLimitClause() ​
visitLimitClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:294
Parameters ​
clause ​
Returns ​
visitForClause() ​
visitForClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:299
Parameters ​
clause ​
Returns ​
visitParenExpression() ​
visitParenExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:303
Parameters ​
expr ​
Returns ​
visitBinaryExpression() ​
visitBinaryExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:308
Parameters ​
expr ​
Returns ​
visitUnaryExpression() ​
visitUnaryExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:314
Parameters ​
expr ​
Returns ​
visitCaseExpression() ​
visitCaseExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:319
Parameters ​
expr ​
Returns ​
visitSwitchCaseArgument() ​
visitSwitchCaseArgument(
switchCase):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:325
Parameters ​
switchCase ​
Returns ​
visitCaseKeyValuePair() ​
visitCaseKeyValuePair(
pair):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:331
Parameters ​
pair ​
Returns ​
visitBetweenExpression() ​
visitBetweenExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:337
Parameters ​
expr ​
Returns ​
visitFunctionCall() ​
visitFunctionCall(
func):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:344
Parameters ​
func ​
Returns ​
visitArrayExpression() ​
visitArrayExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:350
Parameters ​
expr ​
Returns ​
visitArrayQueryExpression() ​
visitArrayQueryExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:355
Parameters ​
expr ​
Returns ​
visitTupleExpression() ​
visitTupleExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:360
Parameters ​
expr ​
Returns ​
visitCastExpression() ​
visitCastExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:365
Parameters ​
expr ​
Returns ​
visitTypeValue() ​
visitTypeValue(
typeValue):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:371
Parameters ​
typeValue ​
Returns ​
visitSelectItem() ​
visitSelectItem(
item):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:376
Parameters ​
item ​
Returns ​
visitIdentifierString() ​
visitIdentifierString(
ident):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:381
Parameters ​
ident ​
Returns ​
visitRawString() ​
visitRawString(
raw):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:386
Parameters ​
raw ​
Returns ​
visitColumnReference() ​
visitColumnReference(
column):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:391
Parameters ​
column ​
Returns ​
visitSourceExpression() ​
visitSourceExpression(
source):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:396
Parameters ​
source ​
Returns ​
visitTableSource() ​
visitTableSource(
source):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:403
Parameters ​
source ​
Returns ​
visitParenSource() ​
visitParenSource(
source):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:408
Parameters ​
source ​
Returns ​
visitParameterExpression() ​
visitParameterExpression(
param):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:413
Parameters ​
param ​
Returns ​
visitWindowFrameExpression() ​
visitWindowFrameExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:418
Parameters ​
expr ​
Returns ​
visitWindowFrameSpec() ​
visitWindowFrameSpec(
spec):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:430
Parameters ​
spec ​
Returns ​
visitLiteralValue() ​
visitLiteralValue(
value):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:435
Parameters ​
value ​
Returns ​
visitOrderByItem() ​
visitOrderByItem(
item):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:440
Parameters ​
item ​
Returns ​
visitValueList() ​
visitValueList(
valueList):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:445
Parameters ​
valueList ​
Returns ​
visitArraySliceExpression() ​
visitArraySliceExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:450
Parameters ​
expr ​
Returns ​
visitArrayIndexExpression() ​
visitArrayIndexExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:454
Parameters ​
expr ​
Returns ​
visitStringSpecifierExpression() ​
visitStringSpecifierExpression(
expr):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:458
Parameters ​
expr ​
Returns ​
visitPartitionByClause() ​
visitPartitionByClause(
clause):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:462