Skip to content
# Class: CTEDisabler

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 ​

SqlComponent

Returns ​

SelectQuery


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 ​

SqlComponent

Returns ​

SqlComponent

Implementation of ​

SqlComponentVisitor.visit


visitSimpleSelectQuery() ​

visitSimpleSelectQuery(arg): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:169

Parameters ​

arg ​

SimpleSelectQuery

Returns ​

SqlComponent


visitBinarySelectQuery() ​

visitBinarySelectQuery(query): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:193

Parameters ​

query ​

BinarySelectQuery

Returns ​

SqlComponent


visitValuesQuery() ​

visitValuesQuery(query): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:199

Parameters ​

query ​

ValuesQuery

Returns ​

SqlComponent


visitInsertQuery() ​

visitInsertQuery(query): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:204

Parameters ​

query ​

InsertQuery

Returns ​

SqlComponent


visitUpdateQuery() ​

visitUpdateQuery(query): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:209

Parameters ​

query ​

UpdateQuery

Returns ​

SqlComponent


visitDeleteQuery() ​

visitDeleteQuery(query): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:214

Parameters ​

query ​

DeleteQuery

Returns ​

SqlComponent


visitSelectClause() ​

visitSelectClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:219

Parameters ​

clause ​

SelectClause

Returns ​

SqlComponent


visitFromClause() ​

visitFromClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:230

Parameters ​

clause ​

FromClause

Returns ​

SqlComponent


visitSubQuerySource() ​

visitSubQuerySource(subQuery): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:237

Parameters ​

subQuery ​

SubQuerySource

Returns ​

SqlComponent


visitInlineQuery() ​

visitInlineQuery(inlineQuery): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:242

Parameters ​

inlineQuery ​

InlineQuery

Returns ​

SqlComponent


visitJoinClause() ​

