@quereus/quereus 4.8.0 → 4.10.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.
Files changed (280) hide show
  1. package/dist/src/core/database.d.ts +6 -0
  2. package/dist/src/core/database.d.ts.map +1 -1
  3. package/dist/src/core/database.js +45 -5
  4. package/dist/src/core/database.js.map +1 -1
  5. package/dist/src/core/statement.d.ts.map +1 -1
  6. package/dist/src/core/statement.js +74 -15
  7. package/dist/src/core/statement.js.map +1 -1
  8. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  9. package/dist/src/func/builtins/aggregate.js +88 -35
  10. package/dist/src/func/builtins/aggregate.js.map +1 -1
  11. package/dist/src/func/builtins/conversion.d.ts +5 -0
  12. package/dist/src/func/builtins/conversion.d.ts.map +1 -1
  13. package/dist/src/func/builtins/conversion.js +16 -2
  14. package/dist/src/func/builtins/conversion.js.map +1 -1
  15. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  16. package/dist/src/func/builtins/explain.js +9 -2
  17. package/dist/src/func/builtins/explain.js.map +1 -1
  18. package/dist/src/func/builtins/index.d.ts.map +1 -1
  19. package/dist/src/func/builtins/index.js +5 -2
  20. package/dist/src/func/builtins/index.js.map +1 -1
  21. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  22. package/dist/src/func/builtins/scalar.js +4 -2
  23. package/dist/src/func/builtins/scalar.js.map +1 -1
  24. package/dist/src/func/builtins/string.d.ts +2 -0
  25. package/dist/src/func/builtins/string.d.ts.map +1 -1
  26. package/dist/src/func/builtins/string.js +60 -4
  27. package/dist/src/func/builtins/string.js.map +1 -1
  28. package/dist/src/func/registration.d.ts +6 -0
  29. package/dist/src/func/registration.d.ts.map +1 -1
  30. package/dist/src/func/registration.js +1 -0
  31. package/dist/src/func/registration.js.map +1 -1
  32. package/dist/src/index.d.ts +7 -3
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +21 -2
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/planner/building/constraint-builder.js +1 -1
  37. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  38. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  39. package/dist/src/planner/nodes/scalar.js +13 -1
  40. package/dist/src/planner/nodes/scalar.js.map +1 -1
  41. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  42. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +121 -51
  43. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  44. package/dist/src/planner/rules/shared/index-style-context.d.ts +14 -4
  45. package/dist/src/planner/rules/shared/index-style-context.d.ts.map +1 -1
  46. package/dist/src/planner/rules/shared/index-style-context.js +14 -4
  47. package/dist/src/planner/rules/shared/index-style-context.js.map +1 -1
  48. package/dist/src/runtime/emission-context.d.ts +14 -1
  49. package/dist/src/runtime/emission-context.d.ts.map +1 -1
  50. package/dist/src/runtime/emission-context.js +17 -5
  51. package/dist/src/runtime/emission-context.js.map +1 -1
  52. package/dist/src/runtime/emit/aggregate-setup.d.ts +44 -8
  53. package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -1
  54. package/dist/src/runtime/emit/aggregate-setup.js +79 -15
  55. package/dist/src/runtime/emit/aggregate-setup.js.map +1 -1
  56. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  57. package/dist/src/runtime/emit/aggregate.js +21 -106
  58. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  59. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  60. package/dist/src/runtime/emit/alter-table.js +212 -155
  61. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  62. package/dist/src/runtime/emit/asof-scan.js +1 -1
  63. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  64. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +26 -12
  65. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -1
  66. package/dist/src/runtime/emit/assertion-drop-guard.js +45 -26
  67. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -1
  68. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +6 -6
  69. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -1
  70. package/dist/src/runtime/emit/assertion-rename-helpers.js +18 -20
  71. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -1
  72. package/dist/src/runtime/emit/between.d.ts +2 -0
  73. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  74. package/dist/src/runtime/emit/between.js +7 -8
  75. package/dist/src/runtime/emit/between.js.map +1 -1
  76. package/dist/src/runtime/emit/binary.d.ts +27 -5
  77. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  78. package/dist/src/runtime/emit/binary.js +278 -187
  79. package/dist/src/runtime/emit/binary.js.map +1 -1
  80. package/dist/src/runtime/emit/case.d.ts +34 -0
  81. package/dist/src/runtime/emit/case.d.ts.map +1 -1
  82. package/dist/src/runtime/emit/case.js +18 -11
  83. package/dist/src/runtime/emit/case.js.map +1 -1
  84. package/dist/src/runtime/emit/cast.d.ts +2 -0
  85. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  86. package/dist/src/runtime/emit/cast.js +7 -5
  87. package/dist/src/runtime/emit/cast.js.map +1 -1
  88. package/dist/src/runtime/emit/column-reference.d.ts +3 -1
  89. package/dist/src/runtime/emit/column-reference.d.ts.map +1 -1
  90. package/dist/src/runtime/emit/column-reference.js +6 -2
  91. package/dist/src/runtime/emit/column-reference.js.map +1 -1
  92. package/dist/src/runtime/emit/column-rename-cascade.d.ts +84 -0
  93. package/dist/src/runtime/emit/column-rename-cascade.d.ts.map +1 -0
  94. package/dist/src/runtime/emit/column-rename-cascade.js +134 -0
  95. package/dist/src/runtime/emit/column-rename-cascade.js.map +1 -0
  96. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  97. package/dist/src/runtime/emit/dml-executor.js +21 -0
  98. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  99. package/dist/src/runtime/emit/drop-column-guards.d.ts +82 -53
  100. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -1
  101. package/dist/src/runtime/emit/drop-column-guards.js +155 -90
  102. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -1
  103. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  104. package/dist/src/runtime/emit/drop-table.js +5 -0
  105. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  106. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  107. package/dist/src/runtime/emit/drop-view.js +5 -0
  108. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  109. package/dist/src/runtime/emit/expression-drop-guard.d.ts +57 -0
  110. package/dist/src/runtime/emit/expression-drop-guard.d.ts.map +1 -0
  111. package/dist/src/runtime/emit/expression-drop-guard.js +82 -0
  112. package/dist/src/runtime/emit/expression-drop-guard.js.map +1 -0
  113. package/dist/src/runtime/emit/filter.d.ts +1 -1
  114. package/dist/src/runtime/emit/filter.js +1 -1
  115. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  116. package/dist/src/runtime/emit/hash-aggregate.js +18 -88
  117. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  118. package/dist/src/runtime/emit/literal.d.ts +14 -1
  119. package/dist/src/runtime/emit/literal.d.ts.map +1 -1
  120. package/dist/src/runtime/emit/literal.js +33 -7
  121. package/dist/src/runtime/emit/literal.js.map +1 -1
  122. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +33 -10
  123. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  124. package/dist/src/runtime/emit/materialized-view-helpers.js +158 -49
  125. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  126. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  127. package/dist/src/runtime/emit/materialized-view.js +3 -0
  128. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  129. package/dist/src/runtime/emit/parameter.d.ts +3 -1
  130. package/dist/src/runtime/emit/parameter.d.ts.map +1 -1
  131. package/dist/src/runtime/emit/parameter.js +7 -2
  132. package/dist/src/runtime/emit/parameter.js.map +1 -1
  133. package/dist/src/runtime/emit/scalar-function.d.ts +29 -1
  134. package/dist/src/runtime/emit/scalar-function.d.ts.map +1 -1
  135. package/dist/src/runtime/emit/scalar-function.js +66 -16
  136. package/dist/src/runtime/emit/scalar-function.js.map +1 -1
  137. package/dist/src/runtime/emit/scalar-op.d.ts +63 -0
  138. package/dist/src/runtime/emit/scalar-op.d.ts.map +1 -0
  139. package/dist/src/runtime/emit/scalar-op.js +37 -0
  140. package/dist/src/runtime/emit/scalar-op.js.map +1 -0
  141. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  142. package/dist/src/runtime/emit/scan.js +19 -1
  143. package/dist/src/runtime/emit/scan.js.map +1 -1
  144. package/dist/src/runtime/emit/temporal-arithmetic.d.ts +18 -8
  145. package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
  146. package/dist/src/runtime/emit/temporal-arithmetic.js +29 -311
  147. package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
  148. package/dist/src/runtime/emit/unary.d.ts +2 -0
  149. package/dist/src/runtime/emit/unary.d.ts.map +1 -1
  150. package/dist/src/runtime/emit/unary.js +125 -53
  151. package/dist/src/runtime/emit/unary.js.map +1 -1
  152. package/dist/src/runtime/emitters.d.ts +22 -0
  153. package/dist/src/runtime/emitters.d.ts.map +1 -1
  154. package/dist/src/runtime/emitters.js +29 -0
  155. package/dist/src/runtime/emitters.js.map +1 -1
  156. package/dist/src/runtime/scalar-fusion.d.ts +47 -0
  157. package/dist/src/runtime/scalar-fusion.d.ts.map +1 -0
  158. package/dist/src/runtime/scalar-fusion.js +275 -0
  159. package/dist/src/runtime/scalar-fusion.js.map +1 -0
  160. package/dist/src/runtime/strict-flags.d.ts +9 -0
  161. package/dist/src/runtime/strict-flags.d.ts.map +1 -1
  162. package/dist/src/runtime/strict-flags.js +9 -0
  163. package/dist/src/runtime/strict-flags.js.map +1 -1
  164. package/dist/src/runtime/strict-fork.js +2 -2
  165. package/dist/src/runtime/strict-fork.js.map +1 -1
  166. package/dist/src/runtime/strict-representation.d.ts +78 -0
  167. package/dist/src/runtime/strict-representation.d.ts.map +1 -0
  168. package/dist/src/runtime/strict-representation.js +159 -0
  169. package/dist/src/runtime/strict-representation.js.map +1 -0
  170. package/dist/src/schema/assertion.d.ts +58 -0
  171. package/dist/src/schema/assertion.d.ts.map +1 -1
  172. package/dist/src/schema/assertion.js +78 -0
  173. package/dist/src/schema/assertion.js.map +1 -1
  174. package/dist/src/schema/catalog-persistability.d.ts +11 -3
  175. package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
  176. package/dist/src/schema/catalog-persistability.js +48 -29
  177. package/dist/src/schema/catalog-persistability.js.map +1 -1
  178. package/dist/src/schema/catalog.d.ts +22 -0
  179. package/dist/src/schema/catalog.d.ts.map +1 -1
  180. package/dist/src/schema/catalog.js +4 -1
  181. package/dist/src/schema/catalog.js.map +1 -1
  182. package/dist/src/schema/column-republication.d.ts +126 -0
  183. package/dist/src/schema/column-republication.d.ts.map +1 -0
  184. package/dist/src/schema/column-republication.js +121 -0
  185. package/dist/src/schema/column-republication.js.map +1 -0
  186. package/dist/src/schema/column-source-resolver.d.ts +29 -6
  187. package/dist/src/schema/column-source-resolver.d.ts.map +1 -1
  188. package/dist/src/schema/column-source-resolver.js +78 -9
  189. package/dist/src/schema/column-source-resolver.js.map +1 -1
  190. package/dist/src/schema/expression-dependents.d.ts +160 -0
  191. package/dist/src/schema/expression-dependents.d.ts.map +1 -0
  192. package/dist/src/schema/expression-dependents.js +228 -0
  193. package/dist/src/schema/expression-dependents.js.map +1 -0
  194. package/dist/src/schema/function.d.ts +15 -0
  195. package/dist/src/schema/function.d.ts.map +1 -1
  196. package/dist/src/schema/function.js.map +1 -1
  197. package/dist/src/schema/object-dependency-closure.d.ts +127 -0
  198. package/dist/src/schema/object-dependency-closure.d.ts.map +1 -0
  199. package/dist/src/schema/object-dependency-closure.js +117 -0
  200. package/dist/src/schema/object-dependency-closure.js.map +1 -0
  201. package/dist/src/schema/object-ref-resolver.d.ts +83 -0
  202. package/dist/src/schema/object-ref-resolver.d.ts.map +1 -0
  203. package/dist/src/schema/object-ref-resolver.js +135 -0
  204. package/dist/src/schema/object-ref-resolver.js.map +1 -0
  205. package/dist/src/schema/rename/column-rename.d.ts +228 -0
  206. package/dist/src/schema/rename/column-rename.d.ts.map +1 -0
  207. package/dist/src/schema/rename/column-rename.js +1225 -0
  208. package/dist/src/schema/rename/column-rename.js.map +1 -0
  209. package/dist/src/schema/rename/self-qualifier-strip.d.ts +29 -0
  210. package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -0
  211. package/dist/src/schema/rename/self-qualifier-strip.js +267 -0
  212. package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -0
  213. package/dist/src/schema/rename/shared.d.ts +108 -0
  214. package/dist/src/schema/rename/shared.d.ts.map +1 -0
  215. package/dist/src/schema/rename/shared.js +49 -0
  216. package/dist/src/schema/rename/shared.js.map +1 -0
  217. package/dist/src/schema/rename/table-rename.d.ts +263 -0
  218. package/dist/src/schema/rename/table-rename.d.ts.map +1 -0
  219. package/dist/src/schema/rename/table-rename.js +860 -0
  220. package/dist/src/schema/rename/table-rename.js.map +1 -0
  221. package/dist/src/schema/rename-rewriter.d.ts +18 -278
  222. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  223. package/dist/src/schema/rename-rewriter.js +17 -1506
  224. package/dist/src/schema/rename-rewriter.js.map +1 -1
  225. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  226. package/dist/src/schema/schema-differ.js +228 -21
  227. package/dist/src/schema/schema-differ.js.map +1 -1
  228. package/dist/src/types/builtin-types.d.ts.map +1 -1
  229. package/dist/src/types/builtin-types.js +29 -36
  230. package/dist/src/types/builtin-types.js.map +1 -1
  231. package/dist/src/types/cast-semantics.d.ts +7 -5
  232. package/dist/src/types/cast-semantics.d.ts.map +1 -1
  233. package/dist/src/types/cast-semantics.js +20 -9
  234. package/dist/src/types/cast-semantics.js.map +1 -1
  235. package/dist/src/types/index.d.ts +1 -1
  236. package/dist/src/types/index.d.ts.map +1 -1
  237. package/dist/src/types/index.js +1 -1
  238. package/dist/src/types/index.js.map +1 -1
  239. package/dist/src/types/registry.d.ts.map +1 -1
  240. package/dist/src/types/registry.js +2 -1
  241. package/dist/src/types/registry.js.map +1 -1
  242. package/dist/src/types/temporal-ops.d.ts +119 -0
  243. package/dist/src/types/temporal-ops.d.ts.map +1 -0
  244. package/dist/src/types/temporal-ops.js +348 -0
  245. package/dist/src/types/temporal-ops.js.map +1 -0
  246. package/dist/src/types/temporal-types.d.ts +11 -0
  247. package/dist/src/types/temporal-types.d.ts.map +1 -1
  248. package/dist/src/types/temporal-types.js +87 -0
  249. package/dist/src/types/temporal-types.js.map +1 -1
  250. package/dist/src/util/affinity.d.ts +2 -1
  251. package/dist/src/util/affinity.d.ts.map +1 -1
  252. package/dist/src/util/affinity.js +16 -5
  253. package/dist/src/util/affinity.js.map +1 -1
  254. package/dist/src/util/ast-spine-clone.d.ts +2 -2
  255. package/dist/src/util/ast-spine-clone.js +2 -2
  256. package/dist/src/util/coercion.d.ts +22 -7
  257. package/dist/src/util/coercion.d.ts.map +1 -1
  258. package/dist/src/util/coercion.js +28 -15
  259. package/dist/src/util/coercion.js.map +1 -1
  260. package/dist/src/util/comparison.d.ts +25 -0
  261. package/dist/src/util/comparison.d.ts.map +1 -1
  262. package/dist/src/util/comparison.js +25 -0
  263. package/dist/src/util/comparison.js.map +1 -1
  264. package/dist/src/util/key-tuple-codec.d.ts +12 -3
  265. package/dist/src/util/key-tuple-codec.d.ts.map +1 -1
  266. package/dist/src/util/key-tuple-codec.js.map +1 -1
  267. package/dist/src/util/numeric-canonical.d.ts +26 -0
  268. package/dist/src/util/numeric-canonical.d.ts.map +1 -0
  269. package/dist/src/util/numeric-canonical.js +66 -0
  270. package/dist/src/util/numeric-canonical.js.map +1 -0
  271. package/dist/src/util/value-text.d.ts +48 -0
  272. package/dist/src/util/value-text.d.ts.map +1 -0
  273. package/dist/src/util/value-text.js +35 -0
  274. package/dist/src/util/value-text.js.map +1 -0
  275. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  276. package/dist/src/vtab/memory/layer/manager.js +14 -5
  277. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  278. package/dist/src/vtab/module.d.ts +25 -0
  279. package/dist/src/vtab/module.d.ts.map +1 -1
  280. package/package.json +4 -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":"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"}
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
- const namesDroppedObject = (check) => droppedInThisDiff.some(dropped => tableReferencedInAst(check, dropped, targetSchemaName));
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
- if (matchedActual && declaredBody === matchedActual.definition
641
- && !namesDroppedObject(declaredAssertion.assertionStmt.check))
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. Known accepted
997
- * edge (symmetric with the forward path): the rewriters are scope-naive about a
998
- * subquery alias that happens to equal a renamed table's new name — worst case a
999
- * spurious (valid) recreate.
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
- renameTableInAst(clone, r.newName, r.oldName, schemaName);
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
- renameColumnInCheckExpression(clone, seedTableName, r.newName, r.oldName, schemaName);
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
- renameTableInAst(selectClone, r.newName, r.oldName, schemaName);
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
- renameColumnInAst(selectClone, seedTableName, r.newName, r.oldName, schemaName, resolveDeclaredColumn);
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
- renameColumnInCheckExpression(clone, stmt.table.name, r.newName, r.oldName, schemaName);
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
- renameTableInAst(clone.expr, r.newName, r.oldName, schemaName);
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
- renameColumnInCheckExpression(clone.expr, tableName, r.newName, r.oldName, schemaName, resolveDeclaredColumn);
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
- renameColumnInAst(clone.expr, seedTableName, r.newName, r.oldName, schemaName);
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.bodyHash, tableRenames, columnRenamesByTable, schemaName, resolveDeclaredColumn)) {
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, liveBodyHash, tableRenames, columnRenamesByTable, schemaName,
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
  }