rawsql-ts 0.11.26-beta → 0.11.28-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +23 -23
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/index.js +1 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.d.ts +1 -0
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.js +10 -2
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.js.map +1 -1
- package/dist/esm/src/transformers/CTEQueryDecomposer.d.ts +6 -0
- package/dist/esm/src/transformers/CTEQueryDecomposer.js +79 -1
- package/dist/esm/src/transformers/CTEQueryDecomposer.js.map +1 -1
- package/dist/esm/src/transformers/CTETableReferenceCollector.d.ts +87 -0
- package/dist/esm/src/transformers/CTETableReferenceCollector.js +354 -0
- package/dist/esm/src/transformers/CTETableReferenceCollector.js.map +1 -0
- package/dist/esm/src/transformers/SchemaCollector.d.ts +3 -1
- package/dist/esm/src/transformers/SchemaCollector.js +141 -6
- package/dist/esm/src/transformers/SchemaCollector.js.map +1 -1
- package/dist/esm/src/transformers/TableSourceCollector.js +2 -2
- package/dist/esm/src/transformers/TableSourceCollector.js.map +1 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/index.min.js +25 -25
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/transformers/CTEDependencyAnalyzer.d.ts +1 -0
- package/dist/src/transformers/CTEDependencyAnalyzer.js +10 -2
- package/dist/src/transformers/CTEDependencyAnalyzer.js.map +1 -1
- package/dist/src/transformers/CTEQueryDecomposer.d.ts +6 -0
- package/dist/src/transformers/CTEQueryDecomposer.js +79 -1
- package/dist/src/transformers/CTEQueryDecomposer.js.map +1 -1
- package/dist/src/transformers/CTETableReferenceCollector.d.ts +87 -0
- package/dist/src/transformers/CTETableReferenceCollector.js +358 -0
- package/dist/src/transformers/CTETableReferenceCollector.js.map +1 -0
- package/dist/src/transformers/SchemaCollector.d.ts +3 -1
- package/dist/src/transformers/SchemaCollector.js +141 -6
- package/dist/src/transformers/SchemaCollector.js.map +1 -1
- package/dist/src/transformers/TableSourceCollector.js +2 -2
- package/dist/src/transformers/TableSourceCollector.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/esm/src/index.d.ts
CHANGED
@@ -13,6 +13,7 @@ export * from './transformers/CTECollector';
|
|
13
13
|
export * from './transformers/CTENormalizer';
|
14
14
|
export * from './transformers/CTEDisabler';
|
15
15
|
export * from './transformers/CTEDependencyAnalyzer';
|
16
|
+
export * from './transformers/CTETableReferenceCollector';
|
16
17
|
export * from './transformers/CTEQueryDecomposer';
|
17
18
|
export * from './transformers/CTEComposer';
|
18
19
|
export * from './transformers/CTERenamer';
|
package/dist/esm/src/index.js
CHANGED
@@ -13,6 +13,7 @@ export * from './transformers/CTECollector';
|
|
13
13
|
export * from './transformers/CTENormalizer';
|
14
14
|
export * from './transformers/CTEDisabler';
|
15
15
|
export * from './transformers/CTEDependencyAnalyzer';
|
16
|
+
export * from './transformers/CTETableReferenceCollector';
|
16
17
|
export * from './transformers/CTEQueryDecomposer';
|
17
18
|
export * from './transformers/CTEComposer';
|
18
19
|
export * from './transformers/CTERenamer';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC,CAAC,0BAA0B;AACvE,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAEH,yBAAyB,EACzB,0BAA0B,EAK7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO;AACH,6DAA6D;AAC7D,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACjB,MAAM,mCAAmC,CAAC;AAE3C,qEAAqE;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAE/D,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAwB,MAAM,gCAAgC,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAGrC,oEAAoE"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC,CAAC,0BAA0B;AACvE,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAEH,yBAAyB,EACzB,0BAA0B,EAK7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO;AACH,6DAA6D;AAC7D,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACjB,MAAM,mCAAmC,CAAC;AAE3C,qEAAqE;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAE/D,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAwB,MAAM,gCAAgC,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAGrC,oEAAoE"}
|
@@ -37,6 +37,7 @@ export declare class CTEDependencyAnalyzer {
|
|
37
37
|
private static readonly ERROR_MESSAGES;
|
38
38
|
private static readonly MAIN_QUERY_NAME;
|
39
39
|
private readonly sourceCollector;
|
40
|
+
private readonly cteReferenceCollector;
|
40
41
|
private readonly cteCollector;
|
41
42
|
private dependencyGraph;
|
42
43
|
private cteMap;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { SimpleSelectQuery } from "../models/SimpleSelectQuery";
|
2
2
|
import { CTECollector } from "./CTECollector";
|
3
3
|
import { TableSourceCollector } from "./TableSourceCollector";
|
4
|
+
import { CTETableReferenceCollector } from "./CTETableReferenceCollector";
|
4
5
|
/**
|
5
6
|
* Analyzer for CTE dependencies in SQL queries.
|
6
7
|
* Provides functionality to analyze dependencies, detect circular references,
|
@@ -10,7 +11,12 @@ export class CTEDependencyAnalyzer {
|
|
10
11
|
constructor() {
|
11
12
|
this.dependencyGraph = null;
|
12
13
|
this.cteMap = new Map();
|
13
|
-
|
14
|
+
// For analyzing CTE-to-CTE dependencies within WITH clause
|
15
|
+
// Excludes CTEs from results to avoid circular references
|
16
|
+
this.sourceCollector = new TableSourceCollector(false);
|
17
|
+
// For analyzing main query references to CTEs
|
18
|
+
// Includes CTEs in results to detect CTE usage
|
19
|
+
this.cteReferenceCollector = new CTETableReferenceCollector();
|
14
20
|
this.cteCollector = new CTECollector();
|
15
21
|
}
|
16
22
|
/**
|
@@ -148,6 +154,7 @@ export class CTEDependencyAnalyzer {
|
|
148
154
|
for (const cte of ctes) {
|
149
155
|
const cteName = CTEDependencyAnalyzer.getCTEName(cte);
|
150
156
|
// Find all table/CTE references in this CTE's query
|
157
|
+
// Uses sourceCollector which excludes CTEs to get only real table dependencies
|
151
158
|
const referencedTables = this.sourceCollector.collect(cte.query);
|
152
159
|
for (const referencedTable of referencedTables) {
|
153
160
|
const referencedName = referencedTable.table.name;
|
@@ -165,7 +172,8 @@ export class CTEDependencyAnalyzer {
|
|
165
172
|
// Analyze main query references to CTEs (excluding WITH clause)
|
166
173
|
const mainQueryWithoutCTE = this.getMainQueryWithoutCTE(mainQuery);
|
167
174
|
if (mainQueryWithoutCTE) {
|
168
|
-
|
175
|
+
// Uses cteReferenceCollector which includes CTEs to detect CTE usage in main query
|
176
|
+
const mainQueryReferences = this.cteReferenceCollector.collect(mainQueryWithoutCTE);
|
169
177
|
for (const referencedTable of mainQueryReferences) {
|
170
178
|
const referencedName = referencedTable.table.name;
|
171
179
|
// If main query references a CTE, create dependency edge
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CTEDependencyAnalyzer.js","sourceRoot":"","sources":["../../../../src/transformers/CTEDependencyAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"CTEDependencyAnalyzer.js","sourceRoot":"","sources":["../../../../src/transformers/CTEDependencyAnalyzer.ts"],"names":[],"mappings":"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"}
|
@@ -130,6 +130,12 @@ export declare class CTEQueryDecomposer {
|
|
130
130
|
name: string;
|
131
131
|
query: string;
|
132
132
|
}>, rootQuery: string): DecomposedCTE[];
|
133
|
+
/**
|
134
|
+
* Flattens nested WITH clauses by extracting sub-CTEs from edited CTEs
|
135
|
+
* @param editedCTEs Array of edited CTEs that may contain nested WITH clauses
|
136
|
+
* @returns Flattened array of CTEs with sub-CTEs extracted to top level
|
137
|
+
*/
|
138
|
+
private flattenNestedWithClauses;
|
133
139
|
/**
|
134
140
|
* Validates circular dependencies for non-recursive CTEs
|
135
141
|
* @param hasRecursiveCTEs Whether the query contains recursive CTEs
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { SimpleSelectQuery } from "../models/SimpleSelectQuery";
|
1
2
|
import { CTEDependencyAnalyzer } from "./CTEDependencyAnalyzer";
|
2
3
|
import { CTECollector } from "./CTECollector";
|
3
4
|
import { SqlFormatter } from "./SqlFormatter";
|
@@ -118,17 +119,94 @@ export class CTEQueryDecomposer {
|
|
118
119
|
if (editedCTEs.length === 0) {
|
119
120
|
return [];
|
120
121
|
}
|
122
|
+
// Flatten nested WITH clauses by extracting sub-CTEs from edited CTEs
|
123
|
+
const flattenedCTEs = this.flattenNestedWithClauses(editedCTEs);
|
121
124
|
// Use CTEComposer to create a unified query, sharing formatter options
|
122
125
|
const composerOptions = Object.assign(Object.assign({}, this.options), {
|
123
126
|
// Remove decomposer-specific options
|
124
127
|
addComments: undefined });
|
125
128
|
const composer = new CTEComposer(composerOptions);
|
126
|
-
const unifiedQuery = composer.compose(
|
129
|
+
const unifiedQuery = composer.compose(flattenedCTEs, rootQuery);
|
127
130
|
// Parse the unified query
|
128
131
|
const parsedQuery = SelectQueryParser.parse(unifiedQuery);
|
129
132
|
// Re-decompose the synchronized query
|
130
133
|
return this.decompose(parsedQuery);
|
131
134
|
}
|
135
|
+
/**
|
136
|
+
* Flattens nested WITH clauses by extracting sub-CTEs from edited CTEs
|
137
|
+
* @param editedCTEs Array of edited CTEs that may contain nested WITH clauses
|
138
|
+
* @returns Flattened array of CTEs with sub-CTEs extracted to top level
|
139
|
+
*/
|
140
|
+
flattenNestedWithClauses(editedCTEs) {
|
141
|
+
const flattened = [];
|
142
|
+
const extractedCTEs = new Map(); // name -> query mapping for extracted CTEs
|
143
|
+
for (const editedCTE of editedCTEs) {
|
144
|
+
try {
|
145
|
+
// Check if this CTE's query contains a WITH clause
|
146
|
+
const withPattern = /^\s*with\s+/i;
|
147
|
+
if (withPattern.test(editedCTE.query)) {
|
148
|
+
// Parse the query to extract nested CTEs
|
149
|
+
const parsed = SelectQueryParser.parse(editedCTE.query);
|
150
|
+
if (parsed.withClause && parsed.withClause.tables) {
|
151
|
+
// Extract each nested CTE
|
152
|
+
for (const nestedCTE of parsed.withClause.tables) {
|
153
|
+
const cteName = this.getCTEName(nestedCTE);
|
154
|
+
if (!extractedCTEs.has(cteName)) {
|
155
|
+
// Format the nested CTE query
|
156
|
+
const cteFormatter = new SqlFormatter({
|
157
|
+
identifierEscape: { start: "", end: "" }
|
158
|
+
});
|
159
|
+
const nestedQuery = cteFormatter.format(nestedCTE.query).formattedSql;
|
160
|
+
extractedCTEs.set(cteName, nestedQuery);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
// Create the main query without the WITH clause
|
164
|
+
const mainQueryWithoutWith = new SimpleSelectQuery({
|
165
|
+
selectClause: parsed.selectClause,
|
166
|
+
fromClause: parsed.fromClause,
|
167
|
+
whereClause: parsed.whereClause,
|
168
|
+
groupByClause: parsed.groupByClause,
|
169
|
+
havingClause: parsed.havingClause,
|
170
|
+
orderByClause: parsed.orderByClause,
|
171
|
+
windowClause: parsed.windowClause,
|
172
|
+
limitClause: parsed.limitClause,
|
173
|
+
offsetClause: parsed.offsetClause,
|
174
|
+
fetchClause: parsed.fetchClause,
|
175
|
+
forClause: parsed.forClause,
|
176
|
+
withClause: undefined // Remove WITH clause
|
177
|
+
});
|
178
|
+
const mainFormatter = new SqlFormatter({
|
179
|
+
identifierEscape: { start: "", end: "" }
|
180
|
+
});
|
181
|
+
const mainQuery = mainFormatter.format(mainQueryWithoutWith).formattedSql;
|
182
|
+
flattened.push({
|
183
|
+
name: editedCTE.name,
|
184
|
+
query: mainQuery
|
185
|
+
});
|
186
|
+
}
|
187
|
+
else {
|
188
|
+
// WITH clause exists but no tables found, preserve as-is
|
189
|
+
flattened.push(editedCTE);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
else {
|
193
|
+
// No WITH clause, preserve as-is
|
194
|
+
flattened.push(editedCTE);
|
195
|
+
}
|
196
|
+
}
|
197
|
+
catch (error) {
|
198
|
+
// If parsing fails, preserve the original CTE
|
199
|
+
flattened.push(editedCTE);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
// Add extracted CTEs at the beginning (they need to be defined first)
|
203
|
+
const result = [];
|
204
|
+
for (const [name, query] of extractedCTEs) {
|
205
|
+
result.push({ name, query });
|
206
|
+
}
|
207
|
+
result.push(...flattened);
|
208
|
+
return result;
|
209
|
+
}
|
132
210
|
/**
|
133
211
|
* Validates circular dependencies for non-recursive CTEs
|
134
212
|
* @param hasRecursiveCTEs Whether the query contains recursive CTEs
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CTEQueryDecomposer.js","sourceRoot":"","sources":["../../../../src/transformers/CTEQueryDecomposer.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CTEQueryDecomposer.js","sourceRoot":"","sources":["../../../../src/transformers/CTEQueryDecomposer.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { TableSource } from "../models/Clause";
|
2
|
+
import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
|
3
|
+
/**
|
4
|
+
* A specialized table source collector designed for CTE dependency analysis.
|
5
|
+
*
|
6
|
+
* Unlike the general-purpose TableSourceCollector, this collector:
|
7
|
+
* - Always includes CTE references in results (treats CTEs as valid table sources)
|
8
|
+
* - Always performs deep traversal of subqueries, WHERE clauses, etc.
|
9
|
+
* - Is optimized for dependency analysis rather than database schema analysis
|
10
|
+
*
|
11
|
+
* This collector is specifically designed for use by CTEDependencyAnalyzer to track
|
12
|
+
* which tables/CTEs are referenced by queries at any nesting level.
|
13
|
+
*/
|
14
|
+
export declare class CTETableReferenceCollector implements SqlComponentVisitor<void> {
|
15
|
+
private handlers;
|
16
|
+
private tableSources;
|
17
|
+
private visitedNodes;
|
18
|
+
private tableNameMap;
|
19
|
+
private isRootVisit;
|
20
|
+
constructor();
|
21
|
+
/**
|
22
|
+
* Collects all table references from the given SQL component
|
23
|
+
* @param query The SQL component to analyze
|
24
|
+
* @returns Array of TableSource objects representing all table references
|
25
|
+
*/
|
26
|
+
collect(query: SqlComponent): TableSource[];
|
27
|
+
/**
|
28
|
+
* Gets all collected table sources
|
29
|
+
*/
|
30
|
+
getTableSources(): TableSource[];
|
31
|
+
/**
|
32
|
+
* Reset the collection of table sources
|
33
|
+
*/
|
34
|
+
private reset;
|
35
|
+
/**
|
36
|
+
* Gets a unique identifier for a table source
|
37
|
+
*/
|
38
|
+
private getTableIdentifier;
|
39
|
+
/**
|
40
|
+
* Main entry point for the visitor pattern.
|
41
|
+
*/
|
42
|
+
visit(arg: SqlComponent): void;
|
43
|
+
/**
|
44
|
+
* Internal visit method used for all nodes.
|
45
|
+
*/
|
46
|
+
private visitNode;
|
47
|
+
private visitSimpleSelectQuery;
|
48
|
+
private visitBinarySelectQuery;
|
49
|
+
private visitValuesQuery;
|
50
|
+
private visitFromClause;
|
51
|
+
private visitSourceExpression;
|
52
|
+
private visitTableSource;
|
53
|
+
private visitFunctionSource;
|
54
|
+
private visitValueComponent;
|
55
|
+
private visitParenSource;
|
56
|
+
private visitSubQuerySource;
|
57
|
+
private visitInlineQuery;
|
58
|
+
private visitJoinClause;
|
59
|
+
private visitJoinOnClause;
|
60
|
+
private visitJoinUsingClause;
|
61
|
+
private visitWhereClause;
|
62
|
+
private visitGroupByClause;
|
63
|
+
private visitHavingClause;
|
64
|
+
private visitOrderByClause;
|
65
|
+
private visitWindowFrameClause;
|
66
|
+
private visitLimitClause;
|
67
|
+
private visitOffsetClause;
|
68
|
+
private visitFetchClause;
|
69
|
+
private visitForClause;
|
70
|
+
private visitOrderByItem;
|
71
|
+
private visitSelectClause;
|
72
|
+
private visitSelectItem;
|
73
|
+
private visitParenExpression;
|
74
|
+
private visitBinaryExpression;
|
75
|
+
private visitUnaryExpression;
|
76
|
+
private visitCaseExpression;
|
77
|
+
private visitSwitchCaseArgument;
|
78
|
+
private visitCaseKeyValuePair;
|
79
|
+
private visitBetweenExpression;
|
80
|
+
private visitFunctionCall;
|
81
|
+
private visitArrayExpression;
|
82
|
+
private visitArrayQueryExpression;
|
83
|
+
private visitTupleExpression;
|
84
|
+
private visitCastExpression;
|
85
|
+
private visitValueList;
|
86
|
+
private visitStringSpecifierExpression;
|
87
|
+
}
|