@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-rename.js","sourceRoot":"","sources":["../../../../src/schema/rename/table-rename.ts"],"names":[],"mappings":"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"}
@@ -1,280 +1,20 @@
1
- import type * as AST from '../parser/ast.js';
2
1
  /**
3
- * Returns whether the named source table has a column matching the renamed
4
- * column's old name. Implementation looks up the table in the catalog;
5
- * `schemaName` is the lowercase schema name (already resolved to the
6
- * default schema when the AST qualifier was undefined). Used by the scope
7
- * walk to decide whether an inner FROM frame captures an unqualified column
8
- * ref before the walk reaches an outer binding to the renamed table.
9
- */
10
- export type ResolveColumnInSource = (schemaName: string, tableName: string, columnName: string) => boolean;
11
- export declare function renameTableInAst(node: AST.AstNode | undefined, oldName: string, newName: string, defaultSchemaName: string): boolean;
12
- /**
13
- * Whether `node` refers to the table/view `name` in schema `defaultSchemaName` —
14
- * read-only, nothing is mutated.
15
- *
16
- * Deliberately the SAME traversal {@link renameTableInAst} uses, run with
17
- * `dryRun`, so "refers to" can never drift from "would have been rewritten by a
18
- * rename". That equivalence is the whole point: the DROP guard refuses exactly
19
- * the cases `ALTER TABLE … RENAME` would have followed. A second traversal — or
20
- * a `renameTableInAst(clone, name, name, …)` trick, which would silently
21
- * re-case identifiers — would both break it.
22
- *
23
- * `name` is passed as both old and new name; under `dryRun` the new name is
24
- * never read.
25
- *
26
- * The column-level probes ({@link columnReferencedInAst},
27
- * {@link columnReferencedInCheckExpression}) reach the same equivalence a
28
- * different way — a real rename, to a sentinel name, over a throwaway
29
- * {@link spineCloneAst} copy — because the column walker has ~8 mutation points
30
- * and a CTE-re-exposure branch that reads the new name, so threading `dryRun`
31
- * through it is the riskier of the two. Neither flaw of the identity-rename
32
- * trick warned against above applies there: the mutated node is a discarded
33
- * clone (nothing user-visible is re-cased), and the target is a fresh name no
34
- * column can hold, so `newCol !== oldCol` and the re-exposure branch answers
35
- * exactly as it would for a real rename to an unused name.
36
- */
37
- export declare function tableReferencedInAst(node: AST.AstNode | undefined, name: string, defaultSchemaName: string): boolean;
38
- /**
39
- * Rewrite the renamed table inside every partial-index predicate of `indexes`,
40
- * in place. A predicate may carry a table-qualified self-reference
41
- * (`create index ix on t (b) where t.b > 0`), which a table rename must follow.
42
- *
43
- * Sharing and idempotence work exactly as in {@link renameColumnInIndexPredicates}:
44
- * the predicate `Expression` is shared by reference with the catalog's
45
- * `TableSchema` and with a unique partial index's `derivedFromIndex` UNIQUE
46
- * constraint, so one in-place rewrite covers all of them, and a second call with
47
- * the same pair finds nothing naming `oldName` and returns false.
48
- */
49
- export declare function renameTableInIndexPredicates(indexes: ReadonlyArray<{
50
- readonly predicate?: AST.Expression;
51
- }> | undefined, oldName: string, newName: string, defaultSchemaName: string): boolean;
52
- /**
53
- * Rewrite the renamed table inside every CHECK constraint expression of `checks`,
54
- * in place. A CHECK may carry a table-qualified self-reference (`check (t.b > 0)`)
55
- * exactly as a partial-index predicate may, and a table rename must follow it.
56
- *
57
- * Same sharing and idempotence story as {@link renameTableInIndexPredicates}: the
58
- * `expr` is the very AST the catalog's `TableSchema` holds, so one rewrite covers
59
- * every holder and a second call with the same pair is a no-op.
60
- */
61
- export declare function renameTableInCheckConstraints(checks: ReadonlyArray<{
62
- readonly expr: AST.Expression;
63
- }> | undefined, oldName: string, newName: string, defaultSchemaName: string): boolean;
64
- /**
65
- * Rewrite the renamed table inside the two expressions a `ColumnSchema` can carry —
66
- * a column DEFAULT (`w integer default ((select min(v) from u))`, however authored:
67
- * inline, or via `ALTER TABLE … ALTER COLUMN … SET DEFAULT`, which writes the same
68
- * field) and a generated column's body (`g integer generated always as ((select
69
- * min(u.v) from u) + id)`) — in place.
70
- *
71
- * Unlike the column-rename counterpart ({@link renameColumnInColumnExpressions}) there
72
- * is no seeded/unseeded split: {@link renameTableInAst} resolves nothing against an
73
- * implicit owning table, so the SAME entry point is correct for the renamed table's own
74
- * columns (a self-referencing default, `default ((select count(*) from t))`) and for
75
- * every other table's.
76
- *
77
- * Same sharing and idempotence story as {@link renameTableInCheckConstraints}: the
78
- * `Expression` is the very AST the catalog's `TableSchema` holds, so one in-place
79
- * rewrite reaches every holder and a second call with the same pair finds nothing
80
- * naming `oldName` and returns false.
81
- *
82
- * The parameter is structurally typed rather than `ColumnSchema[]` so this module stays
83
- * free of catalog imports; `ColumnSchema` satisfies it.
84
- */
85
- export declare function renameTableInColumnExpressions(columns: ReadonlyArray<{
86
- readonly defaultValue?: AST.Expression | null;
87
- readonly generatedExpr?: AST.Expression;
88
- }> | undefined, oldName: string, newName: string, defaultSchemaName: string): boolean;
89
- /**
90
- * Rewrite column references inside a full statement/expression AST, resolving
91
- * unqualified refs against the FROM scopes the walk descends (no implicit seed,
92
- * unlike {@link renameColumnInCheckExpression}). The walk descends a select
93
- * body's trailing `with defaults (…)` clause ({@link AST.SelectStmt.defaults}),
94
- * whose entry exprs evaluate in the body's FROM scope.
95
- *
96
- * When `resolveColumnInSource` is supplied, the scope walk consults it at each
97
- * inner FROM frame so an unqualified ref that legitimately binds to a like-named
98
- * column on a subquery's own FROM source is NOT false-captured by an enclosing
99
- * binding (e.g. a `with defaults` expr `cap + (select max(cap) from lim)` under
100
- * a `t.cap` rename must leave the inner `lim.cap` untouched). The same callback
101
- * infrastructure backs {@link renameColumnInCheckExpression}; both the forward
102
- * propagation (live schema lookup) and the differ's inverse reconcile
103
- * (declared-side resolver) pass it so the two stay in parity.
104
- */
105
- export declare function renameColumnInAst(node: AST.AstNode | undefined, tableName: string, oldColName: string, newColName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
106
- /**
107
- * Rewrite a column reference inside a CHECK expression. Unlike
108
- * `renameColumnInAst`, this entry point seeds the scope stack with an
109
- * implicit unaliased binding to `tableName` so top-level unqualified
110
- * `ColumnExpr` nodes resolve to the owning table. CHECK expressions
111
- * cannot reference other tables at top level, so the implicit binding
112
- * is safe there.
113
- *
114
- * When `resolveColumnInSource` is supplied, the scope walk consults it at
115
- * each inner FROM frame: if any real-table source in that frame exposes
116
- * `oldColName`, the unqualified ref binds inside the subquery and the
117
- * walk stops before reaching the seed. This stops the rewriter from
118
- * false-positively rewriting an inner unqualified ref that legitimately
119
- * binds to a like-named column on the subquery's FROM (e.g.
120
- * `check ((select min(v) from u) > 0)` when `u` also has a `v` column).
121
- *
122
- * Limitation: aliased subquery / function-source / CTE-projection inner
123
- * sources are not asked (the rewriter would need recursive column-set
124
- * inference on their bodies). `renameColumnInAst` shares the same callback
125
- * (passed by the view-body callers) and the same limitation.
126
- *
127
- * The seed also makes this walk the owner of the `new.` / `old.` **row-image**
128
- * namespace: a CHECK may name the row being written explicitly
129
- * (`check (new.a > 0)`, `check on delete (old.a > 0)` — `docs/sql-ddl.md`
130
- * § CHECK Constraints), and those qualifiers name the owning table's row, not
131
- * anything a FROM clause binds. So the qualified-ref case matches them too —
132
- * but only here, never through `renameColumnInAst`, where a `new.` ref belongs
133
- * to some other table's row image.
134
- *
135
- * That match is scope-**aware**, not depth-blind, because `new` and `old` are
136
- * not reserved words in this parser: `create table "new" (…)` is legal, so a
137
- * CHECK may legitimately contain `(select max("new".a) from "new")`. The match
138
- * therefore requires that no FROM/WITH frame above the seed rebind the
139
- * qualifier — see `matchesRowImage`.
140
- */
141
- export declare function renameColumnInCheckExpression(expr: AST.AstNode | undefined, tableName: string, oldColName: string, newColName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
142
- /**
143
- * Whether `node` refers to `tableName`.`columnName` — read-only with respect to
144
- * the caller's AST; a throwaway {@link spineCloneAst} copy is what gets
145
- * rewritten.
146
- *
147
- * Same equivalence {@link tableReferencedInAst} establishes for the table verb,
148
- * and for the same reason: "refers to" must mean "would have been rewritten by
149
- * `ALTER TABLE … RENAME COLUMN`", or a DROP guard built on it refuses a
150
- * different set of cases than the rename follows. See that function's comment
151
- * for why the column verb reaches it by clone+sentinel rather than by `dryRun`.
152
- *
153
- * `resolveColumnInSource` is **not optional in practice**: without it the walk
154
- * has no way to tell that an unqualified ref inside a subquery binds to a
155
- * like-named column on the subquery's own FROM source, and a caller asking
156
- * "does this body name `t.v`?" gets `true` for a body whose only `v` is
157
- * another table's. Every caller should pass the catalog-backed resolver
158
- * (`buildColumnSourceResolver`).
159
- *
160
- * NOTE: one spine clone plus one walk per probe, and the DROP COLUMN guard probes every
161
- * live assertion. Trivial at the handful-of-assertions scale schemas have today, and it
162
- * only runs on DDL; if a schema ever carries assertions by the hundred, filter by
163
- * `tableReferencedInAst` (no clone) before paying for the column probe.
164
- */
165
- export declare function columnReferencedInAst(node: AST.AstNode | undefined, tableName: string, columnName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
166
- /**
167
- * {@link columnReferencedInAst} for an expression that resolves unqualified refs
168
- * against an implicit binding to `tableName` — a CHECK expression or a
169
- * partial-index predicate. Uses {@link renameColumnInCheckExpression}'s seeded
170
- * entry point so the probe answers for exactly the scope that expression is
171
- * planned in.
172
- */
173
- export declare function columnReferencedInCheckExpression(expr: AST.AstNode | undefined, tableName: string, columnName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
174
- /**
175
- * Rewrite the renamed column inside every partial-index predicate of `indexes`,
176
- * in place. A predicate resolves unqualified refs against the indexed table
177
- * itself — the same implicit seed a CHECK expression uses — so
178
- * {@link renameColumnInCheckExpression} is the correct entry point here, not
179
- * {@link renameColumnInAst}.
180
- *
181
- * The predicate `Expression` is shared by reference between the catalog's
182
- * `TableSchema`, any module-local copy of it, and — for a unique partial index —
183
- * the `derivedFromIndex` UNIQUE constraint that carries the same predicate.
184
- * Rewriting in place keeps all of them in step; cloning would strand the derived
185
- * constraint on the old AST.
186
- *
187
- * Idempotent: once rewritten, nothing names `oldColName` any more, so a second
188
- * call with the same pair returns false without touching the AST.
189
- *
190
- * The parameter is structurally typed rather than `IndexSchema[]` so this module
191
- * stays free of catalog imports; `IndexSchema` satisfies it.
192
- *
193
- * Sharing the seeded entry point also brings its `new.` / `old.` row-image match
194
- * along, which is inert here: a partial-index predicate describes rows already
195
- * stored, has no written-row context, and a predicate naming one would not plan
196
- * in the first place. Nothing to suppress — noted so the shared entry point does
197
- * not read as an oversight.
198
- */
199
- export declare function renameColumnInIndexPredicates(indexes: ReadonlyArray<{
200
- readonly predicate?: AST.Expression;
201
- }> | undefined, tableName: string, oldColName: string, newColName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
202
- /**
203
- * Rewrite the renamed column inside every CHECK constraint expression of `checks`
204
- * belonging to the renamed table itself, in place. The seeded-scope entry point
205
- * applies for the same reason it does for a partial-index predicate: a CHECK
206
- * resolves unqualified refs against its owning table.
207
- *
208
- * Only pass the renamed table's OWN checks — a CHECK on a *different* table that
209
- * happens to reference the renamed table needs {@link renameColumnInAst}, whose
210
- * walk has no implicit seed.
211
- */
212
- export declare function renameColumnInCheckConstraints(checks: ReadonlyArray<{
213
- readonly expr: AST.Expression;
214
- }> | undefined, tableName: string, oldColName: string, newColName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
215
- /**
216
- * Rewrite the renamed column inside the two expressions a `ColumnSchema` can carry —
217
- * a column DEFAULT (`b integer default (new.a + 1)`, however authored: inline, or via
218
- * `ALTER TABLE … ALTER COLUMN … SET DEFAULT`, which writes the same field) and a
219
- * generated column's body (`g integer generated always as (a + 1)`) — in place, for
220
- * every column of the renamed table itself.
221
- *
222
- * The seeded {@link renameColumnInCheckExpression} entry point is correct for both, for
223
- * the two halves of what the seed provides:
224
- *
225
- * - The implicit unaliased binding to the owning table is what makes a generated
226
- * column's **bare** `a` resolve — it has no FROM clause to bind against, exactly like
227
- * a CHECK.
228
- * - The seed also owns the `new.` / `old.` **row-image** namespace, which is what makes a
229
- * default's `new.a` resolve. A default is evaluated against the row being written, so
230
- * that qualifier names this table's row image, not anything a FROM binds.
231
- *
232
- * Case folding (`NEW.A`) and the shadowing edge (a real table literally named `new`,
233
- * reached from a subquery inside the expression) therefore behave exactly as they do for
234
- * a CHECK, because the same walk decides all three.
235
- *
236
- * Only pass the renamed table's OWN columns. A default on a *different* table can reach
237
- * this table only through a subquery, so an unqualified ref there must bind inside that
238
- * subquery's FROM — that caller wants {@link renameColumnInAst}, whose walk has no seed.
239
- *
240
- * Same sharing and idempotence story as {@link renameColumnInCheckConstraints}: a
241
- * module's rename hook rebuilds only the renamed column's `ColumnSchema` and keeps every
242
- * other one by reference, and even the rebuilt one carries the SAME expression nodes
243
- * (`buildConstraintsFromColumn` passes them into the reconstructed `ColumnDef` by
244
- * reference and `columnDefToSchema` assigns them straight back), so one in-place rewrite
245
- * reaches every holder and a second call with the same pair is a no-op.
246
- *
247
- * The parameter is structurally typed rather than `ColumnSchema[]` so this module stays
248
- * free of catalog imports; `ColumnSchema` satisfies it.
249
- */
250
- export declare function renameColumnInColumnExpressions(columns: ReadonlyArray<{
251
- readonly defaultValue?: AST.Expression | null;
252
- readonly generatedExpr?: AST.Expression;
253
- }> | undefined, tableName: string, oldColName: string, newColName: string, defaultSchemaName: string, resolveColumnInSource?: ResolveColumnInSource): boolean;
254
- /**
255
- * Strip table-qualified self-references in a CHECK expression down to the
256
- * unqualified form: `check (t.qty > 0)` (or `main.t.qty`) becomes
257
- * `check (qty > 0)` so the constraint planner's row-context scope — which
258
- * registers bare / `NEW.` / `OLD.` column names only — can resolve it.
259
- *
260
- * Deliberately NOT done by seeding `<table>.<col>` keys into the constraint
261
- * scope: that scope is an ancestor of every subquery planned inside the
262
- * CHECK, and a join peer's parent-chain fallback (`MultiScope` first-match
263
- * on qualified names) would resolve an inner relation's qualified columns
264
- * against the outer row context (observed with lens view expansions).
265
- *
266
- * The walk mirrors SQL shadowing rules: a qualifier rebound by an inner
267
- * FROM (same table re-selected, an alias, or a CTE) is left untouched. A
268
- * self-qualified ref inside a subquery is stripped only when no
269
- * intervening FROM frame could capture the resulting unqualified name —
270
- * real-table sources are asked via `resolveColumnInSource`; subquery /
271
- * function / CTE sources are unanalyzable and conservatively block the
272
- * strip (the ref then stays qualified and fails to resolve exactly as it
273
- * did before this rewrite existed). CTE and derived-table bodies cannot
274
- * correlate to the constraint row, so stripping is suppressed inside them.
275
- *
276
- * Mutates `expr` in place (callers pass a clone of the stored constraint
277
- * AST) and returns whether anything was rewritten.
278
- */
279
- export declare function stripSelfQualifierInCheckExpression(expr: AST.AstNode | undefined, tableName: string, defaultSchemaName: string, resolveColumnInSource: ResolveColumnInSource): boolean;
2
+ * In-place, scope-aware AST rewriters over schema-object expressions: the
3
+ * rename walkers propagate ALTER TABLE RENAME operations into dependent
4
+ * objects (CHECK expressions, view SELECT bodies, etc.), and the
5
+ * self-qualifier strip folds a CHECK's table-qualified self-references so
6
+ * the constraint planner's row-context scope can resolve them.
7
+ *
8
+ * The three walkers live in `rename/`, split along their seams — table
9
+ * rename (`rename/table-rename.ts`), column rename
10
+ * (`rename/column-rename.ts`), self-qualifier strip
11
+ * (`rename/self-qualifier-strip.ts`) — over the shared vocabulary in
12
+ * `rename/shared.ts`. This module re-exports the public surface so callers
13
+ * keep one import path.
14
+ */
15
+ export type { ResolveColumnInSource, ResolveObjectRef, RowImageContext, TableRenameTarget } from './rename/shared.js';
16
+ export { objectRefKey, objectRefKeySchema, singleSchemaObjectRefResolver } from './rename/shared.js';
17
+ export { renameTableInAst, tableReferencedInAst, collectTableRefsInAst, renameTableInIndexPredicates, renameTableInCheckConstraints, renameTableInColumnExpressions, type TableRenameOpts, } from './rename/table-rename.js';
18
+ export { PROBE_COLUMN_NAME, renameColumnInAst, renameColumnInCheckExpression, columnReferencedInAst, columnReferencedInCheckExpression, renameColumnInIndexPredicates, renameColumnInCheckConstraints, renameColumnInColumnExpressions, bodyExposesRenamedColumn, bodyPublishesColumnNamed, } from './rename/column-rename.js';
19
+ export { stripSelfQualifierInCheckExpression } from './rename/self-qualifier-strip.js';
280
20
  //# sourceMappingURL=rename-rewriter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename-rewriter.d.ts","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rename-rewriter.d.ts","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtH,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,EAC9B,KAAK,eAAe,GACpB,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"}