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:118

Parameters ​

arg ​

SqlComponent

Returns ​

SelectQuery


visit() ​

visit(arg): SqlComponent

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

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:170

Parameters ​

arg ​

SimpleSelectQuery

Returns ​

SqlComponent


visitBinarySelectQuery() ​

visitBinarySelectQuery(query): SqlComponent

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

Parameters ​

query ​

BinarySelectQuery

Returns ​

SqlComponent


visitValuesQuery() ​

visitValuesQuery(query): SqlComponent

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

Parameters ​

query ​

ValuesQuery

Returns ​

SqlComponent


visitInsertQuery() ​

visitInsertQuery(query): SqlComponent

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

Parameters ​

query ​

InsertQuery

Returns ​

SqlComponent


visitUpdateQuery() ​

visitUpdateQuery(query): SqlComponent

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

Parameters ​

query ​

UpdateQuery

Returns ​

SqlComponent


visitDeleteQuery() ​

visitDeleteQuery(query): SqlComponent

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

Parameters ​

query ​

DeleteQuery

Returns ​

SqlComponent


visitSelectClause() ​

visitSelectClause(clause): SqlComponent

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

Parameters ​

clause ​

SelectClause

Returns ​

SqlComponent


visitFromClause() ​

visitFromClause(clause): SqlComponent

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

Parameters ​

clause ​

FromClause

Returns ​

SqlComponent


visitSubQuerySource() ​

visitSubQuerySource(subQuery): SqlComponent

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

Parameters ​

subQuery ​

SubQuerySource

Returns ​

SqlComponent


visitInlineQuery() ​

visitInlineQuery(inlineQuery): SqlComponent

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

Parameters ​

inlineQuery ​

InlineQuery

Returns ​

SqlComponent


visitJoinClause() ​

visitJoinClause(joinClause): SqlComponent

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

Parameters ​

joinClause ​

JoinClause

Returns ​

SqlComponent


visitJoinOnClause() ​

visitJoinOnClause(joinOn): SqlComponent

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

Parameters ​

joinOn ​

JoinOnClause

Returns ​

SqlComponent


visitJoinUsingClause() ​

visitJoinUsingClause(joinUsing): SqlComponent

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

Parameters ​

joinUsing ​

JoinUsingClause

Returns ​

SqlComponent


visitWhereClause() ​

visitWhereClause(whereClause): SqlComponent

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

Parameters ​

whereClause ​

WhereClause

Returns ​

SqlComponent


visitGroupByClause() ​

visitGroupByClause(clause): SqlComponent

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

Parameters ​

clause ​

GroupByClause

Returns ​

SqlComponent


visitHavingClause() ​

visitHavingClause(clause): SqlComponent

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

Parameters ​

clause ​

HavingClause

Returns ​

SqlComponent


visitOrderByClause() ​

visitOrderByClause(clause): SqlComponent

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

Parameters ​

clause ​

OrderByClause

Returns ​

SqlComponent


visitWindowFrameClause() ​

visitWindowFrameClause(clause): SqlComponent

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

Parameters ​

clause ​

WindowFrameClause

Returns ​

SqlComponent


visitLimitClause() ​

visitLimitClause(clause): SqlComponent

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

Parameters ​

clause ​

LimitClause

Returns ​

SqlComponent


visitForClause() ​

visitForClause(clause): SqlComponent

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

Parameters ​

clause ​

ForClause

Returns ​

SqlComponent


visitParenExpression() ​

visitParenExpression(expr): SqlComponent

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

Parameters ​

expr ​

ParenExpression

Returns ​

SqlComponent


visitBinaryExpression() ​

visitBinaryExpression(expr): SqlComponent

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

Parameters ​

expr ​

BinaryExpression

Returns ​

SqlComponent


visitJsonPredicateExpression() ​

visitJsonPredicateExpression(expr): SqlComponent

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

Parameters ​

expr ​

JsonPredicateExpression

Returns ​

SqlComponent


visitUnaryExpression() ​

visitUnaryExpression(expr): SqlComponent

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

Parameters ​

expr ​

UnaryExpression

Returns ​

SqlComponent


visitCaseExpression() ​

visitCaseExpression(expr): SqlComponent

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

Parameters ​

expr ​

CaseExpression

Returns ​

SqlComponent


visitSwitchCaseArgument() ​

