Skip to content
# Class: CTEDisabler

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

SqlComponent

Returns

SelectQuery


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

SqlComponent

Returns

SqlComponent

Implementation of

SqlComponentVisitor.visit


visitSimpleSelectQuery()

visitSimpleSelectQuery(arg): SqlComponent

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

Parameters

arg

SimpleSelectQuery

Returns

SqlComponent


visitBinarySelectQuery()

visitBinarySelectQuery(query): SqlComponent

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

Parameters

query

BinarySelectQuery

Returns

SqlComponent


visitValuesQuery()

visitValuesQuery(query): SqlComponent

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

Parameters

query

ValuesQuery

Returns

SqlComponent


visitSelectClause()

visitSelectClause(clause): SqlComponent

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

Parameters

clause

SelectClause

Returns

SqlComponent


visitFromClause()

visitFromClause(clause): SqlComponent

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

Parameters

clause

FromClause

Returns

SqlComponent


visitSubQuerySource()

visitSubQuerySource(subQuery): SqlComponent

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

Parameters

subQuery

SubQuerySource

Returns

SqlComponent


visitInlineQuery()

visitInlineQuery(inlineQuery): SqlComponent

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

Parameters

inlineQuery

InlineQuery

Returns

SqlComponent


visitJoinClause()

visitJoinClause(joinClause): SqlComponent

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

Parameters

joinClause

JoinClause

Returns

SqlComponent


visitJoinOnClause()

visitJoinOnClause(joinOn): SqlComponent

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

Parameters

joinOn

JoinOnClause

Returns

SqlComponent


visitJoinUsingClause()

visitJoinUsingClause(joinUsing): SqlComponent

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

Parameters

joinUsing

JoinUsingClause

Returns

SqlComponent


visitWhereClause()

visitWhereClause(whereClause): SqlComponent

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

Parameters

whereClause

WhereClause

Returns

SqlComponent


visitGroupByClause()

visitGroupByClause(clause): SqlComponent

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

Parameters

clause

GroupByClause

Returns

SqlComponent


visitHavingClause()

visitHavingClause(clause): SqlComponent

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

Parameters

clause

HavingClause

Returns

SqlComponent


visitOrderByClause()

visitOrderByClause(clause): SqlComponent

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

Parameters

clause

OrderByClause

Returns

SqlComponent


visitWindowFrameClause()

visitWindowFrameClause(clause): SqlComponent

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

Parameters

clause

WindowFrameClause

Returns

SqlComponent


visitLimitClause()

visitLimitClause(clause): SqlComponent

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

Parameters

clause

LimitClause

Returns

SqlComponent


visitForClause()

visitForClause(clause): SqlComponent

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

Parameters

clause

ForClause

Returns

SqlComponent


visitParenExpression()

visitParenExpression(expr): SqlComponent

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

Parameters

expr

ParenExpression

Returns

SqlComponent


visitBinaryExpression()

visitBinaryExpression(expr): SqlComponent

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

Parameters

expr

BinaryExpression

Returns

SqlComponent


visitUnaryExpression()

visitUnaryExpression(expr): SqlComponent

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

Parameters

expr

UnaryExpression

Returns

SqlComponent


visitCaseExpression()

visitCaseExpression(expr): SqlComponent

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

Parameters

expr

CaseExpression

Returns

SqlComponent


visitSwitchCaseArgument()

visitSwitchCaseArgument(switchCase): SqlComponent

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

Parameters

switchCase

SwitchCaseArgument

Returns

SqlComponent


visitCaseKeyValuePair()

visitCaseKeyValuePair(pair): SqlComponent

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

Parameters

pair

CaseKeyValuePair

Returns

SqlComponent


visitBetweenExpression()

visitBetweenExpression(expr): SqlComponent

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

Parameters

expr

BetweenExpression

Returns

SqlComponent


visitFunctionCall()

visitFunctionCall(func): SqlComponent

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

Parameters

func

FunctionCall

Returns

SqlComponent


visitArrayExpression()

visitArrayExpression(expr): SqlComponent

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

Parameters

expr

ArrayExpression

Returns

SqlComponent


visitArrayQueryExpression()

visitArrayQueryExpression(expr): SqlComponent

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

Parameters

expr

ArrayQueryExpression

Returns

SqlComponent


visitTupleExpression()

visitTupleExpression(expr): SqlComponent

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

Parameters

expr

TupleExpression

Returns

SqlComponent


visitCastExpression()

visitCastExpression(expr): SqlComponent

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

Parameters

expr

CastExpression

Returns

SqlComponent


visitTypeValue()

visitTypeValue(typeValue): SqlComponent

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

Parameters

typeValue

TypeValue

Returns

SqlComponent


visitSelectItem()

visitSelectItem(item): SqlComponent

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

Parameters

item

SelectItem

Returns

SqlComponent


visitIdentifierString()

visitIdentifierString(ident): SqlComponent

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

Parameters

ident

IdentifierString

Returns

SqlComponent


visitRawString()

visitRawString(raw): SqlComponent

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

Parameters

raw

RawString

Returns

SqlComponent


visitColumnReference()

visitColumnReference(column): SqlComponent

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

Parameters

column

ColumnReference

Returns

SqlComponent


visitSourceExpression()

visitSourceExpression(source): SqlComponent

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

Parameters

source

SourceExpression

Returns

SqlComponent


visitTableSource()

visitTableSource(source): SqlComponent

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

Parameters

source

TableSource

Returns

SqlComponent


visitParenSource()

visitParenSource(source): SqlComponent

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

Parameters

source

ParenSource

Returns

SqlComponent


visitParameterExpression()

visitParameterExpression(param): SqlComponent

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

Parameters

param

ParameterExpression

Returns

SqlComponent


visitWindowFrameExpression()

visitWindowFrameExpression(expr): SqlComponent

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

Parameters

expr

WindowFrameExpression

Returns

SqlComponent


visitWindowFrameSpec()

visitWindowFrameSpec(spec): SqlComponent

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

Parameters

spec

WindowFrameSpec

Returns

SqlComponent


visitLiteralValue()

visitLiteralValue(value): SqlComponent

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

Parameters

value

ValueComponent

Returns

SqlComponent


visitOrderByItem()

visitOrderByItem(item): SqlComponent

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

Parameters

item

OrderByItem

Returns

SqlComponent


visitValueList()

visitValueList(valueList): SqlComponent

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

Parameters

valueList

ValueList

Returns

SqlComponent


visitArraySliceExpression()

visitArraySliceExpression(expr): SqlComponent

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

Parameters

expr

ArraySliceExpression

Returns

SqlComponent


visitArrayIndexExpression()

visitArrayIndexExpression(expr): SqlComponent

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

Parameters

expr

ArrayIndexExpression

Returns

SqlComponent


visitStringSpecifierExpression()

visitStringSpecifierExpression(expr): SqlComponent

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

Parameters

expr

StringSpecifierExpression

Returns

SqlComponent


visitPartitionByClause()

visitPartitionByClause(clause): SqlComponent

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

Parameters

clause

PartitionByClause

Returns

SqlComponent

Released under the MIT License.