@memberjunction/generic-database-provider 5.28.0 → 5.30.0
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/GenericDatabaseProvider.d.ts +6 -8
- package/dist/GenericDatabaseProvider.d.ts.map +1 -1
- package/dist/GenericDatabaseProvider.js +32 -81
- package/dist/GenericDatabaseProvider.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/queryCompositionEngine.d.ts +24 -99
- package/dist/queryCompositionEngine.d.ts.map +1 -1
- package/dist/queryCompositionEngine.js +92 -369
- package/dist/queryCompositionEngine.js.map +1 -1
- package/dist/queryPagingEngine.d.ts +8 -59
- package/dist/queryPagingEngine.d.ts.map +1 -1
- package/dist/queryPagingEngine.js +55 -235
- package/dist/queryPagingEngine.js.map +1 -1
- package/dist/renderPipeline.d.ts +133 -0
- package/dist/renderPipeline.d.ts.map +1 -0
- package/dist/renderPipeline.js +218 -0
- package/dist/renderPipeline.js.map +1 -0
- package/dist/symbolTable.d.ts +47 -0
- package/dist/symbolTable.d.ts.map +1 -0
- package/dist/symbolTable.js +94 -0
- package/dist/symbolTable.js.map +1 -0
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryCompositionEngine.js","sourceRoot":"","sources":["../src/queryCompositionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryCompositionEngine.js","sourceRoot":"","sources":["../src/queryCompositionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DatabasePlatform } from '@memberjunction/core';
|
|
2
|
+
import { type SQLDialect } from '@memberjunction/sql-dialect';
|
|
2
3
|
/**
|
|
3
4
|
* Result of wrapping SQL with paging directives.
|
|
4
5
|
*/
|
|
@@ -44,15 +45,6 @@ export declare class QueryPagingEngine {
|
|
|
44
45
|
* Determines whether the given params indicate paging should be applied.
|
|
45
46
|
*/
|
|
46
47
|
static ShouldPage(startRow: number | undefined, maxRows: number | undefined): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Builds the paged data SQL by appending OFFSET/FETCH or LIMIT/OFFSET
|
|
49
|
-
* directly to the original SQL.
|
|
50
|
-
*
|
|
51
|
-
* - Strips TOP on SQL Server (TOP and OFFSET are mutually exclusive)
|
|
52
|
-
* - Ensures ORDER BY exists (SQL Server requires it for OFFSET/FETCH;
|
|
53
|
-
* PostgreSQL requires it for deterministic LIMIT/OFFSET)
|
|
54
|
-
* - Appends the platform-specific paging clause
|
|
55
|
-
*/
|
|
56
48
|
private static buildDataSQL;
|
|
57
49
|
/**
|
|
58
50
|
* Strips a TOP clause from the outermost SELECT statement.
|
|
@@ -60,60 +52,19 @@ export declare class QueryPagingEngine {
|
|
|
60
52
|
* Does not affect TOP in subqueries or CTEs.
|
|
61
53
|
*/
|
|
62
54
|
private static stripTopFromMainSelect;
|
|
63
|
-
/**
|
|
64
|
-
* Builds the count SQL by wrapping the original query (minus ORDER BY)
|
|
65
|
-
* in a CTE and selecting COUNT(*).
|
|
66
|
-
*
|
|
67
|
-
* Uses a two-tier approach:
|
|
68
|
-
* 1. **AST path** — parse SQL, strip ORDER BY via AST, reconstruct
|
|
69
|
-
* 2. **Regex fallback** — use SQLParser.ExtractCTEs + regex ORDER BY removal
|
|
70
|
-
*/
|
|
71
55
|
private static buildCountSQL;
|
|
72
|
-
/**
|
|
73
|
-
* AST-based count SQL: parse entire SQL, extract CTEs, strip ORDER BY and
|
|
74
|
-
* TOP from the main SELECT, then assemble all CTEs + __count as siblings
|
|
75
|
-
* in a flat WITH chain.
|
|
76
|
-
*/
|
|
77
56
|
private static buildCountSQLViaAST;
|
|
78
|
-
/**
|
|
79
|
-
* Extracts CTE definitions from an AST statement, producing quoted
|
|
80
|
-
* `[name] AS (...)` strings for each CTE.
|
|
81
|
-
*/
|
|
82
57
|
private static extractCTEsFromAST;
|
|
83
|
-
/**
|
|
84
|
-
* Regex-based count SQL: use SQLParser.ExtractCTEs for robust CTE splitting,
|
|
85
|
-
* then regex to strip ORDER BY from the main SELECT, wrap in count CTE.
|
|
86
|
-
*/
|
|
87
58
|
private static buildCountSQLViaRegex;
|
|
88
|
-
/**
|
|
89
|
-
* Wraps cleaned SQL (no ORDER BY) in a CTE for counting.
|
|
90
|
-
*/
|
|
91
|
-
private static assembleCountSQL;
|
|
92
59
|
private static findOrderByStatement;
|
|
93
|
-
/**
|
|
94
|
-
* Checks if the SQL has a top-level ORDER BY clause (not inside subqueries,
|
|
95
|
-
* CTEs, window functions, comments, or string/identifier literals).
|
|
96
|
-
*
|
|
97
|
-
* Tier 1: AST-based detection via SQLParser — correctly ignores comments,
|
|
98
|
-
* window-function ORDER BYs, and CTE-internal ORDER BYs.
|
|
99
|
-
*
|
|
100
|
-
* Tier 2: Regex fallback (paren-depth scan) — used only if parsing fails.
|
|
101
|
-
* The fallback can false-positive on `ORDER BY` text inside SQL comments
|
|
102
|
-
* or string literals, but is acceptable as a last resort.
|
|
103
|
-
*/
|
|
104
|
-
private static hasTopLevelOrderBy;
|
|
105
|
-
/**
|
|
106
|
-
* AST-based top-level ORDER BY detection.
|
|
107
|
-
* Returns true/false on successful parse, or null if parsing fails (caller
|
|
108
|
-
* should fall back to the regex scan).
|
|
109
|
-
*/
|
|
110
|
-
private static hasTopLevelOrderByViaAST;
|
|
111
60
|
/**
|
|
112
61
|
* Extracts the top-level ORDER BY clause from SQL, ignoring ORDER BY
|
|
113
|
-
* inside subqueries
|
|
114
|
-
*
|
|
62
|
+
* inside subqueries, block comments, line comments, single-quoted strings,
|
|
63
|
+
* and bracket/double-quoted identifiers.
|
|
64
|
+
*
|
|
65
|
+
* Preserves the public static API for existing callers and tests.
|
|
115
66
|
*/
|
|
116
|
-
static extractOrderBy(sql: string): {
|
|
67
|
+
static extractOrderBy(sql: string, dialect?: SQLDialect | string): {
|
|
117
68
|
sqlWithoutOrder: string;
|
|
118
69
|
orderByClause: string | null;
|
|
119
70
|
};
|
|
@@ -126,11 +77,9 @@ export declare class QueryPagingEngine {
|
|
|
126
77
|
};
|
|
127
78
|
/**
|
|
128
79
|
* ExtractCTEs returns CTE definitions with unquoted names (e.g. `myName AS (...)`).
|
|
129
|
-
*
|
|
80
|
+
* Apply dialect-specific identifier quoting to the CTE name.
|
|
130
81
|
*/
|
|
131
82
|
private static quoteCteName;
|
|
132
|
-
private static
|
|
133
|
-
private static buildPagingClause;
|
|
134
|
-
private static defaultOrderBy;
|
|
83
|
+
private static getDialect;
|
|
135
84
|
}
|
|
136
85
|
//# sourceMappingURL=queryPagingEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryPagingEngine.d.ts","sourceRoot":"","sources":["../src/queryPagingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"queryPagingEngine.d.ts","sourceRoot":"","sources":["../src/queryPagingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAE1B;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,GAC3B,gBAAgB;IAUnB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAQrF,OAAO,CAAC,MAAM,CAAC,YAAY;IAyB3B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA8BlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAajC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAsBpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAQnC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,UAAU,GAAG,MAA+B,GACtD;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAW5D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAOxE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAe3B,OAAO,CAAC,MAAM,CAAC,UAAU;CAG5B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SQLParser } from '@memberjunction/sql-parser';
|
|
1
|
+
import { SQLParser, AnalyzeTopLevelOrderBy, findOrderByStatement as sharedFindOrderByStatement } from '@memberjunction/sql-parser';
|
|
2
|
+
import { GetDialect, SQLServerDialect } from '@memberjunction/sql-dialect';
|
|
2
3
|
/**
|
|
3
4
|
* Handles server-side pagination for query SQL by applying platform-specific
|
|
4
5
|
* paging clauses.
|
|
@@ -27,10 +28,10 @@ export class QueryPagingEngine {
|
|
|
27
28
|
* @returns DataSQL for paged results and CountSQL for total row count
|
|
28
29
|
*/
|
|
29
30
|
static WrapWithPaging(resolvedSQL, startRow, maxRows, platform) {
|
|
30
|
-
// Strip trailing semicolons — they break OFFSET/FETCH and CTE wrapping
|
|
31
31
|
const cleanedSQL = resolvedSQL.trimEnd().replace(/;\s*$/, '');
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const dialect = QueryPagingEngine.getDialect(platform);
|
|
33
|
+
const dataSQL = QueryPagingEngine.buildDataSQL(cleanedSQL, startRow, maxRows, dialect);
|
|
34
|
+
const countSQL = QueryPagingEngine.buildCountSQL(cleanedSQL, dialect);
|
|
34
35
|
return { DataSQL: dataSQL, CountSQL: countSQL, Offset: startRow, PageSize: maxRows };
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
@@ -42,104 +43,67 @@ export class QueryPagingEngine {
|
|
|
42
43
|
// ════════════════════════════════════════════════════════════════════
|
|
43
44
|
// Data SQL — append paging clause directly to original SQL
|
|
44
45
|
// ════════════════════════════════════════════════════════════════════
|
|
45
|
-
|
|
46
|
-
* Builds the paged data SQL by appending OFFSET/FETCH or LIMIT/OFFSET
|
|
47
|
-
* directly to the original SQL.
|
|
48
|
-
*
|
|
49
|
-
* - Strips TOP on SQL Server (TOP and OFFSET are mutually exclusive)
|
|
50
|
-
* - Ensures ORDER BY exists (SQL Server requires it for OFFSET/FETCH;
|
|
51
|
-
* PostgreSQL requires it for deterministic LIMIT/OFFSET)
|
|
52
|
-
* - Appends the platform-specific paging clause
|
|
53
|
-
*/
|
|
54
|
-
static buildDataSQL(sql, startRow, maxRows, platform) {
|
|
46
|
+
static buildDataSQL(sql, startRow, maxRows, dialect) {
|
|
55
47
|
let dataSQL = sql;
|
|
56
48
|
// Strip TOP clause on SQL Server — it conflicts with OFFSET/FETCH.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
dataSQL = QueryPagingEngine.stripTopFromMainSelect(dataSQL);
|
|
49
|
+
if (dialect.PlatformKey === 'sqlserver') {
|
|
50
|
+
dataSQL = QueryPagingEngine.stripTopFromMainSelect(dataSQL, dialect);
|
|
60
51
|
}
|
|
61
52
|
// Ensure there's an ORDER BY — required for OFFSET/FETCH on SQL Server,
|
|
62
53
|
// and strongly recommended for deterministic LIMIT/OFFSET on PostgreSQL.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
dataSQL = `${dataSQL}\nORDER BY ${
|
|
54
|
+
const hasOrderBy = AnalyzeTopLevelOrderBy(dataSQL, dialect).Positions.length > 0;
|
|
55
|
+
if (!hasOrderBy) {
|
|
56
|
+
dataSQL = `${dataSQL}\nORDER BY ${dialect.DefaultPagingOrderBy}`;
|
|
66
57
|
}
|
|
67
|
-
// Append paging clause
|
|
68
|
-
const
|
|
69
|
-
return `${dataSQL}\n${
|
|
58
|
+
// Append paging clause via dialect
|
|
59
|
+
const limitResult = dialect.LimitClause(maxRows, startRow);
|
|
60
|
+
return `${dataSQL}\n${limitResult.suffix}`;
|
|
70
61
|
}
|
|
71
62
|
/**
|
|
72
63
|
* Strips a TOP clause from the outermost SELECT statement.
|
|
73
64
|
* Handles `TOP N` and `TOP (N)`, with or without DISTINCT.
|
|
74
65
|
* Does not affect TOP in subqueries or CTEs.
|
|
75
66
|
*/
|
|
76
|
-
static stripTopFromMainSelect(sql) {
|
|
77
|
-
|
|
78
|
-
// last CTE closing paren. Use ExtractCTEs to find the main statement.
|
|
79
|
-
const parserDialect = 'TransactSQL';
|
|
80
|
-
const extraction = SQLParser.ExtractCTEs(sql, parserDialect);
|
|
67
|
+
static stripTopFromMainSelect(sql, dialect) {
|
|
68
|
+
const extraction = SQLParser.ExtractCTEs(sql, dialect);
|
|
81
69
|
if (extraction) {
|
|
82
|
-
// SQL has CTEs — strip TOP only from the main statement
|
|
83
70
|
const { sql: cleanMain, topRemoved } = QueryPagingEngine.stripTopClause(extraction.MainStatement);
|
|
84
71
|
if (topRemoved) {
|
|
85
|
-
// Reassemble: WITH ... <CTEs> ... <cleanMain>
|
|
86
72
|
const ctePrefix = sql.substring(0, sql.length - extraction.MainStatement.length).trimEnd();
|
|
87
73
|
return `${ctePrefix}\n${cleanMain}`;
|
|
88
74
|
}
|
|
89
75
|
return sql;
|
|
90
76
|
}
|
|
91
|
-
// No CTEs — strip TOP from the SQL directly
|
|
92
77
|
const { sql: cleanSQL } = QueryPagingEngine.stripTopClause(sql);
|
|
93
78
|
return cleanSQL;
|
|
94
79
|
}
|
|
95
80
|
// ════════════════════════════════════════════════════════════════════
|
|
96
81
|
// Count SQL — wrap in CTE, strip ORDER BY, SELECT COUNT(*)
|
|
97
82
|
// ════════════════════════════════════════════════════════════════════
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
* in a CTE and selecting COUNT(*).
|
|
101
|
-
*
|
|
102
|
-
* Uses a two-tier approach:
|
|
103
|
-
* 1. **AST path** — parse SQL, strip ORDER BY via AST, reconstruct
|
|
104
|
-
* 2. **Regex fallback** — use SQLParser.ExtractCTEs + regex ORDER BY removal
|
|
105
|
-
*/
|
|
106
|
-
static buildCountSQL(sql, platform) {
|
|
107
|
-
// Tier 1: Try full AST — cleanest approach
|
|
108
|
-
const astResult = QueryPagingEngine.buildCountSQLViaAST(sql, platform);
|
|
83
|
+
static buildCountSQL(sql, dialect) {
|
|
84
|
+
const astResult = QueryPagingEngine.buildCountSQLViaAST(sql, dialect);
|
|
109
85
|
if (astResult)
|
|
110
86
|
return astResult;
|
|
111
|
-
|
|
112
|
-
return QueryPagingEngine.buildCountSQLViaRegex(sql, platform);
|
|
87
|
+
return QueryPagingEngine.buildCountSQLViaRegex(sql, dialect);
|
|
113
88
|
}
|
|
114
|
-
|
|
115
|
-
* AST-based count SQL: parse entire SQL, extract CTEs, strip ORDER BY and
|
|
116
|
-
* TOP from the main SELECT, then assemble all CTEs + __count as siblings
|
|
117
|
-
* in a flat WITH chain.
|
|
118
|
-
*/
|
|
119
|
-
static buildCountSQLViaAST(sql, platform) {
|
|
120
|
-
const parserDialect = platform === 'postgresql' ? 'PostgresQL' : 'TransactSQL';
|
|
89
|
+
static buildCountSQLViaAST(sql, dialect) {
|
|
121
90
|
try {
|
|
122
|
-
const ast = SQLParser.ParseSQL(sql,
|
|
91
|
+
const ast = SQLParser.ParseSQL(sql, dialect);
|
|
123
92
|
if (!ast)
|
|
124
93
|
return null;
|
|
125
94
|
const stmt = (Array.isArray(ast) ? ast[0] : ast);
|
|
126
95
|
if (!stmt)
|
|
127
96
|
return null;
|
|
128
|
-
|
|
129
|
-
const existingCTEDefs = QueryPagingEngine.extractCTEsFromAST(stmt, parserDialect, platform);
|
|
130
|
-
// Strip ORDER BY (not needed for counting, illegal in CTEs without TOP)
|
|
97
|
+
const existingCTEDefs = QueryPagingEngine.extractCTEsFromAST(stmt, dialect);
|
|
131
98
|
const orderByStmt = QueryPagingEngine.findOrderByStatement(stmt);
|
|
132
99
|
if (orderByStmt?.orderby) {
|
|
133
100
|
orderByStmt.orderby = null;
|
|
134
101
|
}
|
|
135
|
-
// Strip TOP — we want the full count
|
|
136
102
|
if (stmt.top)
|
|
137
103
|
stmt.top = null;
|
|
138
|
-
// Reconstruct only the main SELECT (without CTEs)
|
|
139
104
|
stmt.with = null;
|
|
140
|
-
const mainSelectSQL = SQLParser.SqlifyAST(stmt,
|
|
141
|
-
|
|
142
|
-
const countCTEName = QueryPagingEngine.quoteIdentifier('__count', platform);
|
|
105
|
+
const mainSelectSQL = SQLParser.SqlifyAST(stmt, dialect);
|
|
106
|
+
const countCTEName = dialect.QuoteIdentifier('__count');
|
|
143
107
|
const allCTEs = [...existingCTEDefs, `${countCTEName} AS (\n${mainSelectSQL}\n)`];
|
|
144
108
|
return `WITH ${allCTEs.join(',\n')}\nSELECT COUNT(*) AS TotalRowCount FROM ${countCTEName}`;
|
|
145
109
|
}
|
|
@@ -147,188 +111,52 @@ export class QueryPagingEngine {
|
|
|
147
111
|
return null;
|
|
148
112
|
}
|
|
149
113
|
}
|
|
150
|
-
|
|
151
|
-
* Extracts CTE definitions from an AST statement, producing quoted
|
|
152
|
-
* `[name] AS (...)` strings for each CTE.
|
|
153
|
-
*/
|
|
154
|
-
static extractCTEsFromAST(stmt, parserDialect, platform) {
|
|
114
|
+
static extractCTEsFromAST(stmt, dialect) {
|
|
155
115
|
const ctes = stmt.with || [];
|
|
156
116
|
return ctes.map(cte => {
|
|
157
117
|
const cteRecord = cte;
|
|
158
|
-
const quotedName =
|
|
159
|
-
const bodySQL = SQLParser.SqlifyAST(cteRecord.stmt.ast,
|
|
118
|
+
const quotedName = dialect.QuoteIdentifier(cteRecord.name.value);
|
|
119
|
+
const bodySQL = SQLParser.SqlifyAST(cteRecord.stmt.ast, dialect);
|
|
160
120
|
return `${quotedName} AS (\n${bodySQL}\n)`;
|
|
161
121
|
});
|
|
162
122
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
* then regex to strip ORDER BY from the main SELECT, wrap in count CTE.
|
|
166
|
-
*/
|
|
167
|
-
static buildCountSQLViaRegex(sql, platform) {
|
|
168
|
-
const parserDialect = platform === 'postgresql' ? 'PostgresQL' : 'TransactSQL';
|
|
169
|
-
const extraction = SQLParser.ExtractCTEs(sql, parserDialect);
|
|
123
|
+
static buildCountSQLViaRegex(sql, dialect) {
|
|
124
|
+
const extraction = SQLParser.ExtractCTEs(sql, dialect);
|
|
170
125
|
if (extraction) {
|
|
171
|
-
|
|
172
|
-
const
|
|
173
|
-
const
|
|
174
|
-
const countCTEName = QueryPagingEngine.quoteIdentifier('__count', platform);
|
|
126
|
+
const { sqlWithoutOrder } = QueryPagingEngine.extractOrderBy(extraction.MainStatement, dialect);
|
|
127
|
+
const quotedCTEDefs = extraction.CTEDefinitions.map(def => QueryPagingEngine.quoteCteName(def, dialect));
|
|
128
|
+
const countCTEName = dialect.QuoteIdentifier('__count');
|
|
175
129
|
const allCTEs = [...quotedCTEDefs, `${countCTEName} AS (\n${sqlWithoutOrder}\n)`];
|
|
176
130
|
return `WITH ${allCTEs.join(',\n')}\nSELECT COUNT(*) AS TotalRowCount FROM ${countCTEName}`;
|
|
177
131
|
}
|
|
178
|
-
|
|
179
|
-
const
|
|
180
|
-
return
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Wraps cleaned SQL (no ORDER BY) in a CTE for counting.
|
|
184
|
-
*/
|
|
185
|
-
static assembleCountSQL(cleanSQL, platform) {
|
|
186
|
-
const countCTEName = QueryPagingEngine.quoteIdentifier('__count', platform);
|
|
187
|
-
return `WITH ${countCTEName} AS (\n${cleanSQL}\n)\nSELECT COUNT(*) AS TotalRowCount FROM ${countCTEName}`;
|
|
132
|
+
const { sqlWithoutOrder } = QueryPagingEngine.extractOrderBy(sql, dialect);
|
|
133
|
+
const countCTEName = dialect.QuoteIdentifier('__count');
|
|
134
|
+
return `WITH ${countCTEName} AS (\n${sqlWithoutOrder}\n)\nSELECT COUNT(*) AS TotalRowCount FROM ${countCTEName}`;
|
|
188
135
|
}
|
|
189
136
|
// ════════════════════════════════════════════════════════════════════
|
|
190
|
-
// AST helpers
|
|
137
|
+
// AST helpers — delegate to shared orderByAnalyzer
|
|
191
138
|
// ════════════════════════════════════════════════════════════════════
|
|
192
139
|
static findOrderByStatement(stmt) {
|
|
193
|
-
|
|
194
|
-
return stmt;
|
|
195
|
-
if (stmt._next)
|
|
196
|
-
return QueryPagingEngine.findOrderByStatement(stmt._next);
|
|
197
|
-
return null;
|
|
140
|
+
return sharedFindOrderByStatement(stmt);
|
|
198
141
|
}
|
|
199
142
|
// ════════════════════════════════════════════════════════════════════
|
|
200
|
-
// SQL analysis helpers
|
|
143
|
+
// SQL analysis helpers — delegate to shared orderByAnalyzer
|
|
201
144
|
// ════════════════════════════════════════════════════════════════════
|
|
202
|
-
/**
|
|
203
|
-
* Checks if the SQL has a top-level ORDER BY clause (not inside subqueries,
|
|
204
|
-
* CTEs, window functions, comments, or string/identifier literals).
|
|
205
|
-
*
|
|
206
|
-
* Tier 1: AST-based detection via SQLParser — correctly ignores comments,
|
|
207
|
-
* window-function ORDER BYs, and CTE-internal ORDER BYs.
|
|
208
|
-
*
|
|
209
|
-
* Tier 2: Regex fallback (paren-depth scan) — used only if parsing fails.
|
|
210
|
-
* The fallback can false-positive on `ORDER BY` text inside SQL comments
|
|
211
|
-
* or string literals, but is acceptable as a last resort.
|
|
212
|
-
*/
|
|
213
|
-
static hasTopLevelOrderBy(sql, platform) {
|
|
214
|
-
const astResult = QueryPagingEngine.hasTopLevelOrderByViaAST(sql, platform);
|
|
215
|
-
if (astResult !== null) {
|
|
216
|
-
return astResult;
|
|
217
|
-
}
|
|
218
|
-
return QueryPagingEngine.extractOrderBy(sql).orderByClause !== null;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* AST-based top-level ORDER BY detection.
|
|
222
|
-
* Returns true/false on successful parse, or null if parsing fails (caller
|
|
223
|
-
* should fall back to the regex scan).
|
|
224
|
-
*/
|
|
225
|
-
static hasTopLevelOrderByViaAST(sql, platform) {
|
|
226
|
-
const parserDialect = platform === 'postgresql' ? 'PostgresQL' : 'TransactSQL';
|
|
227
|
-
try {
|
|
228
|
-
const ast = SQLParser.ParseSQL(sql, parserDialect);
|
|
229
|
-
if (!ast)
|
|
230
|
-
return null;
|
|
231
|
-
const stmt = (Array.isArray(ast) ? ast[0] : ast);
|
|
232
|
-
if (!stmt)
|
|
233
|
-
return null;
|
|
234
|
-
// Walk UNION/INTERSECT/EXCEPT chains via _next; ORDER BY can live on
|
|
235
|
-
// any segment but is logically top-level.
|
|
236
|
-
return QueryPagingEngine.findOrderByStatement(stmt) !== null;
|
|
237
|
-
}
|
|
238
|
-
catch {
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
145
|
/**
|
|
243
146
|
* Extracts the top-level ORDER BY clause from SQL, ignoring ORDER BY
|
|
244
|
-
* inside subqueries
|
|
245
|
-
*
|
|
147
|
+
* inside subqueries, block comments, line comments, single-quoted strings,
|
|
148
|
+
* and bracket/double-quoted identifiers.
|
|
149
|
+
*
|
|
150
|
+
* Preserves the public static API for existing callers and tests.
|
|
246
151
|
*/
|
|
247
|
-
static extractOrderBy(sql) {
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
let i = 0;
|
|
253
|
-
while (i < len) {
|
|
254
|
-
const ch = sql[i];
|
|
255
|
-
// Block comment
|
|
256
|
-
if (ch === '/' && i + 1 < len && sql[i + 1] === '*') {
|
|
257
|
-
i += 2;
|
|
258
|
-
while (i < len - 1 && !(sql[i] === '*' && sql[i + 1] === '/'))
|
|
259
|
-
i++;
|
|
260
|
-
if (i < len - 1)
|
|
261
|
-
i += 2;
|
|
262
|
-
else
|
|
263
|
-
i = len;
|
|
264
|
-
continue;
|
|
265
|
-
}
|
|
266
|
-
// Line comment
|
|
267
|
-
if (ch === '-' && i + 1 < len && sql[i + 1] === '-') {
|
|
268
|
-
i += 2;
|
|
269
|
-
while (i < len && sql[i] !== '\n')
|
|
270
|
-
i++;
|
|
271
|
-
continue;
|
|
272
|
-
}
|
|
273
|
-
// Single-quoted string
|
|
274
|
-
if (ch === "'") {
|
|
275
|
-
i++;
|
|
276
|
-
while (i < len) {
|
|
277
|
-
if (sql[i] === "'") {
|
|
278
|
-
if (i + 1 < len && sql[i + 1] === "'") {
|
|
279
|
-
i += 2;
|
|
280
|
-
continue;
|
|
281
|
-
}
|
|
282
|
-
i++;
|
|
283
|
-
break;
|
|
284
|
-
}
|
|
285
|
-
i++;
|
|
286
|
-
}
|
|
287
|
-
continue;
|
|
288
|
-
}
|
|
289
|
-
// Bracket-quoted identifier
|
|
290
|
-
if (ch === '[') {
|
|
291
|
-
i++;
|
|
292
|
-
while (i < len && sql[i] !== ']')
|
|
293
|
-
i++;
|
|
294
|
-
if (i < len)
|
|
295
|
-
i++;
|
|
296
|
-
continue;
|
|
297
|
-
}
|
|
298
|
-
// Double-quoted identifier
|
|
299
|
-
if (ch === '"') {
|
|
300
|
-
i++;
|
|
301
|
-
while (i < len && sql[i] !== '"')
|
|
302
|
-
i++;
|
|
303
|
-
if (i < len)
|
|
304
|
-
i++;
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
|
-
if (ch === '(') {
|
|
308
|
-
depth++;
|
|
309
|
-
i++;
|
|
310
|
-
continue;
|
|
311
|
-
}
|
|
312
|
-
if (ch === ')') {
|
|
313
|
-
depth--;
|
|
314
|
-
i++;
|
|
315
|
-
continue;
|
|
316
|
-
}
|
|
317
|
-
if (depth === 0 && i + 8 <= len && upperSQL.substring(i, i + 8) === 'ORDER BY') {
|
|
318
|
-
if (i === 0 || /\s/.test(sql[i - 1])) {
|
|
319
|
-
lastOrderByPos = i;
|
|
320
|
-
}
|
|
321
|
-
i += 8;
|
|
322
|
-
continue;
|
|
323
|
-
}
|
|
324
|
-
i++;
|
|
325
|
-
}
|
|
326
|
-
if (lastOrderByPos === -1) {
|
|
327
|
-
return { sqlWithoutOrder: sql, orderByClause: null };
|
|
328
|
-
}
|
|
152
|
+
static extractOrderBy(sql, dialect = new SQLServerDialect()) {
|
|
153
|
+
const resolvedDialect = typeof dialect === 'string'
|
|
154
|
+
? QueryPagingEngine.getDialect(dialect)
|
|
155
|
+
: dialect;
|
|
156
|
+
const analysis = AnalyzeTopLevelOrderBy(sql, resolvedDialect);
|
|
329
157
|
return {
|
|
330
|
-
|
|
331
|
-
|
|
158
|
+
sqlWithoutOrder: analysis.SqlWithoutOrderBy,
|
|
159
|
+
orderByClause: analysis.OrderByClause,
|
|
332
160
|
};
|
|
333
161
|
}
|
|
334
162
|
/**
|
|
@@ -343,31 +171,23 @@ export class QueryPagingEngine {
|
|
|
343
171
|
}
|
|
344
172
|
/**
|
|
345
173
|
* ExtractCTEs returns CTE definitions with unquoted names (e.g. `myName AS (...)`).
|
|
346
|
-
*
|
|
174
|
+
* Apply dialect-specific identifier quoting to the CTE name.
|
|
347
175
|
*/
|
|
348
|
-
static quoteCteName(cteDefinition,
|
|
176
|
+
static quoteCteName(cteDefinition, dialect) {
|
|
349
177
|
const match = cteDefinition.match(/^(\[([^\]]+)\]|"([^"]+)"|([A-Za-z_]\w*))\s+AS\s*\(/i);
|
|
350
178
|
if (!match)
|
|
351
179
|
return cteDefinition;
|
|
352
180
|
const bareName = match[2] ?? match[3] ?? match[4];
|
|
353
181
|
if (!bareName)
|
|
354
182
|
return cteDefinition;
|
|
355
|
-
const quotedName =
|
|
183
|
+
const quotedName = dialect.QuoteIdentifier(bareName);
|
|
356
184
|
return quotedName + cteDefinition.substring(match[1].length);
|
|
357
185
|
}
|
|
358
186
|
// ════════════════════════════════════════════════════════════════════
|
|
359
|
-
//
|
|
187
|
+
// Dialect resolution
|
|
360
188
|
// ════════════════════════════════════════════════════════════════════
|
|
361
|
-
static
|
|
362
|
-
return platform
|
|
363
|
-
}
|
|
364
|
-
static buildPagingClause(startRow, maxRows, platform) {
|
|
365
|
-
return platform === 'postgresql'
|
|
366
|
-
? `LIMIT ${maxRows} OFFSET ${startRow}`
|
|
367
|
-
: `OFFSET ${startRow} ROWS FETCH NEXT ${maxRows} ROWS ONLY`;
|
|
368
|
-
}
|
|
369
|
-
static defaultOrderBy(platform) {
|
|
370
|
-
return platform === 'postgresql' ? '1' : '(SELECT NULL)';
|
|
189
|
+
static getDialect(platform) {
|
|
190
|
+
return GetDialect(platform);
|
|
371
191
|
}
|
|
372
192
|
}
|
|
373
193
|
//# sourceMappingURL=queryPagingEngine.js.map
|