Defined in: packages/core/src/transformers/CTEDisabler.ts:25
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:30
Returns
CTEDisabler
Methods
execute()
execute(
arg
):SelectQuery
Defined in: packages/core/src/transformers/CTEDisabler.ts:109
Parameters
arg
Returns
visit()
visit(
arg
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:119
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:161
Parameters
arg
Returns
visitBinarySelectQuery()
visitBinarySelectQuery(
query
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:185
Parameters
query
Returns
visitValuesQuery()
visitValuesQuery(
query
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:191
Parameters
query
Returns
visitSelectClause()
visitSelectClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:196
Parameters
clause
SelectClause
Returns
visitFromClause()
visitFromClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:207
Parameters
clause
FromClause
Returns
visitSubQuerySource()
visitSubQuerySource(
subQuery
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:214
Parameters
subQuery
SubQuerySource
Returns
visitInlineQuery()
visitInlineQuery(
inlineQuery
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:219
Parameters
inlineQuery
Returns
visitJoinClause()
visitJoinClause(
joinClause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:224
Parameters
joinClause
JoinClause
Returns
visitJoinOnClause()
visitJoinOnClause(
joinOn
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:236
Parameters
joinOn
JoinOnClause
Returns
visitJoinUsingClause()
visitJoinUsingClause(
joinUsing
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:241
Parameters
joinUsing
JoinUsingClause
Returns
visitWhereClause()
visitWhereClause(
whereClause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:246
Parameters
whereClause
WhereClause
Returns
visitGroupByClause()
visitGroupByClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:251
Parameters
clause
GroupByClause
Returns
visitHavingClause()
visitHavingClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:256
Parameters
clause
HavingClause
Returns
visitOrderByClause()
visitOrderByClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:261
Parameters
clause
OrderByClause
Returns
visitWindowFrameClause()
visitWindowFrameClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:266
Parameters
clause
WindowFrameClause
Returns
visitLimitClause()
visitLimitClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:271
Parameters
clause
LimitClause
Returns
visitForClause()
visitForClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:276
Parameters
clause
ForClause
Returns
visitParenExpression()
visitParenExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:280
Parameters
expr
Returns
visitBinaryExpression()
visitBinaryExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:285
Parameters
expr
Returns
visitUnaryExpression()
visitUnaryExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:291
Parameters
expr
Returns
visitCaseExpression()
visitCaseExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:296
Parameters
expr
Returns
visitSwitchCaseArgument()
visitSwitchCaseArgument(
switchCase
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:302
Parameters
switchCase
Returns
visitCaseKeyValuePair()
visitCaseKeyValuePair(
pair
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:308
Parameters
pair
Returns
visitBetweenExpression()
visitBetweenExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:314
Parameters
expr
Returns
visitFunctionCall()
visitFunctionCall(
func
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:321
Parameters
func
Returns
visitArrayExpression()
visitArrayExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:327
Parameters
expr
Returns
visitArrayQueryExpression()
visitArrayQueryExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:332
Parameters
expr
Returns
visitTupleExpression()
visitTupleExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:337
Parameters
expr
Returns
visitCastExpression()
visitCastExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:342
Parameters
expr
Returns
visitTypeValue()
visitTypeValue(
typeValue
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:348
Parameters
typeValue
Returns
visitSelectItem()
visitSelectItem(
item
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:353
Parameters
item
SelectItem
Returns
visitIdentifierString()
visitIdentifierString(
ident
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:358
Parameters
ident
Returns
visitRawString()
visitRawString(
raw
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:363
Parameters
raw
Returns
visitColumnReference()
visitColumnReference(
column
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:368
Parameters
column
Returns
visitSourceExpression()
visitSourceExpression(
source
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:373
Parameters
source
SourceExpression
Returns
visitTableSource()
visitTableSource(
source
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:380
Parameters
source
TableSource
Returns
visitParenSource()
visitParenSource(
source
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:385
Parameters
source
ParenSource
Returns
visitParameterExpression()
visitParameterExpression(
param
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:390
Parameters
param
Returns
visitWindowFrameExpression()
visitWindowFrameExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:395
Parameters
expr
Returns
visitWindowFrameSpec()
visitWindowFrameSpec(
spec
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:407
Parameters
spec
Returns
visitLiteralValue()
visitLiteralValue(
value
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:412
Parameters
value
Returns
visitOrderByItem()
visitOrderByItem(
item
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:417
Parameters
item
OrderByItem
Returns
visitValueList()
visitValueList(
valueList
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:422
Parameters
valueList
Returns
visitArraySliceExpression()
visitArraySliceExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:427
Parameters
expr
Returns
visitArrayIndexExpression()
visitArrayIndexExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:431
Parameters
expr
Returns
visitStringSpecifierExpression()
visitStringSpecifierExpression(
expr
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:435
Parameters
expr
Returns
visitPartitionByClause()
visitPartitionByClause(
clause
):SqlComponent
Defined in: packages/core/src/transformers/CTEDisabler.ts:439
Parameters
clause
PartitionByClause