visitSwitchCaseArgument(switchCase): SqlComponent

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

Parameters ​

switchCase ​

SwitchCaseArgument

Returns ​

SqlComponent


visitCaseKeyValuePair() ​

visitCaseKeyValuePair(pair): SqlComponent

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

Parameters ​

pair ​

CaseKeyValuePair

Returns ​

SqlComponent


visitBetweenExpression() ​

visitBetweenExpression(expr): SqlComponent

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

Parameters ​

expr ​

BetweenExpression

Returns ​

SqlComponent


visitFunctionCall() ​

visitFunctionCall(func): SqlComponent

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

Parameters ​

func ​

FunctionCall

Returns ​

SqlComponent


visitArrayExpression() ​

visitArrayExpression(expr): SqlComponent

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

Parameters ​

expr ​

ArrayExpression

Returns ​

SqlComponent


visitArrayQueryExpression() ​

visitArrayQueryExpression(expr): SqlComponent

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

Parameters ​

expr ​

ArrayQueryExpression

Returns ​

SqlComponent


visitTupleExpression() ​

visitTupleExpression(expr): SqlComponent

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

Parameters ​

expr ​

TupleExpression

Returns ​

SqlComponent


visitCastExpression() ​

visitCastExpression(expr): SqlComponent

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

Parameters ​

expr ​

CastExpression

Returns ​

SqlComponent


visitTypeValue() ​

visitTypeValue(typeValue): SqlComponent

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

Parameters ​

typeValue ​

TypeValue

Returns ​

SqlComponent


visitSelectItem() ​

visitSelectItem(item): SqlComponent

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

Parameters ​

item ​

SelectItem

Returns ​

SqlComponent


visitIdentifierString() ​

visitIdentifierString(ident): SqlComponent

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

Parameters ​

ident ​

IdentifierString

Returns ​

SqlComponent


visitRawString() ​

visitRawString(raw): SqlComponent

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

Parameters ​

raw ​

RawString

Returns ​

SqlComponent


visitColumnReference() ​

visitColumnReference(column): SqlComponent

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

Parameters ​

column ​

ColumnReference

Returns ​

SqlComponent


visitSourceExpression() ​

visitSourceExpression(source): SqlComponent

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

Parameters ​

source ​

SourceExpression

Returns ​

SqlComponent


visitTableSource() ​

visitTableSource(source): SqlComponent

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

Parameters ​

source ​

TableSource

Returns ​

SqlComponent


visitParenSource() ​

visitParenSource(source): SqlComponent

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

Parameters ​

source ​

ParenSource

Returns ​

SqlComponent


visitParameterExpression() ​

visitParameterExpression(param): SqlComponent

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

Parameters ​

param ​

ParameterExpression

Returns ​

SqlComponent


visitWindowFrameExpression() ​

visitWindowFrameExpression(expr): SqlComponent

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

Parameters ​

expr ​

WindowFrameExpression

Returns ​

SqlComponent


visitWindowFrameSpec() ​

visitWindowFrameSpec(spec): SqlComponent

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

Parameters ​

spec ​

WindowFrameSpec

Returns ​

SqlComponent


visitLiteralValue() ​

visitLiteralValue(value): SqlComponent

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

Parameters ​

value ​

ValueComponent

Returns ​

SqlComponent


visitOrderByItem() ​

visitOrderByItem(item): SqlComponent

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

Parameters ​

item ​

OrderByItem

Returns ​

SqlComponent


visitValueList() ​

visitValueList(valueList): SqlComponent

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

Parameters ​

valueList ​

ValueList

Returns ​

SqlComponent


visitArraySliceExpression() ​

visitArraySliceExpression(expr): SqlComponent

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

Parameters ​

expr ​

ArraySliceExpression

Returns ​

SqlComponent


visitArrayIndexExpression() ​

visitArrayIndexExpression(expr): SqlComponent

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

Parameters ​

expr ​

ArrayIndexExpression

Returns ​

SqlComponent


visitStringSpecifierExpression() ​

visitStringSpecifierExpression(expr): SqlComponent

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

Parameters ​

expr ​

StringSpecifierExpression

Returns ​

SqlComponent


visitPartitionByClause() ​

visitPartitionByClause(clause): SqlComponent

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

Parameters ​

clause ​

PartitionByClause

Returns ​

SqlComponent

Released under the MIT License.