@quereus/quereus 4.8.0 → 4.9.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/src/core/database.d.ts +6 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +26 -1
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +3 -2
- package/dist/src/func/builtins/aggregate.js.map +1 -1
- package/dist/src/func/builtins/conversion.d.ts +5 -0
- package/dist/src/func/builtins/conversion.d.ts.map +1 -1
- package/dist/src/func/builtins/conversion.js +16 -2
- package/dist/src/func/builtins/conversion.js.map +1 -1
- package/dist/src/func/builtins/index.d.ts.map +1 -1
- package/dist/src/func/builtins/index.js +5 -2
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/func/builtins/string.d.ts +2 -0
- package/dist/src/func/builtins/string.d.ts.map +1 -1
- package/dist/src/func/builtins/string.js +60 -4
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/index.d.ts +6 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +1 -1
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +121 -51
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.d.ts +14 -4
- package/dist/src/planner/rules/shared/index-style-context.d.ts.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.js +14 -4
- package/dist/src/planner/rules/shared/index-style-context.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +212 -155
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/assertion-drop-guard.d.ts +26 -12
- package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -1
- package/dist/src/runtime/emit/assertion-drop-guard.js +45 -26
- package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -1
- package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +6 -6
- package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/assertion-rename-helpers.js +18 -20
- package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +12 -10
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/column-rename-cascade.d.ts +84 -0
- package/dist/src/runtime/emit/column-rename-cascade.d.ts.map +1 -0
- package/dist/src/runtime/emit/column-rename-cascade.js +134 -0
- package/dist/src/runtime/emit/column-rename-cascade.js.map +1 -0
- package/dist/src/runtime/emit/drop-column-guards.d.ts +82 -53
- package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-column-guards.js +155 -90
- package/dist/src/runtime/emit/drop-column-guards.js.map +1 -1
- package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-table.js +5 -0
- package/dist/src/runtime/emit/drop-table.js.map +1 -1
- package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-view.js +5 -0
- package/dist/src/runtime/emit/drop-view.js.map +1 -1
- package/dist/src/runtime/emit/expression-drop-guard.d.ts +57 -0
- package/dist/src/runtime/emit/expression-drop-guard.d.ts.map +1 -0
- package/dist/src/runtime/emit/expression-drop-guard.js +82 -0
- package/dist/src/runtime/emit/expression-drop-guard.js.map +1 -0
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +26 -9
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +37 -17
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +3 -0
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/schema/assertion.d.ts +58 -0
- package/dist/src/schema/assertion.d.ts.map +1 -1
- package/dist/src/schema/assertion.js +78 -0
- package/dist/src/schema/assertion.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +11 -3
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
- package/dist/src/schema/catalog-persistability.js +48 -29
- package/dist/src/schema/catalog-persistability.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +22 -0
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +4 -1
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/column-republication.d.ts +126 -0
- package/dist/src/schema/column-republication.d.ts.map +1 -0
- package/dist/src/schema/column-republication.js +121 -0
- package/dist/src/schema/column-republication.js.map +1 -0
- package/dist/src/schema/column-source-resolver.d.ts +29 -6
- package/dist/src/schema/column-source-resolver.d.ts.map +1 -1
- package/dist/src/schema/column-source-resolver.js +78 -9
- package/dist/src/schema/column-source-resolver.js.map +1 -1
- package/dist/src/schema/expression-dependents.d.ts +160 -0
- package/dist/src/schema/expression-dependents.d.ts.map +1 -0
- package/dist/src/schema/expression-dependents.js +228 -0
- package/dist/src/schema/expression-dependents.js.map +1 -0
- package/dist/src/schema/object-dependency-closure.d.ts +127 -0
- package/dist/src/schema/object-dependency-closure.d.ts.map +1 -0
- package/dist/src/schema/object-dependency-closure.js +117 -0
- package/dist/src/schema/object-dependency-closure.js.map +1 -0
- package/dist/src/schema/object-ref-resolver.d.ts +83 -0
- package/dist/src/schema/object-ref-resolver.d.ts.map +1 -0
- package/dist/src/schema/object-ref-resolver.js +135 -0
- package/dist/src/schema/object-ref-resolver.js.map +1 -0
- package/dist/src/schema/rename/column-rename.d.ts +228 -0
- package/dist/src/schema/rename/column-rename.d.ts.map +1 -0
- package/dist/src/schema/rename/column-rename.js +1225 -0
- package/dist/src/schema/rename/column-rename.js.map +1 -0
- package/dist/src/schema/rename/self-qualifier-strip.d.ts +29 -0
- package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -0
- package/dist/src/schema/rename/self-qualifier-strip.js +267 -0
- package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -0
- package/dist/src/schema/rename/shared.d.ts +108 -0
- package/dist/src/schema/rename/shared.d.ts.map +1 -0
- package/dist/src/schema/rename/shared.js +49 -0
- package/dist/src/schema/rename/shared.js.map +1 -0
- package/dist/src/schema/rename/table-rename.d.ts +263 -0
- package/dist/src/schema/rename/table-rename.d.ts.map +1 -0
- package/dist/src/schema/rename/table-rename.js +860 -0
- package/dist/src/schema/rename/table-rename.js.map +1 -0
- package/dist/src/schema/rename-rewriter.d.ts +18 -278
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +17 -1506
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +228 -21
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +12 -28
- package/dist/src/types/builtin-types.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +7 -5
- package/dist/src/types/cast-semantics.d.ts.map +1 -1
- package/dist/src/types/cast-semantics.js +20 -9
- package/dist/src/types/cast-semantics.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/registry.d.ts.map +1 -1
- package/dist/src/types/registry.js +2 -1
- package/dist/src/types/registry.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts +11 -0
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +82 -0
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/util/affinity.d.ts +2 -1
- package/dist/src/util/affinity.d.ts.map +1 -1
- package/dist/src/util/affinity.js +16 -5
- package/dist/src/util/affinity.js.map +1 -1
- package/dist/src/util/ast-spine-clone.d.ts +2 -2
- package/dist/src/util/ast-spine-clone.js +2 -2
- package/dist/src/util/value-text.d.ts +48 -0
- package/dist/src/util/value-text.d.ts.map +1 -0
- package/dist/src/util/value-text.js +35 -0
- package/dist/src/util/value-text.js.map +1 -0
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +14 -5
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,GAE9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-differ.d.ts","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"schema-differ.d.ts","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { StatusCode } from '../common/types.js';
|
|
|
5
5
|
import { createLogger } from '../common/logger.js';
|
|
6
6
|
import { validateReservedTags } from './reserved-tags.js';
|
|
7
7
|
import { raiseReservedTagDiagnostics } from './reserved-tags-policy.js';
|
|
8
|
-
import { renameColumnInAst, renameColumnInCheckExpression, renameTableInAst, tableReferencedInAst } from './rename-rewriter.js';
|
|
8
|
+
import { renameColumnInAst, renameColumnInCheckExpression, renameTableInAst, tableReferencedInAst, objectRefKey, singleSchemaObjectRefResolver } from './rename-rewriter.js';
|
|
9
9
|
import { cloneExpr, cloneQueryExpr } from '../planner/mutation/scope-transform.js';
|
|
10
10
|
import { normalizeCollationName } from '../util/comparison.js';
|
|
11
11
|
import { inferType } from '../types/registry.js';
|
|
@@ -334,7 +334,11 @@ defaultCollation = 'BINARY') {
|
|
|
334
334
|
// already-declared name simply misses the rename find and passes through.
|
|
335
335
|
// Cross-schema sources answer false (the catalog is single-schema) —
|
|
336
336
|
// conservative where the forward path's live lookup could say yes; worst
|
|
337
|
-
// case a benign drop+recreate.
|
|
337
|
+
// case a benign drop+recreate. A VIEW source answers false for the same
|
|
338
|
+
// reason and in the same direction: `buildColumnSourceResolver` reads a live
|
|
339
|
+
// view's published columns, but the declared world here holds only table
|
|
340
|
+
// column sets. This is the ONE place a hand-rolled answer is correct rather
|
|
341
|
+
// than a stale copy of that builder — there is no live catalog to ask.
|
|
338
342
|
const targetSchemaLower = targetSchemaName.toLowerCase();
|
|
339
343
|
const resolveDeclaredColumn = (schema, table, column) => {
|
|
340
344
|
if (schema !== targetSchemaLower)
|
|
@@ -465,6 +469,13 @@ defaultCollation = 'BINARY') {
|
|
|
465
469
|
if (definitionDrifted && (tableRenames.renames.length > 0 || columnRenamesByTable.size > 0)) {
|
|
466
470
|
definitionDrifted = reconciledDeclaredViewDefinition(stmt.columns, stmt.select, tableRenames.renames, columnRenamesByTable, targetSchemaName, resolveDeclaredColumn) !== matchedActual.definition;
|
|
467
471
|
}
|
|
472
|
+
if (definitionDrifted && matchedActual.select) {
|
|
473
|
+
// Last resort: the live body may differ only by the rename
|
|
474
|
+
// propagation's own artifacts (a pin qualifier / a FROM alias) —
|
|
475
|
+
// absorbing them must not read as an edit, or the recreate would
|
|
476
|
+
// undo the pin (see `absorbRenameArtifacts`).
|
|
477
|
+
definitionDrifted = !declaredViewMatchesModuloRenameArtifacts(stmt.columns, stmt.select, matchedActual.select, canonical => canonical === matchedActual.definition, tableRenames.renames, columnRenamesByTable, targetSchemaName, resolveDeclaredColumn);
|
|
478
|
+
}
|
|
468
479
|
if (definitionDrifted) {
|
|
469
480
|
diff.viewsToDrop.push(matchedActual.name);
|
|
470
481
|
diff.viewsToCreate.push(createViewToString(applyViewSchemaDefault(stmt, targetSchemaName)));
|
|
@@ -633,12 +644,23 @@ defaultCollation = 'BINARY') {
|
|
|
633
644
|
// objects at once, index the assertion bodies by referenced name instead of
|
|
634
645
|
// re-walking per pair.
|
|
635
646
|
const droppedInThisDiff = [...diff.tablesToDrop, ...diff.viewsToDrop];
|
|
636
|
-
|
|
647
|
+
// Declared world is single-schema, so the single-schema resolver reproduces
|
|
648
|
+
// exactly what the forward walkers resolve for these bodies.
|
|
649
|
+
const resolveDeclaredRef = singleSchemaObjectRefResolver(targetSchemaName);
|
|
650
|
+
const namesDroppedObject = (check) => droppedInThisDiff.some(dropped => tableReferencedInAst(check, dropped, resolveDeclaredRef, objectRefKey(targetSchemaName, dropped)));
|
|
637
651
|
for (const [name, declaredAssertion] of declaredAssertions) {
|
|
638
652
|
const matchedActual = actualAssertions.get(name);
|
|
639
653
|
const declaredBody = expressionToString(declaredAssertion.assertionStmt.check);
|
|
640
|
-
|
|
641
|
-
|
|
654
|
+
// The raw compare, then the rename-artifact-tolerant one: a live body the
|
|
655
|
+
// rename propagation pinned (`from k` → `from main.k`) must not read as an
|
|
656
|
+
// edit — the recreate would plan the bare declared name against the
|
|
657
|
+
// post-rename catalog and silently re-bind it (see `absorbRenameArtifacts`).
|
|
658
|
+
// Assertions have no in-diff rename reconciliation to compose with, so the
|
|
659
|
+
// absorb runs over a plain clone.
|
|
660
|
+
const bodyMatches = matchedActual !== undefined
|
|
661
|
+
&& (declaredBody === matchedActual.definition
|
|
662
|
+
|| declaredCheckMatchesModuloRenameArtifacts(declaredAssertion.assertionStmt.check, matchedActual, targetSchemaName));
|
|
663
|
+
if (bodyMatches && !namesDroppedObject(declaredAssertion.assertionStmt.check))
|
|
642
664
|
continue;
|
|
643
665
|
// Drift on a name match: drop the old one first (creates run later, see
|
|
644
666
|
// `generateMigrationDDL`), then recreate from the declaration.
|
|
@@ -993,10 +1015,12 @@ function declaredColumnCollation(declaredTable, columnName, defaultCollation) {
|
|
|
993
1015
|
* (oldName) can match another inverse input (newName). This keeps a partial index
|
|
994
1016
|
* over a renamed column AND/OR a qualified self-reference under a renamed table from
|
|
995
1017
|
* churning, while a genuine predicate edit layered on either rename still differs
|
|
996
|
-
* (recreate). `schemaName` is the default schema for both rewriters.
|
|
997
|
-
*
|
|
998
|
-
*
|
|
999
|
-
*
|
|
1018
|
+
* (recreate). `schemaName` is the default schema for both rewriters. The TABLE
|
|
1019
|
+
* rewriter is scope-aware (an alias- or CTE-bound qualifier is not a table
|
|
1020
|
+
* reference and is skipped, forward and inverse alike); known accepted edge
|
|
1021
|
+
* (symmetric with the forward path): the COLUMN rewriter stays scope-naive about
|
|
1022
|
+
* a subquery-source alias that happens to equal a renamed table's name — worst
|
|
1023
|
+
* case a spurious (valid) recreate.
|
|
1000
1024
|
*/
|
|
1001
1025
|
function declaredIndexCanonicalBody(indexStmt, declaredTable, colRenames, tableRenames, schemaName, defaultCollation) {
|
|
1002
1026
|
const columns = indexStmt.columns.map(col => {
|
|
@@ -1023,8 +1047,15 @@ function declaredIndexCanonicalBody(indexStmt, declaredTable, colRenames, tableR
|
|
|
1023
1047
|
let where = indexStmt.where;
|
|
1024
1048
|
if (where && (colRenames.length > 0 || tableRenames.length > 0)) {
|
|
1025
1049
|
const clone = cloneExpr(where);
|
|
1050
|
+
const resolveRef = singleSchemaObjectRefResolver(schemaName);
|
|
1026
1051
|
for (const r of tableRenames) {
|
|
1027
|
-
|
|
1052
|
+
// Inverse: references to the declared NEW name resolve back to its key.
|
|
1053
|
+
// Single-schema world: a bare name always resolves back to this schema,
|
|
1054
|
+
// so `resolveAfter === resolve` and no qualification ever fires.
|
|
1055
|
+
renameTableInAst(clone, {
|
|
1056
|
+
oldName: r.newName, newName: r.oldName, schemaName,
|
|
1057
|
+
resolve: resolveRef, resolveAfter: resolveRef,
|
|
1058
|
+
});
|
|
1028
1059
|
}
|
|
1029
1060
|
// The index's OWN table rename retains one special role: seeding the
|
|
1030
1061
|
// column rewrites with that table's OLD name (matched by the declared/
|
|
@@ -1032,7 +1063,9 @@ function declaredIndexCanonicalBody(indexStmt, declaredTable, colRenames, tableR
|
|
|
1032
1063
|
const ownRename = tableRenames.find(r => r.newName.toLowerCase() === indexStmt.table.name.toLowerCase());
|
|
1033
1064
|
const seedTableName = ownRename?.oldName ?? indexStmt.table.name;
|
|
1034
1065
|
for (const r of colRenames) {
|
|
1035
|
-
|
|
1066
|
+
// Row-image mode 'none', mirroring the forward predicate rewrite: a
|
|
1067
|
+
// partial-index predicate has no written-row context.
|
|
1068
|
+
renameColumnInCheckExpression(clone, seedTableName, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, seedTableName), 'none');
|
|
1036
1069
|
}
|
|
1037
1070
|
where = clone;
|
|
1038
1071
|
}
|
|
@@ -1097,18 +1130,166 @@ columnRenamesByTable, schemaName,
|
|
|
1097
1130
|
/** Declared-side column-existence resolver for the scope-aware body walk (see `computeSchemaDiff`). */
|
|
1098
1131
|
resolveDeclaredColumn) {
|
|
1099
1132
|
const selectClone = cloneQueryExpr(select);
|
|
1133
|
+
const resolveRef = singleSchemaObjectRefResolver(schemaName);
|
|
1100
1134
|
for (const r of tableRenames) {
|
|
1101
|
-
|
|
1135
|
+
// Single-schema world: a bare name always resolves back to this schema,
|
|
1136
|
+
// so `resolveAfter === resolve` and no CATALOG qualification ever fires
|
|
1137
|
+
// here (a CTE-shadow qualification still can — see `renameTableInAst` —
|
|
1138
|
+
// which is fine: the declared body needs the same spelling to mean the
|
|
1139
|
+
// real table, and `absorbRenameArtifacts` drops it when the actual side
|
|
1140
|
+
// is bare).
|
|
1141
|
+
//
|
|
1142
|
+
// NOTE: the FORWARD live rename can leave spellings in a stored body that
|
|
1143
|
+
// a single-schema declared form has no counterpart for, and BOTH arms of
|
|
1144
|
+
// its post-condition are reachable without a second schema in the diff:
|
|
1145
|
+
// - the REWRITTEN reference can gain an ALIAS (`from t` → `from t2 as t`
|
|
1146
|
+
// when a sibling/CTE already exposes `t2`) and, in the CTE case, a
|
|
1147
|
+
// schema qualifier equal to this diff's own schema;
|
|
1148
|
+
// - an UNTOUCHED reference can gain a PIN qualifier naming a LATER
|
|
1149
|
+
// schema on the body's home path (`from k` → `from main.k` after
|
|
1150
|
+
// `alter table temp.other rename to k`), with no rename in the
|
|
1151
|
+
// re-diff at all.
|
|
1152
|
+
// This walk deliberately stays single-schema for resolution; the artifact
|
|
1153
|
+
// gap is closed at COMPARE time instead — callers run
|
|
1154
|
+
// `absorbRenameArtifacts` over the clone this pass returns (or over a
|
|
1155
|
+
// plain clone when no renames are in play) before the canonical-string /
|
|
1156
|
+
// hash compare, normalizing the declared side toward the actual spelling
|
|
1157
|
+
// exactly where the two are equivalent. Recreate DDL renders
|
|
1158
|
+
// (`columnReconciledViewStmt`) never absorb — they must stay as-authored.
|
|
1159
|
+
renameTableInAst(selectClone, {
|
|
1160
|
+
oldName: r.newName, newName: r.oldName, schemaName,
|
|
1161
|
+
resolve: resolveRef, resolveAfter: resolveRef,
|
|
1162
|
+
});
|
|
1102
1163
|
}
|
|
1103
1164
|
for (const [declaredTableName, colRenames] of columnRenamesByTable) {
|
|
1104
1165
|
const ownRename = tableRenames.find(r => r.newName.toLowerCase() === declaredTableName);
|
|
1105
1166
|
const seedTableName = ownRename?.oldName ?? declaredTableName;
|
|
1106
1167
|
for (const r of colRenames) {
|
|
1107
|
-
|
|
1168
|
+
// 'none', mirroring the forward view-body walk: a view body is a
|
|
1169
|
+
// relation with no written row.
|
|
1170
|
+
renameColumnInAst(selectClone, seedTableName, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, seedTableName), 'none', resolveDeclaredColumn);
|
|
1108
1171
|
}
|
|
1109
1172
|
}
|
|
1110
1173
|
return selectClone;
|
|
1111
1174
|
}
|
|
1175
|
+
/** A plain AST node object (arrays and non-plain prototypes excluded). */
|
|
1176
|
+
function isPlainAstObject(v) {
|
|
1177
|
+
if (v === null || typeof v !== 'object' || Array.isArray(v))
|
|
1178
|
+
return false;
|
|
1179
|
+
const proto = Object.getPrototypeOf(v);
|
|
1180
|
+
return proto === Object.prototype || proto === null;
|
|
1181
|
+
}
|
|
1182
|
+
/**
|
|
1183
|
+
* Compare-time normalization of the spellings the LIVE rename propagation can
|
|
1184
|
+
* write into a stored body that a declared (single-schema) body has no
|
|
1185
|
+
* counterpart for — see `renameTableInAst`'s post-condition:
|
|
1186
|
+
*
|
|
1187
|
+
* - an engine-authored SCHEMA QUALIFIER pinning what a reference resolved to
|
|
1188
|
+
* before a rename created a capturing name (`from k` → `from main.k`), and
|
|
1189
|
+
* - an engine-authored FROM ALIAS pinning the qualifier a renamed source used
|
|
1190
|
+
* to expose (`from t` → `from t2 as t`).
|
|
1191
|
+
*
|
|
1192
|
+
* Walks the declared body (already a throwaway clone — the inverse pass's) and
|
|
1193
|
+
* the actual live body in structural lockstep and rewrites the DECLARED side
|
|
1194
|
+
* toward the actual spelling exactly where the two are equivalent:
|
|
1195
|
+
*
|
|
1196
|
+
* - copies an actual-side schema qualifier onto an unqualified declared
|
|
1197
|
+
* reference (accept the engine pin);
|
|
1198
|
+
* - drops a declared-side qualifier equal to the diff's own schema when the
|
|
1199
|
+
* actual side is bare (in the single-schema declared world `main.t` and `t`
|
|
1200
|
+
* spell the same object — the declared form a CTE-collision body must use);
|
|
1201
|
+
* - drops a declared-side FROM alias equal to the source's own bare name when
|
|
1202
|
+
* the actual side carries none (`from t as t` ≡ `from t`, the shape the
|
|
1203
|
+
* inverse table pass leaves behind when it un-renames an aliased source).
|
|
1204
|
+
*
|
|
1205
|
+
* Sound because every caller string- or hash-compares the full canonical
|
|
1206
|
+
* render afterwards: a rewrite at a genuinely-edited site cannot manufacture
|
|
1207
|
+
* equality (every other byte still has to match), it only stops an artifact
|
|
1208
|
+
* from masking it. Applied ONLY to compares, never to recreate DDL renders.
|
|
1209
|
+
*
|
|
1210
|
+
* NOTE: accepted tradeoff — a declared body that merely UN-qualifies a
|
|
1211
|
+
* reference the live side carries qualified reads as unchanged, so apply
|
|
1212
|
+
* preserves the live pin (the rename series' invariant: an unedited body keeps
|
|
1213
|
+
* meaning what it meant). A metadata-free compare cannot distinguish that edit
|
|
1214
|
+
* from the engine's own pin; an author who wants the re-bound meaning says so
|
|
1215
|
+
* with an explicit qualifier (`temp.k`), which drifts and recreates. Revisit
|
|
1216
|
+
* only if pins ever gain durable provenance metadata.
|
|
1217
|
+
*/
|
|
1218
|
+
function absorbRenameArtifacts(declared, actual, schemaName) {
|
|
1219
|
+
if (Array.isArray(declared) && Array.isArray(actual)) {
|
|
1220
|
+
const n = Math.min(declared.length, actual.length);
|
|
1221
|
+
for (let i = 0; i < n; i++)
|
|
1222
|
+
absorbRenameArtifacts(declared[i], actual[i], schemaName);
|
|
1223
|
+
return;
|
|
1224
|
+
}
|
|
1225
|
+
if (!isPlainAstObject(declared) || !isPlainAstObject(actual))
|
|
1226
|
+
return;
|
|
1227
|
+
if (typeof declared.type === 'string' && declared.type === actual.type) {
|
|
1228
|
+
// Exactly the sites the forward walk can qualify or alias: a FROM source,
|
|
1229
|
+
// a DML target, a schema-qualifiable column reference. Nothing else (e.g.
|
|
1230
|
+
// a function name) absorbs, so an author edit elsewhere still drifts.
|
|
1231
|
+
if (declared.type === 'table') {
|
|
1232
|
+
const d = declared;
|
|
1233
|
+
const a = actual;
|
|
1234
|
+
reconcileSchemaQualifier(d.table, a.table, schemaName);
|
|
1235
|
+
if (d.alias !== undefined && a.alias === undefined && d.alias.toLowerCase() === d.table.name.toLowerCase()) {
|
|
1236
|
+
d.alias = undefined;
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
else if (declared.type === 'insert' || declared.type === 'update' || declared.type === 'delete') {
|
|
1240
|
+
const d = declared;
|
|
1241
|
+
const a = actual;
|
|
1242
|
+
if (d.table && a.table)
|
|
1243
|
+
reconcileSchemaQualifier(d.table, a.table, schemaName);
|
|
1244
|
+
}
|
|
1245
|
+
else if (declared.type === 'column') {
|
|
1246
|
+
reconcileSchemaQualifier(declared, actual, schemaName);
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
for (const key of Object.keys(declared)) {
|
|
1250
|
+
if (key in actual)
|
|
1251
|
+
absorbRenameArtifacts(declared[key], actual[key], schemaName);
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
/** The qualifier half of {@link absorbRenameArtifacts}, shared by its three site kinds. */
|
|
1255
|
+
function reconcileSchemaQualifier(declared, actual, schemaName) {
|
|
1256
|
+
if (declared.schema === undefined && typeof actual.schema === 'string') {
|
|
1257
|
+
declared.schema = actual.schema;
|
|
1258
|
+
}
|
|
1259
|
+
else if (declared.schema !== undefined && actual.schema === undefined
|
|
1260
|
+
&& declared.schema.toLowerCase() === schemaName.toLowerCase()) {
|
|
1261
|
+
declared.schema = undefined;
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
/**
|
|
1265
|
+
* Whether the declared view definition matches the actual one once in-diff
|
|
1266
|
+
* renames are inverse-applied AND the live rename propagation's artifacts are
|
|
1267
|
+
* absorbed ({@link absorbRenameArtifacts}). The last-resort compare behind the
|
|
1268
|
+
* raw and rename-reconciled ones: it is what lets a body the propagation
|
|
1269
|
+
* pinned (`from main.k`) or aliased (`from t2 as t`) re-diff clean against its
|
|
1270
|
+
* unedited declared form instead of churning a recreate that would undo the
|
|
1271
|
+
* pin. Requires the actual body AST (`CatalogView.select` /
|
|
1272
|
+
* `CatalogTable.maintained.select`); without it callers keep the strict answer.
|
|
1273
|
+
*/
|
|
1274
|
+
function declaredViewMatchesModuloRenameArtifacts(columns, select, actualSelect, matches, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn) {
|
|
1275
|
+
const reconciled = inverseRenamedViewParts(select, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn);
|
|
1276
|
+
absorbRenameArtifacts(reconciled, actualSelect, schemaName);
|
|
1277
|
+
return matches(viewDefinitionToCanonicalString(columns, reconciled));
|
|
1278
|
+
}
|
|
1279
|
+
/**
|
|
1280
|
+
* The assertion twin of {@link declaredViewMatchesModuloRenameArtifacts}:
|
|
1281
|
+
* whether the declared CHECK body equals the live one once the rename
|
|
1282
|
+
* propagation's artifacts are absorbed. Assertions have no in-diff rename
|
|
1283
|
+
* reconciliation to compose with, so the absorb runs over a plain clone.
|
|
1284
|
+
* Returns `false` when the catalog carries no live AST (strict compare).
|
|
1285
|
+
*/
|
|
1286
|
+
function declaredCheckMatchesModuloRenameArtifacts(declaredCheck, actual, schemaName) {
|
|
1287
|
+
if (actual.check === undefined)
|
|
1288
|
+
return false;
|
|
1289
|
+
const clone = cloneExpr(declaredCheck);
|
|
1290
|
+
absorbRenameArtifacts(clone, actual.check, schemaName);
|
|
1291
|
+
return expressionToString(clone) === actual.definition;
|
|
1292
|
+
}
|
|
1112
1293
|
/**
|
|
1113
1294
|
* Declared {@link AST.CreateViewStmt} with the in-diff COLUMN renames
|
|
1114
1295
|
* inverse-applied (NEW→OLD); table references untouched. Renders the recreate
|
|
@@ -1176,15 +1357,18 @@ columnRenamesByTable, schemaName) {
|
|
|
1176
1357
|
let where = stmt.where;
|
|
1177
1358
|
if (where) {
|
|
1178
1359
|
const clone = cloneExpr(where);
|
|
1360
|
+
const resolveRef = singleSchemaObjectRefResolver(schemaName);
|
|
1179
1361
|
for (const r of colRenames) {
|
|
1180
|
-
|
|
1362
|
+
// 'none' on both predicate arms below, mirroring the forward rewrite:
|
|
1363
|
+
// no written-row context in an index predicate.
|
|
1364
|
+
renameColumnInCheckExpression(clone, stmt.table.name, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, stmt.table.name), 'none');
|
|
1181
1365
|
}
|
|
1182
1366
|
const ownTableLower = stmt.table.name.toLowerCase();
|
|
1183
1367
|
for (const [declaredTableName, renames] of columnRenamesByTable) {
|
|
1184
1368
|
if (declaredTableName === ownTableLower)
|
|
1185
1369
|
continue;
|
|
1186
1370
|
for (const r of renames) {
|
|
1187
|
-
renameColumnInAst(clone, declaredTableName, r.newName, r.oldName, schemaName);
|
|
1371
|
+
renameColumnInAst(clone, declaredTableName, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, declaredTableName), 'none');
|
|
1188
1372
|
}
|
|
1189
1373
|
}
|
|
1190
1374
|
where = clone;
|
|
@@ -1345,6 +1529,7 @@ resolveDeclaredColumn) {
|
|
|
1345
1529
|
return d.definition;
|
|
1346
1530
|
// cloneExpr: the rewriters mutate in place; bodyAst backs ddl/definition.
|
|
1347
1531
|
const clone = { ...tc, expr: cloneExpr(tc.expr) };
|
|
1532
|
+
const resolveRef = singleSchemaObjectRefResolver(schemaName);
|
|
1348
1533
|
// Qualifiers first: any qualified reference in the declared CHECK carries
|
|
1349
1534
|
// a NEW table name (a self-reference after the owning table's rename, or a
|
|
1350
1535
|
// cross-table reference inside a subquery after THAT table's rename);
|
|
@@ -1356,7 +1541,16 @@ resolveDeclaredColumn) {
|
|
|
1356
1541
|
// rename's inverse output can match another's inverse input — order is
|
|
1357
1542
|
// immaterial and equivalent to simultaneous substitution.
|
|
1358
1543
|
for (const r of tableRenames) {
|
|
1359
|
-
|
|
1544
|
+
// rowImageContext, matching the forward propagation's CHECK arm: a bare
|
|
1545
|
+
// `new.` / `old.` in a CHECK names the row image, so the inverse
|
|
1546
|
+
// reconcile must leave it alone exactly as the forward rewrite does —
|
|
1547
|
+
// otherwise a table renamed to/from `new` would churn the constraint.
|
|
1548
|
+
// Single-schema world: a bare name always resolves back to this schema,
|
|
1549
|
+
// so `resolveAfter === resolve` and no qualification ever fires.
|
|
1550
|
+
renameTableInAst(clone.expr, {
|
|
1551
|
+
oldName: r.newName, newName: r.oldName, schemaName,
|
|
1552
|
+
resolve: resolveRef, resolveAfter: resolveRef,
|
|
1553
|
+
}, { rowImageContext: true });
|
|
1360
1554
|
}
|
|
1361
1555
|
for (const r of colRenames) {
|
|
1362
1556
|
// Inverse: rewrite the declared NEW column name back to its OLD name.
|
|
@@ -1364,8 +1558,10 @@ resolveDeclaredColumn) {
|
|
|
1364
1558
|
// unqualified ref inside a subquery whose own FROM source exposes the
|
|
1365
1559
|
// NEW name (in the declared world) binds there, not to the owning
|
|
1366
1560
|
// seed, so it is NOT inverse-rewritten — mirroring the forward seeded
|
|
1367
|
-
// call in `rewriteTableForColumnRename` (owning-table branch).
|
|
1368
|
-
|
|
1561
|
+
// call in `rewriteTableForColumnRename` (owning-table branch). Row-image
|
|
1562
|
+
// mode 'own' mirrors that branch too: this CHECK's `new.`/`old.` names
|
|
1563
|
+
// the owning table's row image, so an owning-column inverse follows it.
|
|
1564
|
+
renameColumnInCheckExpression(clone.expr, tableName, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, tableName), 'own', resolveDeclaredColumn);
|
|
1369
1565
|
}
|
|
1370
1566
|
// Cross-table column renames: a subquery in this CHECK may reference
|
|
1371
1567
|
// ANOTHER table whose column was renamed in this same diff; the forward
|
|
@@ -1390,7 +1586,10 @@ resolveDeclaredColumn) {
|
|
|
1390
1586
|
if (seedTableName.toLowerCase() === tableName.toLowerCase())
|
|
1391
1587
|
continue;
|
|
1392
1588
|
for (const r of renames) {
|
|
1393
|
-
|
|
1589
|
+
// 'foreign', mirroring the forward non-owning branch: this CHECK is
|
|
1590
|
+
// written-row context of the OWNING table, so a bare `new.`/`old.`
|
|
1591
|
+
// here is not a reference to the cross-renamed table.
|
|
1592
|
+
renameColumnInAst(clone.expr, seedTableName, r.newName, r.oldName, resolveRef, objectRefKey(schemaName, seedTableName), 'foreign');
|
|
1394
1593
|
}
|
|
1395
1594
|
}
|
|
1396
1595
|
return constraintBodyToCanonicalString(clone);
|
|
@@ -1783,7 +1982,7 @@ resolveDeclaredColumn) {
|
|
|
1783
1982
|
}
|
|
1784
1983
|
// Both maintained — compare the canonical body hash (reconciling in-diff renames
|
|
1785
1984
|
// so a pure source rename converges via the rename propagation, not a re-attach).
|
|
1786
|
-
if (maintainedBodyMatches(declaredMaintained, liveMaintained
|
|
1985
|
+
if (maintainedBodyMatches(declaredMaintained, liveMaintained, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn)) {
|
|
1787
1986
|
return; // no derivation change → no churn
|
|
1788
1987
|
}
|
|
1789
1988
|
// Body drift → re-attach. A concurrent shape change (column / PK / constraint
|
|
@@ -1812,9 +2011,10 @@ resolveDeclaredColumn) {
|
|
|
1812
2011
|
* (including an explicit rename-list change b → c) fails the compare, so it is not
|
|
1813
2012
|
* masked.
|
|
1814
2013
|
*/
|
|
1815
|
-
function maintainedBodyMatches(declared,
|
|
2014
|
+
function maintainedBodyMatches(declared, liveMaintained, tableRenames, columnRenamesByTable, schemaName,
|
|
1816
2015
|
/** Declared-side column-existence resolver for the seeded defaults-expr rewrites (see `computeSchemaDiff`). */
|
|
1817
2016
|
resolveDeclaredColumn) {
|
|
2017
|
+
const liveBodyHash = liveMaintained.bodyHash;
|
|
1818
2018
|
const hasRenames = tableRenames.length > 0 || columnRenamesByTable.size > 0;
|
|
1819
2019
|
// The single as-authored form: implicit (`undefined`) for a sugar / verb-attached
|
|
1820
2020
|
// body, or the explicit declared rename list. Both create and re-attach record the
|
|
@@ -1829,6 +2029,13 @@ resolveDeclaredColumn) {
|
|
|
1829
2029
|
&& computeBodyHash(reconciledDeclaredViewDefinition(columns, declared.select, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn)) === liveBodyHash) {
|
|
1830
2030
|
return true;
|
|
1831
2031
|
}
|
|
2032
|
+
// Last resort, mirroring the plain-view compare: the live body may differ
|
|
2033
|
+
// only by the rename propagation's pin qualifier / FROM alias — absorbing
|
|
2034
|
+
// those must not read as a body edit, or the re-attach would undo the pin.
|
|
2035
|
+
if (liveMaintained.select
|
|
2036
|
+
&& declaredViewMatchesModuloRenameArtifacts(columns, declared.select, liveMaintained.select, canonical => computeBodyHash(canonical) === liveBodyHash, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn)) {
|
|
2037
|
+
return true;
|
|
2038
|
+
}
|
|
1832
2039
|
}
|
|
1833
2040
|
return false;
|
|
1834
2041
|
}
|