visitJoinClause(joinClause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:247

Parameters ​

joinClause ​

JoinClause

Returns ​

SqlComponent


visitJoinOnClause() ​

visitJoinOnClause(joinOn): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:259

Parameters ​

joinOn ​

JoinOnClause

Returns ​

SqlComponent


visitJoinUsingClause() ​

visitJoinUsingClause(joinUsing): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:264

Parameters ​

joinUsing ​

JoinUsingClause

Returns ​

SqlComponent


visitWhereClause() ​

visitWhereClause(whereClause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:269

Parameters ​

whereClause ​

WhereClause

Returns ​

SqlComponent


visitGroupByClause() ​

visitGroupByClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:274

Parameters ​

clause ​

GroupByClause

Returns ​

SqlComponent


visitHavingClause() ​

visitHavingClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:279

Parameters ​

clause ​

HavingClause

Returns ​

SqlComponent


visitOrderByClause() ​

visitOrderByClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:284

Parameters ​

clause ​

OrderByClause

Returns ​

SqlComponent


visitWindowFrameClause() ​

visitWindowFrameClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:289

Parameters ​

clause ​

WindowFrameClause

Returns ​

SqlComponent


visitLimitClause() ​

visitLimitClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:294

Parameters ​

clause ​

LimitClause

Returns ​

SqlComponent


visitForClause() ​

visitForClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:299

Parameters ​

clause ​

ForClause

Returns ​

SqlComponent


visitParenExpression() ​

visitParenExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:303

Parameters ​

expr ​

ParenExpression

Returns ​

SqlComponent


visitBinaryExpression() ​

visitBinaryExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:308

Parameters ​

expr ​

BinaryExpression

Returns ​

SqlComponent


visitUnaryExpression() ​

visitUnaryExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:314

Parameters ​

expr ​

UnaryExpression

Returns ​

SqlComponent


visitCaseExpression() ​

visitCaseExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:319

Parameters ​

expr ​

CaseExpression

Returns ​

SqlComponent


visitSwitchCaseArgument() ​

visitSwitchCaseArgument(switchCase): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:325

Parameters ​

switchCase ​

SwitchCaseArgument

Returns ​

SqlComponent


visitCaseKeyValuePair() ​

visitCaseKeyValuePair(pair): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:331

Parameters ​

pair ​

CaseKeyValuePair

Returns ​

SqlComponent


visitBetweenExpression() ​

visitBetweenExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:337

Parameters ​

expr ​

BetweenExpression

Returns ​

SqlComponent


visitFunctionCall() ​

visitFunctionCall(func): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:344

Parameters ​

func ​

FunctionCall

Returns ​

SqlComponent


visitArrayExpression() ​

visitArrayExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:350

Parameters ​

expr ​

ArrayExpression

Returns ​

SqlComponent


visitArrayQueryExpression() ​

visitArrayQueryExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:355

Parameters ​

expr ​

ArrayQueryExpression

Returns ​

SqlComponent


visitTupleExpression() ​

visitTupleExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:360

Parameters ​

expr ​

TupleExpression

Returns ​

SqlComponent


visitCastExpression() ​

visitCastExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:365

Parameters ​

expr ​

CastExpression

Returns ​

SqlComponent


visitTypeValue() ​

visitTypeValue(typeValue): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:371

Parameters ​

typeValue ​

TypeValue

Returns ​

SqlComponent


visitSelectItem() ​

visitSelectItem(item): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:376

Parameters ​

item ​

SelectItem

Returns ​

SqlComponent


visitIdentifierString() ​

visitIdentifierString(ident): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:381

Parameters ​

ident ​

IdentifierString

Returns ​

SqlComponent


visitRawString() ​

visitRawString(raw): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:386

Parameters ​

raw ​

RawString

Returns ​

SqlComponent


visitColumnReference() ​

visitColumnReference(column): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:391

Parameters ​

column ​

ColumnReference

Returns ​

SqlComponent


visitSourceExpression() ​

visitSourceExpression(source): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:396

Parameters ​

source ​

SourceExpression

Returns ​

SqlComponent


visitTableSource() ​

visitTableSource(source): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:403

Parameters ​

source ​

TableSource

Returns ​

SqlComponent


visitParenSource() ​

visitParenSource(source): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:408

Parameters ​

source ​

ParenSource

Returns ​

SqlComponent


visitParameterExpression() ​

visitParameterExpression(param): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:413

Parameters ​

param ​

ParameterExpression

Returns ​

SqlComponent


visitWindowFrameExpression() ​

visitWindowFrameExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:418

Parameters ​

expr ​

WindowFrameExpression

Returns ​

SqlComponent


visitWindowFrameSpec() ​

visitWindowFrameSpec(spec): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:430

Parameters ​

spec ​

WindowFrameSpec

Returns ​

SqlComponent


visitLiteralValue() ​

visitLiteralValue(value): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:435

Parameters ​

value ​

ValueComponent

Returns ​

SqlComponent


visitOrderByItem() ​

visitOrderByItem(item): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:440

Parameters ​

item ​

OrderByItem

Returns ​

SqlComponent


visitValueList() ​

visitValueList(valueList): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:445

Parameters ​

valueList ​

ValueList

Returns ​

SqlComponent


visitArraySliceExpression() ​

visitArraySliceExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:450

Parameters ​

expr ​

ArraySliceExpression

Returns ​

SqlComponent


visitArrayIndexExpression() ​

visitArrayIndexExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:454

Parameters ​

expr ​

ArrayIndexExpression

Returns ​

SqlComponent


visitStringSpecifierExpression() ​

visitStringSpecifierExpression(expr): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:458

Parameters ​

expr ​

StringSpecifierExpression

Returns ​

SqlComponent


visitPartitionByClause() ​

visitPartitionByClause(clause): SqlComponent

Defined in: packages/core/src/transformers/CTEDisabler.ts:462

Parameters ​

clause ​

PartitionByClause

Returns ​

SqlComponent

Released under the MIT License.