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.