rawsql-ts 0.23.0 → 0.23.1
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.min.js +2 -2
- package/dist/esm/index.min.js.map +3 -3
- package/dist/esm/transformers/DynamicQueryBuilder.js +1 -1
- package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/esm/transformers/PruneOptionalConditionBranches.js +40 -8
- package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +2 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js +85 -10
- package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -1
- package/dist/esm/utils/OperatorPrecedence.js +1 -0
- package/dist/esm/utils/OperatorPrecedence.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +3 -3
- package/dist/src/transformers/SSSQLFilterBuilder.d.ts +2 -0
- package/dist/transformers/DynamicQueryBuilder.js +1 -1
- package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/transformers/PruneOptionalConditionBranches.js +39 -7
- package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/transformers/SSSQLFilterBuilder.js +84 -9
- package/dist/transformers/SSSQLFilterBuilder.js.map +1 -1
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/utils/OperatorPrecedence.js +1 -0
- package/dist/utils/OperatorPrecedence.js.map +1 -1
- package/package.json +4 -4
|
@@ -109,6 +109,7 @@ export declare class SSSQLFilterBuilder {
|
|
|
109
109
|
scaffold(query: SelectQuery | string, filters: SSSQLFilterInput): SelectQuery;
|
|
110
110
|
scaffoldBranch(query: SelectQuery | string, spec: SssqlScaffoldSpec): SelectQuery;
|
|
111
111
|
refresh(query: SelectQuery | string, filters: SSSQLFilterInput): SelectQuery;
|
|
112
|
+
private refreshParsed;
|
|
112
113
|
remove(query: SelectQuery | string, spec: SssqlRemoveSpec): SelectQuery;
|
|
113
114
|
removeAll(query: SelectQuery | string): SelectQuery;
|
|
114
115
|
private parseQuery;
|
|
@@ -125,6 +126,7 @@ export declare class SSSQLFilterBuilder {
|
|
|
125
126
|
private resolveTargetInQuery;
|
|
126
127
|
private resolveQualifiedTarget;
|
|
127
128
|
private resolveUnqualifiedTarget;
|
|
129
|
+
private tryResolveTarget;
|
|
128
130
|
private findAliasForTable;
|
|
129
131
|
private resolveAliasForSource;
|
|
130
132
|
private buildCorrelatedRefreshPlan;
|
|
@@ -79,7 +79,7 @@ class DynamicQueryBuilder {
|
|
|
79
79
|
}
|
|
80
80
|
const hasLegacyDynamicFilters = Object.keys(dynamicFilters).length > 0;
|
|
81
81
|
if (hasLegacyDynamicFilters) {
|
|
82
|
-
throw new Error("DynamicQueryBuilder no longer injects runtime filter predicates. Use `
|
|
82
|
+
throw new Error("DynamicQueryBuilder no longer injects runtime filter predicates. Use `ashiba query optional add` to author optional filters, `ashiba query optional refresh` to refresh them, and `optionalConditionParameters` at runtime for pruning only.");
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
// 2. Apply sorting second (after filtering to sort smaller dataset)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":";;;AACA,oEAAiE;AACjE,uDAAoE;AACpE,mEAAmF;AACnF,iDAA8C;AAC9C,6DAA0D;AAC1D,kEAA+D;AAC/D,6DAA8E;AAE9E,uEAImC;AACnC,qFAI0C;AAuJ1C;;;;;;;GAOG;AACH,MAAa,mBAAmB;IAI5B;;;;;OAKG;IACH,YACI,iBAAkF;QAElF,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;QACjD,CAAC;aAAM,IAAI,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAC1D,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,UAAkB,EAAE,UAA6B,EAAE;;QAC1D,MAAM,cAAc,GAAG,OAAkC,CAAC;QAC1D,IAAI,WAAW,IAAI,cAAc,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACX,8JAA8J,CACjK,CAAC;QACN,CAAC;QAED,qBAAqB;QACrB,IAAI,WAA8B,CAAC;QACnC,IAAI,CAAC;YACD,WAAW,GAAG,qCAAiB,CAAC,KAAK,CAAC,UAAU,CAAsB,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,mDAAmD;QACnD,IAAI,aAAa,GAAgB,WAAW,CAAC;QAE7C,uFAAuF;QACvF,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,qCAAiB,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAE7G,yCAAyC;YACzC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,eAAe,GAAG,IAAI,uCAAkB,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACvE,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACX,
|
|
1
|
+
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,23 @@ const unwrapSingleOuterParen = (expression) => {
|
|
|
20
20
|
}
|
|
21
21
|
return candidate;
|
|
22
22
|
};
|
|
23
|
+
const unwrapOptionalGuardParameter = (expression) => {
|
|
24
|
+
let candidate = unwrapSingleOuterParen(expression);
|
|
25
|
+
while (candidate instanceof ValueComponent_1.CastExpression) {
|
|
26
|
+
candidate = unwrapSingleOuterParen(candidate.input);
|
|
27
|
+
}
|
|
28
|
+
if (candidate instanceof ValueComponent_1.FunctionCall && getFunctionCallName(candidate) === 'cast' && candidate.argument) {
|
|
29
|
+
const argument = unwrapSingleOuterParen(candidate.argument);
|
|
30
|
+
if (isBinaryOperator(argument, 'as')) {
|
|
31
|
+
return unwrapOptionalGuardParameter(argument.left);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return candidate;
|
|
35
|
+
};
|
|
36
|
+
const getFunctionCallName = (expression) => {
|
|
37
|
+
const name = expression.qualifiedName.name;
|
|
38
|
+
return 'value' in name ? name.value.toLowerCase() : name.name.toLowerCase();
|
|
39
|
+
};
|
|
23
40
|
const collectTopLevelAndTerms = (expression) => {
|
|
24
41
|
const candidate = unwrapSingleOuterParen(expression);
|
|
25
42
|
if (!isBinaryOperator(candidate, 'and')) {
|
|
@@ -62,10 +79,11 @@ const getGuardedParameterName = (expression) => {
|
|
|
62
79
|
if (!isBinaryOperator(candidate, 'is')) {
|
|
63
80
|
return null;
|
|
64
81
|
}
|
|
65
|
-
|
|
82
|
+
const left = unwrapOptionalGuardParameter(candidate.left);
|
|
83
|
+
if (!(left instanceof ValueComponent_1.ParameterExpression) || !isNullLiteral(candidate.right)) {
|
|
66
84
|
return null;
|
|
67
85
|
}
|
|
68
|
-
return
|
|
86
|
+
return left.name.value;
|
|
69
87
|
};
|
|
70
88
|
const getUniqueParameterNames = (expression) => {
|
|
71
89
|
return new Set(ParameterCollector_1.ParameterCollector.collect(expression).map(parameter => parameter.name.value));
|
|
@@ -430,14 +448,28 @@ const splitTopLevelTermsByKeyword = (lexemes, keyword) => {
|
|
|
430
448
|
return ranges;
|
|
431
449
|
};
|
|
432
450
|
const getGuardedParameterNameFromLexemes = (lexemes) => {
|
|
451
|
+
var _a;
|
|
433
452
|
const compact = lexemes.filter(lexeme => !isWrappingParen(lexeme));
|
|
434
|
-
|
|
435
|
-
|
|
453
|
+
const isIndexKeyword = (index, keyword) => {
|
|
454
|
+
const lexeme = compact[index];
|
|
455
|
+
return lexeme !== undefined && isKeyword(lexeme, keyword);
|
|
456
|
+
};
|
|
457
|
+
if (compact.length === 3) {
|
|
458
|
+
if (!isParameter(compact[0]) || !isIndexKeyword(1, 'is') || !isIndexKeyword(2, 'null')) {
|
|
459
|
+
return null;
|
|
460
|
+
}
|
|
461
|
+
return normalizeParameterName(compact[0].value);
|
|
436
462
|
}
|
|
437
|
-
if (
|
|
438
|
-
return
|
|
463
|
+
if (compact.length === 5 && isParameter(compact[0]) && ((_a = compact[1]) === null || _a === void 0 ? void 0 : _a.value) === '::' && isIndexKeyword(3, 'is') && isIndexKeyword(4, 'null')) {
|
|
464
|
+
return normalizeParameterName(compact[0].value);
|
|
465
|
+
}
|
|
466
|
+
if (compact.length >= 6 && isIndexKeyword(0, 'cast') && isParameter(compact[1]) && isIndexKeyword(2, 'as')) {
|
|
467
|
+
const isIndex = compact.findIndex((lexeme, index) => index > 2 && isKeyword(lexeme, 'is'));
|
|
468
|
+
if (isIndex >= 0 && isIndexKeyword(isIndex + 1, 'null')) {
|
|
469
|
+
return normalizeParameterName(compact[1].value);
|
|
470
|
+
}
|
|
439
471
|
}
|
|
440
|
-
return
|
|
472
|
+
return null;
|
|
441
473
|
};
|
|
442
474
|
const isSupportedMeaningfulBranchFromLexemes = (lexemes, parameterName) => {
|
|
443
475
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PruneOptionalConditionBranches.js","sourceRoot":"","sources":["../../src/transformers/PruneOptionalConditionBranches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PruneOptionalConditionBranches.js","sourceRoot":"","sources":["../../src/transformers/PruneOptionalConditionBranches.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,16 +98,33 @@ const isClauseBoundary = (lexeme) => {
|
|
|
98
98
|
const findMinimalWhereInsertPosition = (sql) => {
|
|
99
99
|
var _a, _b, _c, _d;
|
|
100
100
|
const lexemes = new SqlTokenizer_1.SqlTokenizer(sql).tokenize();
|
|
101
|
-
const whereIndex = lexemes.findIndex(lexeme => (lexeme.type & Lexeme_1.TokenType.Command) !== 0 && lexeme.value.toLowerCase() === "where");
|
|
102
101
|
const statementEnd = getStatementEndPosition(sql);
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
const topLevelLexemes = [];
|
|
103
|
+
let depth = 0;
|
|
104
|
+
for (let index = 0; index < lexemes.length; index += 1) {
|
|
105
|
+
const lexeme = lexemes[index];
|
|
106
|
+
if ((lexeme.type & Lexeme_1.TokenType.CloseParen) !== 0) {
|
|
107
|
+
depth = Math.max(0, depth - 1);
|
|
108
|
+
}
|
|
109
|
+
if (depth === 0) {
|
|
110
|
+
topLevelLexemes.push({ lexeme, index });
|
|
111
|
+
}
|
|
112
|
+
if ((lexeme.type & Lexeme_1.TokenType.OpenParen) !== 0) {
|
|
113
|
+
depth += 1;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const where = topLevelLexemes.find(entry => (entry.lexeme.type & Lexeme_1.TokenType.Command) !== 0 && entry.lexeme.value.toLowerCase() === "where");
|
|
117
|
+
if (where) {
|
|
118
|
+
const tail = topLevelLexemes
|
|
119
|
+
.filter(entry => entry.index > where.index)
|
|
120
|
+
.map(entry => entry.lexeme)
|
|
121
|
+
.find(isClauseBoundary);
|
|
105
122
|
return {
|
|
106
123
|
position: (_b = (_a = tail === null || tail === void 0 ? void 0 : tail.position) === null || _a === void 0 ? void 0 : _a.startPosition) !== null && _b !== void 0 ? _b : statementEnd,
|
|
107
124
|
hasWhere: true
|
|
108
125
|
};
|
|
109
126
|
}
|
|
110
|
-
const tail =
|
|
127
|
+
const tail = topLevelLexemes.map(entry => entry.lexeme).find(isClauseBoundary);
|
|
111
128
|
return {
|
|
112
129
|
position: (_d = (_c = tail === null || tail === void 0 ? void 0 : tail.position) === null || _c === void 0 ? void 0 : _c.startPosition) !== null && _d !== void 0 ? _d : statementEnd,
|
|
113
130
|
hasWhere: false
|
|
@@ -320,7 +337,8 @@ const getGuardedParameterName = (expression) => {
|
|
|
320
337
|
if (!isBinaryOperator(candidate, "is")) {
|
|
321
338
|
return null;
|
|
322
339
|
}
|
|
323
|
-
|
|
340
|
+
const left = unwrapOptionalGuardParameter(candidate.left);
|
|
341
|
+
if (!(left instanceof ValueComponent_1.ParameterExpression)) {
|
|
324
342
|
return null;
|
|
325
343
|
}
|
|
326
344
|
const right = unwrapParens(candidate.right);
|
|
@@ -329,7 +347,24 @@ const getGuardedParameterName = (expression) => {
|
|
|
329
347
|
if (!isNull) {
|
|
330
348
|
return null;
|
|
331
349
|
}
|
|
332
|
-
return
|
|
350
|
+
return left.name.value;
|
|
351
|
+
};
|
|
352
|
+
const unwrapOptionalGuardParameter = (expression) => {
|
|
353
|
+
let candidate = unwrapParens(expression);
|
|
354
|
+
while (candidate instanceof ValueComponent_1.CastExpression) {
|
|
355
|
+
candidate = unwrapParens(candidate.input);
|
|
356
|
+
}
|
|
357
|
+
if (candidate instanceof ValueComponent_1.FunctionCall && getFunctionCallName(candidate) === "cast" && candidate.argument) {
|
|
358
|
+
const argument = unwrapParens(candidate.argument);
|
|
359
|
+
if (isBinaryOperator(argument, "as")) {
|
|
360
|
+
return unwrapOptionalGuardParameter(argument.left);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return candidate;
|
|
364
|
+
};
|
|
365
|
+
const getFunctionCallName = (expression) => {
|
|
366
|
+
const name = expression.qualifiedName.name;
|
|
367
|
+
return "value" in name ? name.value.toLowerCase() : name.name.toLowerCase();
|
|
333
368
|
};
|
|
334
369
|
const buildOptionalScalarBranch = (column, parameterName, operator) => {
|
|
335
370
|
const guard = new ValueComponent_1.BinaryExpression(new ValueComponent_1.ParameterExpression(parameterName), "is", new ValueComponent_1.LiteralValue(null));
|
|
@@ -566,6 +601,14 @@ const getBranchInfo = (branch) => {
|
|
|
566
601
|
sql: formatSqlComponent(branch.expression)
|
|
567
602
|
};
|
|
568
603
|
};
|
|
604
|
+
const isEquivalentScalarBranch = (branch, query, parameterName, operator, targetColumnText) => {
|
|
605
|
+
return branch.query === query
|
|
606
|
+
&& branch.kind === "scalar"
|
|
607
|
+
&& branch.parameterName === parameterName
|
|
608
|
+
&& branch.operator === operator
|
|
609
|
+
&& branch.target !== undefined
|
|
610
|
+
&& normalizeIdentifier(branch.target) === normalizeIdentifier(targetColumnText);
|
|
611
|
+
};
|
|
569
612
|
/**
|
|
570
613
|
* Builds and refreshes truthful SSSQL optional filter branches.
|
|
571
614
|
* Runtime callers should use pruning, not dynamic predicate injection.
|
|
@@ -626,6 +669,18 @@ class SSSQLFilterBuilder {
|
|
|
626
669
|
return this.planScaffoldBranch(query, spec);
|
|
627
670
|
}
|
|
628
671
|
planRefresh(query, filters) {
|
|
672
|
+
if (typeof query === "string") {
|
|
673
|
+
try {
|
|
674
|
+
const parsed = SelectQueryParser_1.SelectQueryParser.parse(query);
|
|
675
|
+
const result = this.refreshParsed(parsed, filters);
|
|
676
|
+
if (!result.changed) {
|
|
677
|
+
return this.buildPlanFromEdits(query, [], [], []);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
catch {
|
|
681
|
+
// Fall through to the conservative formatter-backed plan, which reports rewrite errors.
|
|
682
|
+
}
|
|
683
|
+
}
|
|
629
684
|
return this.planRewrite(query, parsed => this.refresh(parsed, filters));
|
|
630
685
|
}
|
|
631
686
|
dryRunRefresh(query, filters) {
|
|
@@ -676,6 +731,11 @@ class SSSQLFilterBuilder {
|
|
|
676
731
|
}
|
|
677
732
|
refresh(query, filters) {
|
|
678
733
|
const parsed = this.parseQuery(query);
|
|
734
|
+
this.refreshParsed(parsed, filters);
|
|
735
|
+
return parsed;
|
|
736
|
+
}
|
|
737
|
+
refreshParsed(parsed, filters) {
|
|
738
|
+
let changed = false;
|
|
679
739
|
for (const [filterName, filterValue] of Object.entries(filters)) {
|
|
680
740
|
let parameterName = filterName;
|
|
681
741
|
let target = null;
|
|
@@ -700,6 +760,7 @@ class SSSQLFilterBuilder {
|
|
|
700
760
|
parameterName: target.parameterName,
|
|
701
761
|
operator: "="
|
|
702
762
|
});
|
|
763
|
+
changed = true;
|
|
703
764
|
continue;
|
|
704
765
|
}
|
|
705
766
|
if (matches.length > 1) {
|
|
@@ -717,18 +778,23 @@ class SSSQLFilterBuilder {
|
|
|
717
778
|
this.rebaseMovedBranchByAlias(match.expression, correlatedPlan.sourceAlias, correlatedPlan.target.column);
|
|
718
779
|
rebuildWhereWithoutTerm(match.query, match.expression);
|
|
719
780
|
correlatedPlan.target.query.appendWhere(match.expression);
|
|
781
|
+
changed = true;
|
|
720
782
|
continue;
|
|
721
783
|
}
|
|
722
784
|
if (!target) {
|
|
723
|
-
target = this.
|
|
785
|
+
target = this.tryResolveTarget(parsed, filterName);
|
|
786
|
+
if (!target) {
|
|
787
|
+
continue;
|
|
788
|
+
}
|
|
724
789
|
}
|
|
725
790
|
if (match.query !== target.query) {
|
|
726
791
|
this.rebaseMovedBranch(match.expression, match.query, target.column);
|
|
727
792
|
rebuildWhereWithoutTerm(match.query, match.expression);
|
|
728
793
|
target.query.appendWhere(match.expression);
|
|
794
|
+
changed = true;
|
|
729
795
|
}
|
|
730
796
|
}
|
|
731
|
-
return parsed;
|
|
797
|
+
return { query: parsed, changed };
|
|
732
798
|
}
|
|
733
799
|
remove(query, spec) {
|
|
734
800
|
const parsed = this.parseQuery(query);
|
|
@@ -769,7 +835,8 @@ class SSSQLFilterBuilder {
|
|
|
769
835
|
const targetColumnText = findSourceColumnReferenceText(sourceSql, target.column);
|
|
770
836
|
const branchSql = `(:${parameterName} is null or ${targetColumnText} ${operator} :${parameterName})`;
|
|
771
837
|
const normalizedBranch = normalizeSql(branchSql);
|
|
772
|
-
const duplicate = this.list(parsed).find(existing => existing.query === target.query && normalizeSql(existing.sql) === normalizedBranch)
|
|
838
|
+
const duplicate = this.list(parsed).find(existing => (existing.query === target.query && normalizeSql(existing.sql) === normalizedBranch)
|
|
839
|
+
|| isEquivalentScalarBranch(existing, target.query, parameterName, operator, targetColumnText));
|
|
773
840
|
if (duplicate) {
|
|
774
841
|
return this.buildPlanFromEdits(sourceSql, [], [], []);
|
|
775
842
|
}
|
|
@@ -1258,6 +1325,14 @@ class SSSQLFilterBuilder {
|
|
|
1258
1325
|
parameterName: makeParameterName(filterName)
|
|
1259
1326
|
};
|
|
1260
1327
|
}
|
|
1328
|
+
tryResolveTarget(root, filterName) {
|
|
1329
|
+
try {
|
|
1330
|
+
return this.resolveTarget(root, filterName);
|
|
1331
|
+
}
|
|
1332
|
+
catch {
|
|
1333
|
+
return null;
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1261
1336
|
findAliasForTable(query, tableName) {
|
|
1262
1337
|
var _a, _b;
|
|
1263
1338
|
const normalizedTable = normalizeIdentifier(tableName);
|