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