rawsql-ts 0.17.0 → 0.19.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/LICENSE +21 -0
- package/README.md +8 -2
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +10 -10
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/models/Clause.d.ts +2 -1
- package/dist/esm/models/Clause.js.map +1 -1
- package/dist/esm/models/MergeQuery.d.ts +3 -1
- package/dist/esm/models/MergeQuery.js +2 -1
- package/dist/esm/models/MergeQuery.js.map +1 -1
- package/dist/esm/models/TableDefinitionModel.js +2 -1
- package/dist/esm/models/TableDefinitionModel.js.map +1 -1
- package/dist/esm/parsers/CommonTableParser.js +13 -2
- package/dist/esm/parsers/CommonTableParser.js.map +1 -1
- package/dist/esm/parsers/MergeQueryParser.js +12 -3
- package/dist/esm/parsers/MergeQueryParser.js.map +1 -1
- package/dist/esm/parsers/SqlPrintTokenParser.js +4 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/transformers/CTECollector.d.ts +1 -0
- package/dist/esm/transformers/CTECollector.js +37 -0
- package/dist/esm/transformers/CTECollector.js.map +1 -1
- package/dist/esm/transformers/CTEDependencyTracer.js +2 -1
- package/dist/esm/transformers/CTEDependencyTracer.js.map +1 -1
- package/dist/esm/transformers/ColumnReferenceCollector.d.ts +1 -0
- package/dist/esm/transformers/ColumnReferenceCollector.js +32 -0
- package/dist/esm/transformers/ColumnReferenceCollector.js.map +1 -1
- package/dist/esm/transformers/DynamicQueryBuilder.d.ts +9 -13
- package/dist/esm/transformers/DynamicQueryBuilder.js +8 -108
- package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/esm/transformers/ExistsPredicateInjector.js +2 -1
- package/dist/esm/transformers/ExistsPredicateInjector.js.map +1 -1
- package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +14 -2
- package/dist/esm/transformers/PruneOptionalConditionBranches.js +105 -37
- package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js +253 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/esm/transformers/SchemaCollector.js +2 -1
- package/dist/esm/transformers/SchemaCollector.js.map +1 -1
- package/dist/esm/transformers/SelectValueCollector.js +2 -1
- package/dist/esm/transformers/SelectValueCollector.js.map +1 -1
- package/dist/esm/transformers/SqlParamInjector.js +2 -1
- package/dist/esm/transformers/SqlParamInjector.js.map +1 -1
- package/dist/esm/transformers/TableSourceCollector.d.ts +2 -0
- package/dist/esm/transformers/TableSourceCollector.js +47 -0
- package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
- package/dist/esm/transformers/UpstreamSelectQueryFinder.js +2 -1
- package/dist/esm/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/esm/utils/RelationGraph.d.ts +43 -0
- package/dist/esm/utils/RelationGraph.js +117 -0
- package/dist/esm/utils/RelationGraph.js.map +1 -0
- package/dist/esm/utils/ScopeResolver.js +2 -1
- package/dist/esm/utils/ScopeResolver.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +10 -10
- package/dist/index.min.js.map +4 -4
- package/dist/models/Clause.js.map +1 -1
- package/dist/models/MergeQuery.js +2 -1
- package/dist/models/MergeQuery.js.map +1 -1
- package/dist/models/TableDefinitionModel.js +2 -1
- package/dist/models/TableDefinitionModel.js.map +1 -1
- package/dist/parsers/CommonTableParser.js +13 -2
- package/dist/parsers/CommonTableParser.js.map +1 -1
- package/dist/parsers/MergeQueryParser.js +12 -3
- package/dist/parsers/MergeQueryParser.js.map +1 -1
- package/dist/parsers/SqlPrintTokenParser.js +4 -0
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/src/index.d.ts +4 -0
- package/dist/src/models/Clause.d.ts +2 -1
- package/dist/src/models/MergeQuery.d.ts +3 -1
- package/dist/src/transformers/CTECollector.d.ts +1 -0
- package/dist/src/transformers/ColumnReferenceCollector.d.ts +1 -0
- package/dist/src/transformers/DynamicQueryBuilder.d.ts +9 -13
- package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +14 -2
- package/dist/src/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/src/transformers/TableSourceCollector.d.ts +2 -0
- package/dist/src/utils/RelationGraph.d.ts +43 -0
- package/dist/transformers/CTECollector.js +37 -0
- package/dist/transformers/CTECollector.js.map +1 -1
- package/dist/transformers/CTEDependencyTracer.js +2 -1
- package/dist/transformers/CTEDependencyTracer.js.map +1 -1
- package/dist/transformers/ColumnReferenceCollector.js +32 -0
- package/dist/transformers/ColumnReferenceCollector.js.map +1 -1
- package/dist/transformers/DynamicQueryBuilder.js +8 -97
- package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/transformers/ExistsPredicateInjector.js +2 -1
- package/dist/transformers/ExistsPredicateInjector.js.map +1 -1
- package/dist/transformers/PruneOptionalConditionBranches.js +106 -37
- package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/transformers/SSSQLFilterBuilder.js +259 -0
- package/dist/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/transformers/SchemaCollector.js +2 -1
- package/dist/transformers/SchemaCollector.js.map +1 -1
- package/dist/transformers/SelectValueCollector.js +2 -1
- package/dist/transformers/SelectValueCollector.js.map +1 -1
- package/dist/transformers/SqlParamInjector.js +2 -1
- package/dist/transformers/SqlParamInjector.js.map +1 -1
- package/dist/transformers/TableSourceCollector.js +47 -0
- package/dist/transformers/TableSourceCollector.js.map +1 -1
- package/dist/transformers/UpstreamSelectQueryFinder.js +2 -1
- package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/utils/RelationGraph.js +123 -0
- package/dist/utils/RelationGraph.js.map +1 -0
- package/dist/utils/ScopeResolver.js +2 -1
- package/dist/utils/ScopeResolver.js.map +1 -1
- package/package.json +64 -65
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DynamicQueryBuilder = void 0;
|
|
4
4
|
const SelectQueryParser_1 = require("../parsers/SelectQueryParser");
|
|
5
|
-
const SqlParamInjector_1 = require("./SqlParamInjector");
|
|
6
5
|
const SqlSortInjector_1 = require("./SqlSortInjector");
|
|
7
6
|
const SqlPaginationInjector_1 = require("./SqlPaginationInjector");
|
|
8
7
|
const PostgresJsonQueryBuilder_1 = require("./PostgresJsonQueryBuilder");
|
|
@@ -10,7 +9,6 @@ const QueryBuilder_1 = require("./QueryBuilder");
|
|
|
10
9
|
const SqlParameterBinder_1 = require("./SqlParameterBinder");
|
|
11
10
|
const ParameterDetector_1 = require("../utils/ParameterDetector");
|
|
12
11
|
const ValueComponent_1 = require("../models/ValueComponent");
|
|
13
|
-
const ExistsPredicateInjector_1 = require("./ExistsPredicateInjector");
|
|
14
12
|
const OptimizeUnusedLeftJoins_1 = require("./OptimizeUnusedLeftJoins");
|
|
15
13
|
const PruneOptionalConditionBranches_1 = require("./PruneOptionalConditionBranches");
|
|
16
14
|
/**
|
|
@@ -69,7 +67,7 @@ class DynamicQueryBuilder {
|
|
|
69
67
|
}
|
|
70
68
|
// Apply dynamic modifications in the correct order
|
|
71
69
|
let modifiedQuery = parsedQuery;
|
|
72
|
-
// 1. Bind
|
|
70
|
+
// 1. Bind existing named parameters, but fail fast for legacy runtime filter assembly.
|
|
73
71
|
if (options.filter && Object.keys(options.filter).length > 0) {
|
|
74
72
|
const { hardcodedParams, dynamicFilters } = ParameterDetector_1.ParameterDetector.separateFilters(modifiedQuery, options.filter);
|
|
75
73
|
// Bind hardcoded parameters if any exist
|
|
@@ -77,19 +75,9 @@ class DynamicQueryBuilder {
|
|
|
77
75
|
const parameterBinder = new SqlParameterBinder_1.SqlParameterBinder({ requireAllParameters: false });
|
|
78
76
|
modifiedQuery = parameterBinder.bind(modifiedQuery, hardcodedParams);
|
|
79
77
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const paramInjector = new SqlParamInjector_1.SqlParamInjector(this.tableColumnResolver);
|
|
84
|
-
// Ensure we have a SimpleSelectQuery for the injector
|
|
85
|
-
const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
|
|
86
|
-
modifiedQuery = paramInjector.inject(simpleQuery, cleanedFilters);
|
|
87
|
-
}
|
|
88
|
-
if (existsInstructions.length > 0) {
|
|
89
|
-
modifiedQuery = (0, ExistsPredicateInjector_1.injectExistsPredicates)(modifiedQuery, existsInstructions, {
|
|
90
|
-
tableColumnResolver: this.tableColumnResolver,
|
|
91
|
-
strict: !!options.existsStrict
|
|
92
|
-
});
|
|
78
|
+
const hasLegacyDynamicFilters = Object.keys(dynamicFilters).length > 0;
|
|
79
|
+
if (hasLegacyDynamicFilters) {
|
|
80
|
+
throw new Error("DynamicQueryBuilder no longer injects runtime filter predicates. Use `ztd query sssql scaffold` to author optional filters, `ztd query sssql refresh` to refresh them, and `optionalConditionParameters` at runtime for pruning only.");
|
|
93
81
|
}
|
|
94
82
|
}
|
|
95
83
|
// 2. Apply sorting second (after filtering to sort smaller dataset)
|
|
@@ -152,83 +140,6 @@ class DynamicQueryBuilder {
|
|
|
152
140
|
}
|
|
153
141
|
return legacyParameters;
|
|
154
142
|
}
|
|
155
|
-
extractExistsInstructions(filters) {
|
|
156
|
-
const cleanedFilters = {};
|
|
157
|
-
const instructions = [];
|
|
158
|
-
for (const [key, value] of Object.entries(filters)) {
|
|
159
|
-
if (key === "$exists" || key === "$notExists") {
|
|
160
|
-
// Multi-anchor metadata arrives as arrays keyed by the special markers.
|
|
161
|
-
if (!this.isMultiColumnDefinitionArray(value)) {
|
|
162
|
-
throw new Error(`'${key}' must be an array of EXISTS definitions.`);
|
|
163
|
-
}
|
|
164
|
-
this.handleMultiAnchorDefinitions(key, value, instructions);
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
if (this.isFilterConditionObject(value)) {
|
|
168
|
-
const { leftover, exists, notExists } = this.splitExistsProperties(value);
|
|
169
|
-
if (exists) {
|
|
170
|
-
instructions.push(this.createExistsInstruction([key], exists, "exists"));
|
|
171
|
-
}
|
|
172
|
-
if (notExists) {
|
|
173
|
-
instructions.push(this.createExistsInstruction([key], notExists, "notExists"));
|
|
174
|
-
}
|
|
175
|
-
if (leftover) {
|
|
176
|
-
cleanedFilters[key] = leftover;
|
|
177
|
-
}
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
if (this.isMultiColumnDefinitionArray(value)) {
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
cleanedFilters[key] = value;
|
|
184
|
-
}
|
|
185
|
-
return { filters: cleanedFilters, instructions };
|
|
186
|
-
}
|
|
187
|
-
handleMultiAnchorDefinitions(key, definitions, instructions) {
|
|
188
|
-
// Build instructions for each multi-anchor definition in the batch.
|
|
189
|
-
for (const definition of definitions) {
|
|
190
|
-
if (!definition.on || definition.on.length === 0) {
|
|
191
|
-
throw new Error(`Every ${key} instruction must specify an "on" array.`);
|
|
192
|
-
}
|
|
193
|
-
instructions.push(this.createExistsInstruction(definition.on, definition, key === "$notExists" ? "notExists" : "exists"));
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
splitExistsProperties(value) {
|
|
197
|
-
const { exists, notExists, ...rest } = value;
|
|
198
|
-
const hasRemaining = Object.keys(rest).length > 0;
|
|
199
|
-
return {
|
|
200
|
-
leftover: hasRemaining ? rest : undefined,
|
|
201
|
-
exists: exists,
|
|
202
|
-
notExists: notExists
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
isFilterConditionObject(value) {
|
|
206
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
207
|
-
}
|
|
208
|
-
isMultiColumnDefinitionArray(value) {
|
|
209
|
-
return Array.isArray(value) && value.every(entry => this.isMultiColumnDefinition(entry));
|
|
210
|
-
}
|
|
211
|
-
isMultiColumnDefinition(value) {
|
|
212
|
-
if (!value || typeof value !== "object") {
|
|
213
|
-
return false;
|
|
214
|
-
}
|
|
215
|
-
const candidate = value;
|
|
216
|
-
return (Array.isArray(candidate.on) &&
|
|
217
|
-
candidate.on.length > 0 &&
|
|
218
|
-
candidate.on.every(column => typeof column === "string") &&
|
|
219
|
-
typeof candidate.sql === "string");
|
|
220
|
-
}
|
|
221
|
-
createExistsInstruction(anchors, definition, mode) {
|
|
222
|
-
if (!definition.sql || typeof definition.sql !== "string") {
|
|
223
|
-
throw new Error("EXISTS definition must include a SQL string.");
|
|
224
|
-
}
|
|
225
|
-
return {
|
|
226
|
-
mode,
|
|
227
|
-
anchorColumns: anchors,
|
|
228
|
-
sql: definition.sql,
|
|
229
|
-
params: definition.params
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
143
|
applyColumnFilters(query, options) {
|
|
233
144
|
const hasIncludeFilters = Array.isArray(options.includeColumns) && options.includeColumns.length > 0;
|
|
234
145
|
const hasExcludeFilters = Array.isArray(options.excludeColumns) && options.excludeColumns.length > 0;
|
|
@@ -317,12 +228,12 @@ class DynamicQueryBuilder {
|
|
|
317
228
|
return null;
|
|
318
229
|
}
|
|
319
230
|
/**
|
|
320
|
-
*
|
|
321
|
-
*
|
|
231
|
+
* Legacy helper for binding existing named parameters without adding new runtime predicates.
|
|
232
|
+
* Dynamic WHERE-condition injection is no longer supported; use SSSQL scaffold/refresh instead.
|
|
322
233
|
*
|
|
323
234
|
* @param sqlContent Raw SQL string to parse and modify
|
|
324
|
-
* @param filter
|
|
325
|
-
* @returns Modified SelectQuery
|
|
235
|
+
* @param filter Named parameters to bind when they already exist in the SQL
|
|
236
|
+
* @returns Modified SelectQuery after binding existing named parameters
|
|
326
237
|
*/
|
|
327
238
|
buildFilteredQuery(sqlContent, filter) {
|
|
328
239
|
return this.buildQuery(sqlContent, { filter });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ const Clause_1 = require("../models/Clause");
|
|
|
7
7
|
const InsertQuery_1 = require("../models/InsertQuery");
|
|
8
8
|
const UpdateQuery_1 = require("../models/UpdateQuery");
|
|
9
9
|
const DeleteQuery_1 = require("../models/DeleteQuery");
|
|
10
|
+
const MergeQuery_1 = require("../models/MergeQuery");
|
|
10
11
|
const QueryBuilder_1 = require("./QueryBuilder");
|
|
11
12
|
const SelectableColumnCollector_1 = require("./SelectableColumnCollector");
|
|
12
13
|
const UpstreamSelectQueryFinder_1 = require("./UpstreamSelectQueryFinder");
|
|
@@ -196,7 +197,7 @@ class ColumnReferenceResolver {
|
|
|
196
197
|
return [];
|
|
197
198
|
}
|
|
198
199
|
collectColumnsFromReturning(query) {
|
|
199
|
-
if (query instanceof InsertQuery_1.InsertQuery || query instanceof UpdateQuery_1.UpdateQuery || query instanceof DeleteQuery_1.DeleteQuery) {
|
|
200
|
+
if (query instanceof InsertQuery_1.InsertQuery || query instanceof UpdateQuery_1.UpdateQuery || query instanceof DeleteQuery_1.DeleteQuery || query instanceof MergeQuery_1.MergeQuery) {
|
|
200
201
|
return this.extractReturningColumns(query.returningClause);
|
|
201
202
|
}
|
|
202
203
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExistsPredicateInjector.js","sourceRoot":"","sources":["../../src/transformers/ExistsPredicateInjector.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ExistsPredicateInjector.js","sourceRoot":"","sources":["../../src/transformers/ExistsPredicateInjector.ts"],"names":[],"mappings":";;AAoDA,wDAyBC;AA7ED,uDAA0F;AAC1F,6DAMkC;AAClC,6CAAoH;AACpH,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAC9C,2EAAgG;AAChG,2EAAwE;AACxE,iDAA8C;AAC9C,oEAAiE;AA8BjE;;;;GAIG;AACH,SAAgB,sBAAsB,CAClC,KAAkB,EAClB,YAAiC,EACjC,UAAkC,EAAE;IAEpC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,2BAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,IAAI,2BAAY,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAEpC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC;YACD,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CACrB,KAAwB,EACxB,WAA8B,EAC9B,QAAiC,EACjC,SAAuB;IAEvB,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;IACpG,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAC5C,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,qCAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACrB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,gCAAe,CAAC,QAAQ,EAAE,IAAI,4BAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,KAAK,QAAQ;QAC3C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAI,gCAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEnD,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,gBAA0B;IACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,kBAAkB,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,uCAAuC,CAAC,CAAC;QACpF,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkB,EAAE,MAAyC;IACzF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED,MAAM,uBAAuB;IAIzB,YAAoB,mBAAqD;QAArD,wBAAmB,GAAnB,mBAAmB,CAAkC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAyB,CAC1C,IAAI,CAAC,mBAAmB,EACxB,KAAK,EACL,kDAAsB,CAAC,QAAQ,EAC/B,EAAE,QAAQ,EAAE,IAAI,EAAE,CACrB,CAAC;IACN,CAAC;IAEM,OAAO,CAAC,KAAkB,EAAE,UAAkB;;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,UAAU,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;QAElC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACrF,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC,KAAK,CAAC;YACvB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,KAAwB;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CACtB,OAAkD,EAClD,YAAoB,EACpB,WAA+B,EAC/B,KAAwB;QAExB,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,eAAe,KAAK,gBAAgB;gBAAE,SAAS;YAEnD,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrD,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,SAAS;YACb,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,KAAqB,EAAE,WAAmB,EAAE,KAAwB;QACrF,IAAI,CAAC,CAAC,KAAK,YAAY,gCAAe,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/D,IAAI,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,gBAAgB,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,eAAe,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,KAAwB;QAC9C,MAAM,OAAO,GAA8C,EAAE,CAAC;QAE9D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACL,wDAAwD;YAC5D,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,0BAA0B,CAAC,KAAe;QAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,6BAA6B,CAAC,KAAkB;QACpD,IAAI,KAAK,YAAY,+BAAiB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,YAAY,+BAAiB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,2BAA2B,CAAC,KAAe;QAC/C,IAAI,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,uBAAU,EAAE,CAAC;YAC9H,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,uBAAuB,CAAC,eAAuC;;QACnE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAA8C,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mCAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,YAAY,gCAAe,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,KAAwB;;QAI9C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,MAAM,iBAAiB,GAAG,CAAC,UAA8B,EAAE,EAAE;YACzD,IAAI,CAAC,UAAU;gBAAE,OAAO;YAExB,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAChF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBAClC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;gBAC9E,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,iBAAiB,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,SAAS,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,kBAAkB,EAAE,0CAAE,WAAW,EAAE,CAAC;gBACtD,IAAI,KAAK,EAAE,CAAC;oBACR,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACjC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO;YACH,gBAAgB,EAAE,cAAc;YAChC,gBAAgB,EAAE,cAAc;SACnC,CAAC;IACN,CAAC;IAEO,uBAAuB,CAC3B,MAAwB,EACxB,WAAgC,EAChC,WAAgC;;QAEhC,IAAI,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,YAAY,oBAAW,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,CAAA,MAAA,MAAA,MAAM,CAAC,eAAe,0CAAE,KAAK,0CAAE,IAAI,KAAI,QAAQ,CAAC;gBAClE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACxB,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACnD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;oBACnD,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;wBACrD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wEAAwE;QAC5E,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,UAAkB;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3D,OAAO;gBACH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aAC1B,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAY;;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEO,eAAe,CAAC,KAAa;QACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEO,aAAa,CAAC,KAAe;QACjC,OAAO,mBAAmB,IAAI,KAAK,IAAK,KAAqB,CAAC,iBAAiB,KAAK,aAAa,CAAC;IACtG,CAAC;CACJ"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pruneOptionalConditionBranches = void 0;
|
|
3
|
+
exports.collectSupportedOptionalConditionBranches = exports.pruneOptionalConditionBranches = void 0;
|
|
4
4
|
const Clause_1 = require("../models/Clause");
|
|
5
5
|
const SelectQuery_1 = require("../models/SelectQuery");
|
|
6
6
|
const ValueComponent_1 = require("../models/ValueComponent");
|
|
7
7
|
const ParameterCollector_1 = require("./ParameterCollector");
|
|
8
|
-
const SUPPORTED_COMPARISON_OPERATORS = new Set(['=', '<>', '!=', '>', '>=', '<', '<=']);
|
|
9
8
|
const isBinaryOperator = (expression, operator) => {
|
|
10
9
|
return expression instanceof ValueComponent_1.BinaryExpression && expression.operator.value.trim().toLowerCase() === operator;
|
|
11
10
|
};
|
|
@@ -27,6 +26,16 @@ const collectTopLevelAndTerms = (expression) => {
|
|
|
27
26
|
...collectTopLevelAndTerms(candidate.right)
|
|
28
27
|
];
|
|
29
28
|
};
|
|
29
|
+
const collectTopLevelOrTerms = (expression) => {
|
|
30
|
+
const candidate = unwrapSingleOuterParen(expression);
|
|
31
|
+
if (!isBinaryOperator(candidate, 'or')) {
|
|
32
|
+
return [expression];
|
|
33
|
+
}
|
|
34
|
+
return [
|
|
35
|
+
...collectTopLevelOrTerms(candidate.left),
|
|
36
|
+
...collectTopLevelOrTerms(candidate.right)
|
|
37
|
+
];
|
|
38
|
+
};
|
|
30
39
|
const isNullLiteral = (expression) => {
|
|
31
40
|
return ((expression instanceof ValueComponent_1.LiteralValue && expression.value === null) ||
|
|
32
41
|
(expression instanceof ValueComponent_1.RawString && expression.value.trim().toLowerCase() === 'null'));
|
|
@@ -57,32 +66,17 @@ const getGuardedParameterName = (expression) => {
|
|
|
57
66
|
const getUniqueParameterNames = (expression) => {
|
|
58
67
|
return new Set(ParameterCollector_1.ParameterCollector.collect(expression).map(parameter => parameter.name.value));
|
|
59
68
|
};
|
|
60
|
-
const
|
|
61
|
-
const candidate = unwrapSingleOuterParen(expression);
|
|
62
|
-
if (!(candidate instanceof ValueComponent_1.BinaryExpression)) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const operator = candidate.operator.value.trim().toLowerCase();
|
|
66
|
-
if (!SUPPORTED_COMPARISON_OPERATORS.has(operator)) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
const leftIsTargetParameter = candidate.left instanceof ValueComponent_1.ParameterExpression && candidate.left.name.value === parameterName;
|
|
70
|
-
const rightIsTargetParameter = candidate.right instanceof ValueComponent_1.ParameterExpression && candidate.right.name.value === parameterName;
|
|
71
|
-
if (leftIsTargetParameter === rightIsTargetParameter) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return getUniqueParameterNames(candidate).size === 1;
|
|
75
|
-
};
|
|
76
|
-
const isSupportedExistsPredicate = (expression, parameterName) => {
|
|
69
|
+
const isSupportedMeaningfulBranch = (expression, parameterName) => {
|
|
77
70
|
const candidate = unwrapSingleOuterParen(expression);
|
|
78
|
-
if (
|
|
71
|
+
if (candidate instanceof ValueComponent_1.ParameterExpression) {
|
|
79
72
|
return false;
|
|
80
73
|
}
|
|
81
|
-
|
|
74
|
+
const parameterNames = getUniqueParameterNames(candidate);
|
|
75
|
+
if (parameterNames.size !== 1 || !parameterNames.has(parameterName)) {
|
|
82
76
|
return false;
|
|
83
77
|
}
|
|
84
|
-
|
|
85
|
-
return
|
|
78
|
+
// Keep the matcher conservative enough to avoid pruning tautologies or half-authored branches.
|
|
79
|
+
return !(candidate instanceof ValueComponent_1.LiteralValue || candidate instanceof ValueComponent_1.RawString);
|
|
86
80
|
};
|
|
87
81
|
const isExplicitPruningTarget = (pruningParameters, parameterName) => {
|
|
88
82
|
return Object.prototype.hasOwnProperty.call(pruningParameters, parameterName);
|
|
@@ -95,20 +89,8 @@ const isKnownAbsentTarget = (pruningParameters, parameterName) => {
|
|
|
95
89
|
return parameterValue === null || parameterValue === undefined;
|
|
96
90
|
};
|
|
97
91
|
const shouldPruneOptionalBranch = (expression, pruningParameters) => {
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
const parameterName = getGuardedParameterName(candidate.left);
|
|
103
|
-
if (!parameterName) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
const supportedMeaningfulBranch = isSupportedScalarPredicate(candidate.right, parameterName) ||
|
|
107
|
-
isSupportedExistsPredicate(candidate.right, parameterName);
|
|
108
|
-
if (!supportedMeaningfulBranch) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
return isKnownAbsentTarget(pruningParameters, parameterName);
|
|
92
|
+
const branch = getSupportedOptionalConditionBranch(expression);
|
|
93
|
+
return branch !== null && isKnownAbsentTarget(pruningParameters, branch.parameterName);
|
|
112
94
|
};
|
|
113
95
|
const rebuildAndCondition = (terms) => {
|
|
114
96
|
if (terms.length === 0) {
|
|
@@ -186,6 +168,83 @@ const traverseSelectQuery = (query, pruningParameters) => {
|
|
|
186
168
|
}
|
|
187
169
|
return false;
|
|
188
170
|
};
|
|
171
|
+
const getSupportedOptionalConditionBranch = (expression) => {
|
|
172
|
+
const orTerms = collectTopLevelOrTerms(expression);
|
|
173
|
+
if (orTerms.length < 2) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
const guardTerms = orTerms
|
|
177
|
+
.map(term => ({ term, parameterName: getGuardedParameterName(term) }))
|
|
178
|
+
.filter((candidate) => candidate.parameterName !== null);
|
|
179
|
+
if (guardTerms.length !== 1) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
const [{ term: guardTerm, parameterName }] = guardTerms;
|
|
183
|
+
const meaningfulTerms = orTerms.filter(term => term !== guardTerm);
|
|
184
|
+
if (meaningfulTerms.length === 0) {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
if (!meaningfulTerms.every(term => isSupportedMeaningfulBranch(term, parameterName))) {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
parameterName,
|
|
192
|
+
kind: 'expression'
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
const collectSupportedBranchesFromSimpleQuery = (query, branches) => {
|
|
196
|
+
if (!query.whereClause) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const topLevelTerms = collectTopLevelAndTerms(query.whereClause.condition);
|
|
200
|
+
for (const term of topLevelTerms) {
|
|
201
|
+
const branch = getSupportedOptionalConditionBranch(term);
|
|
202
|
+
if (!branch) {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
branches.push({
|
|
206
|
+
query,
|
|
207
|
+
parameterName: branch.parameterName,
|
|
208
|
+
expression: term,
|
|
209
|
+
kind: branch.kind
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
const collectSupportedBranchesFromSelectQuery = (query, branches) => {
|
|
214
|
+
if (query instanceof SelectQuery_1.SimpleSelectQuery) {
|
|
215
|
+
collectSupportedBranchesFromSimpleQuery(query, branches);
|
|
216
|
+
traverseNestedSelectQueriesForCollection(query, branches);
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (query instanceof SelectQuery_1.BinarySelectQuery) {
|
|
220
|
+
collectSupportedBranchesFromSelectQuery(query.left, branches);
|
|
221
|
+
collectSupportedBranchesFromSelectQuery(query.right, branches);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const traverseNestedSelectQueriesForCollection = (root, branches) => {
|
|
225
|
+
const visited = new WeakSet();
|
|
226
|
+
const walk = (value) => {
|
|
227
|
+
if (!value || typeof value !== 'object') {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (visited.has(value)) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
visited.add(value);
|
|
234
|
+
if (value !== root && isSelectQueryNode(value)) {
|
|
235
|
+
collectSupportedBranchesFromSelectQuery(value, branches);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (Array.isArray(value)) {
|
|
239
|
+
value.forEach(walk);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
for (const child of Object.values(value)) {
|
|
243
|
+
walk(child);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
walk(root);
|
|
247
|
+
};
|
|
189
248
|
/**
|
|
190
249
|
* Prunes supported optional WHERE branches when an explicitly targeted parameter is absent-equivalent.
|
|
191
250
|
* For the MVP, only `null` and `undefined` are treated as absent and unsupported shapes remain exact no-op.
|
|
@@ -198,4 +257,14 @@ const pruneOptionalConditionBranches = (query, pruningParameters) => {
|
|
|
198
257
|
return query;
|
|
199
258
|
};
|
|
200
259
|
exports.pruneOptionalConditionBranches = pruneOptionalConditionBranches;
|
|
260
|
+
/**
|
|
261
|
+
* Collects supported top-level optional condition branches from the query graph.
|
|
262
|
+
* The returned branch expressions keep object identity so callers can move them without re-rendering.
|
|
263
|
+
*/
|
|
264
|
+
const collectSupportedOptionalConditionBranches = (query) => {
|
|
265
|
+
const branches = [];
|
|
266
|
+
collectSupportedBranchesFromSelectQuery(query, branches);
|
|
267
|
+
return branches;
|
|
268
|
+
};
|
|
269
|
+
exports.collectSupportedOptionalConditionBranches = collectSupportedOptionalConditionBranches;
|
|
201
270
|
//# sourceMappingURL=PruneOptionalConditionBranches.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PruneOptionalConditionBranches.js","sourceRoot":"","sources":["../../src/transformers/PruneOptionalConditionBranches.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,uDAA0F;AAC1F,
|
|
1
|
+
{"version":3,"file":"PruneOptionalConditionBranches.js","sourceRoot":"","sources":["../../src/transformers/PruneOptionalConditionBranches.ts"],"names":[],"mappings":"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"}
|