@quereus/quereus 2.6.0 → 2.8.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 (232) hide show
  1. package/README.md +222 -439
  2. package/dist/src/common/errors.d.ts +21 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +29 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/core/database.d.ts +10 -4
  7. package/dist/src/core/database.d.ts.map +1 -1
  8. package/dist/src/core/database.js +58 -18
  9. package/dist/src/core/database.js.map +1 -1
  10. package/dist/src/core/statement.d.ts.map +1 -1
  11. package/dist/src/core/statement.js +15 -5
  12. package/dist/src/core/statement.js.map +1 -1
  13. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  14. package/dist/src/emit/ast-stringify.js +0 -1
  15. package/dist/src/emit/ast-stringify.js.map +1 -1
  16. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  17. package/dist/src/func/builtins/explain.js +39 -36
  18. package/dist/src/func/builtins/explain.js.map +1 -1
  19. package/dist/src/func/builtins/index.d.ts.map +1 -1
  20. package/dist/src/func/builtins/index.js +3 -2
  21. package/dist/src/func/builtins/index.js.map +1 -1
  22. package/dist/src/func/builtins/json-helpers.d.ts +1 -1
  23. package/dist/src/func/builtins/json-helpers.d.ts.map +1 -1
  24. package/dist/src/func/builtins/json-helpers.js.map +1 -1
  25. package/dist/src/func/builtins/json-tvf.js +2 -2
  26. package/dist/src/func/builtins/json-tvf.js.map +1 -1
  27. package/dist/src/func/builtins/json.d.ts.map +1 -1
  28. package/dist/src/func/builtins/json.js +5 -7
  29. package/dist/src/func/builtins/json.js.map +1 -1
  30. package/dist/src/func/builtins/scalar.d.ts +2 -1
  31. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  32. package/dist/src/func/builtins/scalar.js +33 -16
  33. package/dist/src/func/builtins/scalar.js.map +1 -1
  34. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  35. package/dist/src/func/builtins/schema.js +14 -21
  36. package/dist/src/func/builtins/schema.js.map +1 -1
  37. package/dist/src/func/builtins/string.d.ts.map +1 -1
  38. package/dist/src/func/builtins/string.js +4 -2
  39. package/dist/src/func/builtins/string.js.map +1 -1
  40. package/dist/src/parser/ast.d.ts +1 -1
  41. package/dist/src/parser/ast.d.ts.map +1 -1
  42. package/dist/src/parser/lexer.d.ts.map +1 -1
  43. package/dist/src/parser/lexer.js +8 -48
  44. package/dist/src/parser/lexer.js.map +1 -1
  45. package/dist/src/parser/parser.d.ts.map +1 -1
  46. package/dist/src/parser/parser.js +30 -7
  47. package/dist/src/parser/parser.js.map +1 -1
  48. package/dist/src/parser/utils.d.ts +10 -1
  49. package/dist/src/parser/utils.d.ts.map +1 -1
  50. package/dist/src/parser/utils.js +23 -0
  51. package/dist/src/parser/utils.js.map +1 -1
  52. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  53. package/dist/src/planner/analysis/constraint-extractor.js +0 -1
  54. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  55. package/dist/src/planner/building/constraint-builder.d.ts +12 -1
  56. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  57. package/dist/src/planner/building/constraint-builder.js +60 -1
  58. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  59. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  60. package/dist/src/planner/building/create-view.js +16 -0
  61. package/dist/src/planner/building/create-view.js.map +1 -1
  62. package/dist/src/planner/building/delete.d.ts.map +1 -1
  63. package/dist/src/planner/building/delete.js +17 -7
  64. package/dist/src/planner/building/delete.js.map +1 -1
  65. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  66. package/dist/src/planner/building/foreign-key-builder.js +24 -15
  67. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  68. package/dist/src/planner/building/insert.d.ts.map +1 -1
  69. package/dist/src/planner/building/insert.js +55 -104
  70. package/dist/src/planner/building/insert.js.map +1 -1
  71. package/dist/src/planner/building/select-aggregates.d.ts +5 -2
  72. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  73. package/dist/src/planner/building/select-aggregates.js +184 -26
  74. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  75. package/dist/src/planner/building/select-modifiers.d.ts +6 -2
  76. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  77. package/dist/src/planner/building/select-modifiers.js +20 -5
  78. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  79. package/dist/src/planner/building/select-ordinal.d.ts +20 -0
  80. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -0
  81. package/dist/src/planner/building/select-ordinal.js +62 -0
  82. package/dist/src/planner/building/select-ordinal.js.map +1 -0
  83. package/dist/src/planner/building/select.d.ts.map +1 -1
  84. package/dist/src/planner/building/select.js +64 -17
  85. package/dist/src/planner/building/select.js.map +1 -1
  86. package/dist/src/planner/building/update.d.ts.map +1 -1
  87. package/dist/src/planner/building/update.js +34 -27
  88. package/dist/src/planner/building/update.js.map +1 -1
  89. package/dist/src/planner/building/with.d.ts.map +1 -1
  90. package/dist/src/planner/building/with.js +25 -2
  91. package/dist/src/planner/building/with.js.map +1 -1
  92. package/dist/src/planner/nodes/constraint-check-node.d.ts +22 -1
  93. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  94. package/dist/src/planner/nodes/constraint-check-node.js +36 -6
  95. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  96. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  97. package/dist/src/planner/nodes/filter.js +6 -2
  98. package/dist/src/planner/nodes/filter.js.map +1 -1
  99. package/dist/src/planner/nodes/recursive-cte-node.d.ts +5 -3
  100. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  101. package/dist/src/planner/nodes/recursive-cte-node.js +24 -8
  102. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  103. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  104. package/dist/src/planner/nodes/returning-node.js +5 -12
  105. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  106. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  107. package/dist/src/planner/rules/access/rule-select-access-path.js +22 -26
  108. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  109. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  110. package/dist/src/planner/rules/join/rule-join-physical-selection.js +2 -2
  111. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  112. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  113. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +7 -3
  114. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  115. package/dist/src/planner/rules/predicate/rule-filter-merge.js.map +1 -1
  116. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  117. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  118. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +161 -9
  119. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  120. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  121. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +32 -2
  122. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  123. package/dist/src/planner/validation/returning-qualifier-validator.d.ts +8 -0
  124. package/dist/src/planner/validation/returning-qualifier-validator.d.ts.map +1 -0
  125. package/dist/src/planner/validation/returning-qualifier-validator.js +63 -0
  126. package/dist/src/planner/validation/returning-qualifier-validator.js.map +1 -0
  127. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  128. package/dist/src/runtime/deferred-constraint-queue.js +3 -0
  129. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  130. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  131. package/dist/src/runtime/emit/alter-table.js +286 -7
  132. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  133. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  134. package/dist/src/runtime/emit/binary.js +12 -7
  135. package/dist/src/runtime/emit/binary.js.map +1 -1
  136. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  137. package/dist/src/runtime/emit/constraint-check.js +125 -62
  138. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  139. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  140. package/dist/src/runtime/emit/create-assertion.js +6 -6
  141. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  142. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  143. package/dist/src/runtime/emit/dml-executor.js +133 -76
  144. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  145. package/dist/src/runtime/emit/pragma.d.ts.map +1 -1
  146. package/dist/src/runtime/emit/pragma.js +3 -4
  147. package/dist/src/runtime/emit/pragma.js.map +1 -1
  148. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  149. package/dist/src/runtime/emit/recursive-cte.js +61 -10
  150. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  151. package/dist/src/runtime/emit/scalar-function.d.ts.map +1 -1
  152. package/dist/src/runtime/emit/scalar-function.js +2 -1
  153. package/dist/src/runtime/emit/scalar-function.js.map +1 -1
  154. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  155. package/dist/src/runtime/emit/scan.js.map +1 -1
  156. package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
  157. package/dist/src/runtime/emit/table-valued-function.js +6 -4
  158. package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
  159. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  160. package/dist/src/runtime/emit/update.js +8 -5
  161. package/dist/src/runtime/emit/update.js.map +1 -1
  162. package/dist/src/runtime/foreign-key-actions.js +2 -2
  163. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  164. package/dist/src/schema/catalog.d.ts +2 -0
  165. package/dist/src/schema/catalog.d.ts.map +1 -1
  166. package/dist/src/schema/catalog.js +18 -0
  167. package/dist/src/schema/catalog.js.map +1 -1
  168. package/dist/src/schema/column.d.ts +7 -0
  169. package/dist/src/schema/column.d.ts.map +1 -1
  170. package/dist/src/schema/column.js.map +1 -1
  171. package/dist/src/schema/function.d.ts +4 -3
  172. package/dist/src/schema/function.d.ts.map +1 -1
  173. package/dist/src/schema/function.js.map +1 -1
  174. package/dist/src/schema/manager.d.ts +39 -3
  175. package/dist/src/schema/manager.d.ts.map +1 -1
  176. package/dist/src/schema/manager.js +219 -20
  177. package/dist/src/schema/manager.js.map +1 -1
  178. package/dist/src/schema/rename-rewriter.d.ts +4 -0
  179. package/dist/src/schema/rename-rewriter.d.ts.map +1 -0
  180. package/dist/src/schema/rename-rewriter.js +506 -0
  181. package/dist/src/schema/rename-rewriter.js.map +1 -0
  182. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  183. package/dist/src/schema/schema-differ.js +41 -4
  184. package/dist/src/schema/schema-differ.js.map +1 -1
  185. package/dist/src/schema/table.d.ts +67 -2
  186. package/dist/src/schema/table.d.ts.map +1 -1
  187. package/dist/src/schema/table.js +144 -0
  188. package/dist/src/schema/table.js.map +1 -1
  189. package/dist/src/util/async-iterator.d.ts +2 -1
  190. package/dist/src/util/async-iterator.d.ts.map +1 -1
  191. package/dist/src/util/async-iterator.js +4 -4
  192. package/dist/src/util/async-iterator.js.map +1 -1
  193. package/dist/src/util/key-serializer.d.ts +3 -0
  194. package/dist/src/util/key-serializer.d.ts.map +1 -1
  195. package/dist/src/util/key-serializer.js +19 -2
  196. package/dist/src/util/key-serializer.js.map +1 -1
  197. package/dist/src/util/patterns.d.ts.map +1 -1
  198. package/dist/src/util/patterns.js +58 -10
  199. package/dist/src/util/patterns.js.map +1 -1
  200. package/dist/src/util/plugin-helper.js +1 -1
  201. package/dist/src/util/plugin-helper.js.map +1 -1
  202. package/dist/src/vtab/best-access-plan.d.ts +7 -0
  203. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  204. package/dist/src/vtab/best-access-plan.js.map +1 -1
  205. package/dist/src/vtab/connection.d.ts +7 -0
  206. package/dist/src/vtab/connection.d.ts.map +1 -1
  207. package/dist/src/vtab/manifest.d.ts +4 -0
  208. package/dist/src/vtab/manifest.d.ts.map +1 -1
  209. package/dist/src/vtab/memory/index.d.ts +8 -0
  210. package/dist/src/vtab/memory/index.d.ts.map +1 -1
  211. package/dist/src/vtab/memory/index.js +11 -0
  212. package/dist/src/vtab/memory/index.js.map +1 -1
  213. package/dist/src/vtab/memory/layer/base.d.ts +8 -1
  214. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  215. package/dist/src/vtab/memory/layer/base.js +36 -2
  216. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  217. package/dist/src/vtab/memory/layer/manager.d.ts +5 -1
  218. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  219. package/dist/src/vtab/memory/layer/manager.js +77 -14
  220. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  221. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  222. package/dist/src/vtab/memory/layer/transaction.js +28 -3
  223. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  224. package/dist/src/vtab/memory/module.d.ts +6 -1
  225. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  226. package/dist/src/vtab/memory/module.js +93 -14
  227. package/dist/src/vtab/memory/module.js.map +1 -1
  228. package/dist/src/vtab/memory/utils/predicate.d.ts +27 -0
  229. package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -0
  230. package/dist/src/vtab/memory/utils/predicate.js +182 -0
  231. package/dist/src/vtab/memory/utils/predicate.js.map +1 -0
  232. package/package.json +3 -3
@@ -1,4 +1,13 @@
1
1
  import { SqlValue } from '../common/types.js';
2
- import type { LiteralExpr } from './ast.js';
2
+ import type { Expression, LiteralExpr } from './ast.js';
3
3
  export declare function getSyncLiteral(literal: LiteralExpr): SqlValue;
4
+ /**
5
+ * Returns the SqlValue if `expr` is a literal (or a unary +/- applied to a
6
+ * numeric literal), else undefined. Used by paths that need a constant default
7
+ * value without invoking the planner — e.g. ALTER TABLE ADD COLUMN backfill.
8
+ *
9
+ * Note: parens around an expression do not produce their own AST node, so
10
+ * `(-123.0)` is just a UnaryExpr the same as `-123.0`.
11
+ */
12
+ export declare function tryFoldLiteral(expr: Expression): SqlValue | undefined;
4
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/parser/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAK7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/parser/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAK7D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAarE"}
@@ -5,4 +5,27 @@ export function getSyncLiteral(literal) {
5
5
  }
6
6
  return literal.value;
7
7
  }
8
+ /**
9
+ * Returns the SqlValue if `expr` is a literal (or a unary +/- applied to a
10
+ * numeric literal), else undefined. Used by paths that need a constant default
11
+ * value without invoking the planner — e.g. ALTER TABLE ADD COLUMN backfill.
12
+ *
13
+ * Note: parens around an expression do not produce their own AST node, so
14
+ * `(-123.0)` is just a UnaryExpr the same as `-123.0`.
15
+ */
16
+ export function tryFoldLiteral(expr) {
17
+ if (expr.type === 'literal') {
18
+ return getSyncLiteral(expr);
19
+ }
20
+ if (expr.type === 'unary' && (expr.operator === '-' || expr.operator === '+')) {
21
+ const inner = tryFoldLiteral(expr.expr);
22
+ if (inner === undefined)
23
+ return undefined;
24
+ if (typeof inner === 'number' || typeof inner === 'bigint') {
25
+ return expr.operator === '-' ? (typeof inner === 'bigint' ? -inner : -inner) : inner;
26
+ }
27
+ return undefined;
28
+ }
29
+ return undefined;
30
+ }
8
31
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/parser/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,UAAU,cAAc,CAAC,OAAoB;IAClD,IAAI,OAAO,CAAC,KAAK,YAAY,OAAO,EAAE,CAAC;QACtC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/parser/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,UAAU,cAAc,CAAC,OAAoB;IAClD,IAAI,OAAO,CAAC,KAAK,YAAY,OAAO,EAAE,CAAC;QACtC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-extractor.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-extractor.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
@@ -921,7 +921,6 @@ function walkPlanForPredicates(plan, callback) {
921
921
  return;
922
922
  // If node exposes predicates via characteristic, collect them
923
923
  if (CapabilityDetectors.isPredicateSource(plan)) {
924
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
925
924
  const preds = plan.getPredicates();
926
925
  for (const p of preds) {
927
926
  callback(p, 'PredicateSource');
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-extractor.js","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-extractor.js","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,21 @@ import type { PlanningContext } from '../planning-context.js';
2
2
  import type { TableSchema } from '../../schema/table.js';
3
3
  import { RowOpFlag } from '../../schema/table.js';
4
4
  import type { Attribute, RowDescriptor } from '../nodes/plan-node.js';
5
- import type { ConstraintCheck } from '../nodes/constraint-check-node.js';
5
+ import type { ConstraintCheck, NotNullDefaultPlan } from '../nodes/constraint-check-node.js';
6
6
  /**
7
7
  * Builds constraint check expressions at plan time.
8
8
  * This allows the optimizer to see and optimize constraint expressions.
9
9
  */
10
10
  export declare function buildConstraintChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], _flatRowDescriptor: RowDescriptor, contextAttributes?: Attribute[]): ConstraintCheck[];
11
+ /**
12
+ * Pre-builds DEFAULT-value evaluators for every NOT NULL column that has a
13
+ * DEFAULT clause. The returned plans are consumed by the constraint-check
14
+ * runtime when REPLACE substitutes a default for an explicitly-NULL value
15
+ * (per SQLite OR REPLACE semantics on NOT NULL).
16
+ *
17
+ * Defaults are evaluated against the same scope used for CHECK constraints:
18
+ * unqualified column names resolve to NEW attributes (which is fine — defaults
19
+ * may not reference columns, but we share the scope for consistency).
20
+ */
21
+ export declare function buildNotNullDefaults(ctx: PlanningContext, tableSchema: TableSchema, newAttributes: Attribute[], contextAttributes?: Attribute[]): NotNullDefaultPlan[];
11
22
  //# sourceMappingURL=constraint-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAmBzE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,kBAAkB,EAAE,aAAa,EACjC,iBAAiB,GAAE,SAAS,EAAO,GAClC,eAAe,EAAE,CAwInB"}
1
+ {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAmB7F;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,kBAAkB,EAAE,aAAa,EACjC,iBAAiB,GAAE,SAAS,EAAO,GAClC,eAAe,EAAE,CAyInB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GAClC,kBAAkB,EAAE,CA0DtB"}
@@ -112,7 +112,8 @@ export function buildConstraintChecks(ctx, tableSchema, operation, oldAttributes
112
112
  expression,
113
113
  deferrable: needsDeferred,
114
114
  initiallyDeferred: needsDeferred,
115
- needsDeferred
115
+ needsDeferred,
116
+ kind: 'check'
116
117
  };
117
118
  }
118
119
  finally {
@@ -123,6 +124,64 @@ export function buildConstraintChecks(ctx, tableSchema, operation, oldAttributes
123
124
  }
124
125
  });
125
126
  }
127
+ /**
128
+ * Pre-builds DEFAULT-value evaluators for every NOT NULL column that has a
129
+ * DEFAULT clause. The returned plans are consumed by the constraint-check
130
+ * runtime when REPLACE substitutes a default for an explicitly-NULL value
131
+ * (per SQLite OR REPLACE semantics on NOT NULL).
132
+ *
133
+ * Defaults are evaluated against the same scope used for CHECK constraints:
134
+ * unqualified column names resolve to NEW attributes (which is fine — defaults
135
+ * may not reference columns, but we share the scope for consistency).
136
+ */
137
+ export function buildNotNullDefaults(ctx, tableSchema, newAttributes, contextAttributes = []) {
138
+ const result = [];
139
+ for (let columnIndex = 0; columnIndex < tableSchema.columns.length; columnIndex++) {
140
+ const column = tableSchema.columns[columnIndex];
141
+ if (!column.notNull)
142
+ continue;
143
+ const defaultExpr = column.defaultValue;
144
+ if (!defaultExpr || typeof defaultExpr !== 'object' || !('type' in defaultExpr))
145
+ continue;
146
+ const scope = new RegisteredScope(ctx.scope);
147
+ const reservedKeys = new Set();
148
+ // Mutation context variables first so they shadow column names if conflicts exist
149
+ // (matches createRowExpansionProjection's resolution order).
150
+ contextAttributes.forEach((attr, contextVarIndex) => {
151
+ if (contextVarIndex < (tableSchema.mutationContext?.length || 0)) {
152
+ const contextVar = tableSchema.mutationContext[contextVarIndex];
153
+ const varNameLower = contextVar.name.toLowerCase();
154
+ scope.registerSymbol(varNameLower, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
155
+ scope.registerSymbol(`context.${varNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
156
+ reservedKeys.add(varNameLower);
157
+ reservedKeys.add(`context.${varNameLower}`);
158
+ }
159
+ });
160
+ // Register NEW columns (DEFAULT can reference siblings as in row-expansion).
161
+ // Skip the unqualified form when shadowed by a mutation context variable; the
162
+ // qualified `new.<col>` form remains available.
163
+ tableSchema.columns.forEach((col, idx) => {
164
+ const attr = newAttributes[idx];
165
+ if (!attr)
166
+ return;
167
+ const colType = {
168
+ typeClass: 'scalar',
169
+ logicalType: col.logicalType,
170
+ nullable: !col.notNull,
171
+ isReadOnly: false,
172
+ };
173
+ const colKey = col.name.toLowerCase();
174
+ if (!reservedKeys.has(colKey)) {
175
+ scope.registerSymbol(colKey, (exp, s) => new ColumnReferenceNode(s, exp, colType, attr.id, idx));
176
+ }
177
+ scope.registerSymbol(`new.${colKey}`, (exp, s) => new ColumnReferenceNode(s, exp, colType, attr.id, idx));
178
+ });
179
+ const planningCtx = { ...ctx, scope };
180
+ const defaultNode = buildExpression(planningCtx, defaultExpr);
181
+ result.push({ columnIndex, defaultExpr: defaultExpr, defaultNode });
182
+ }
183
+ return result;
184
+ }
126
185
  function containsSubquery(expr) {
127
186
  const stack = [expr];
128
187
  while (stack.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,GAAG,cAAc,CAmBlG"}
1
+ {"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAO9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,GAAG,cAAc,CAsClG"}
@@ -1,5 +1,9 @@
1
1
  import { CreateViewNode } from '../nodes/create-view-node.js';
2
2
  import { createViewToString } from '../../emit/ast-stringify.js';
3
+ import { buildSelectStmt } from './select.js';
4
+ import { isRelationalNode } from '../nodes/plan-node.js';
5
+ import { QuereusError } from '../../common/errors.js';
6
+ import { StatusCode } from '../../common/types.js';
3
7
  /**
4
8
  * Builds a plan node for CREATE VIEW statements.
5
9
  */
@@ -7,6 +11,18 @@ export function buildCreateViewStmt(ctx, stmt) {
7
11
  // Extract schema and view name
8
12
  const schemaName = stmt.view.schema || 'main';
9
13
  const viewName = stmt.view.name;
14
+ // If an explicit column list was provided, validate that its arity matches the SELECT projection.
15
+ // Plan the SELECT (read-only) so that star-expansion and CTEs are resolved.
16
+ if (stmt.columns && stmt.columns.length > 0) {
17
+ const planned = buildSelectStmt(ctx, stmt.select);
18
+ if (!isRelationalNode(planned)) {
19
+ throw new QuereusError(`CREATE VIEW '${viewName}' body did not produce a relational result`, StatusCode.INTERNAL);
20
+ }
21
+ const selectArity = planned.getAttributes().length;
22
+ if (stmt.columns.length !== selectArity) {
23
+ throw new QuereusError(`View '${viewName}' has ${stmt.columns.length} declared columns but SELECT produces ${selectArity}`, StatusCode.ERROR);
24
+ }
25
+ }
10
26
  // The original SQL text is needed for the view definition
11
27
  // Reconstruct it from the AST using the proper stringifier
12
28
  const sql = createViewToString(stmt);
@@ -1 +1 @@
1
- {"version":3,"file":"create-view.js","sourceRoot":"","sources":["../../../../src/planner/building/create-view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB,EAAE,IAAwB;IACjF,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAEhC,0DAA0D;IAC1D,2DAA2D;IAC3D,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,cAAc,CACxB,GAAG,CAAC,KAAK,EACT,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-view.js","sourceRoot":"","sources":["../../../../src/planner/building/create-view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB,EAAE,IAAwB;IACjF,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAEhC,kGAAkG;IAClG,4EAA4E;IAC5E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CACrB,gBAAgB,QAAQ,4CAA4C,EACpE,UAAU,CAAC,QAAQ,CACnB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,YAAY,CACrB,SAAS,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,yCAAyC,WAAW,EAAE,EACnG,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;IACF,CAAC;IAED,0DAA0D;IAC1D,2DAA2D;IAC3D,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,cAAc,CACxB,GAAG,CAAC,KAAK,EACT,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAoF,MAAM,uBAAuB,CAAC;AAgBnI,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU,GACnB,QAAQ,CAsNV"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAoF,MAAM,uBAAuB,CAAC;AAkBnI,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU,GACnB,QAAQ,CA+NV"}
@@ -6,6 +6,7 @@ import { FilterNode } from '../nodes/filter.js';
6
6
  import { QuereusError } from '../../common/errors.js';
7
7
  import { StatusCode } from '../../common/types.js';
8
8
  import { RegisteredScope } from '../scopes/registered.js';
9
+ import { AliasedScope } from '../scopes/aliased.js';
9
10
  import { ColumnReferenceNode } from '../nodes/reference.js';
10
11
  import { SinkNode } from '../nodes/sink-node.js';
11
12
  import { ConstraintCheckNode } from '../nodes/constraint-check-node.js';
@@ -15,6 +16,7 @@ import { buildOldNewRowDescriptors } from '../../util/row-descriptor.js';
15
16
  import { DmlExecutorNode } from '../nodes/dml-executor-node.js';
16
17
  import { buildConstraintChecks } from './constraint-builder.js';
17
18
  import { buildParentSideFKChecks } from './foreign-key-builder.js';
19
+ import { validateReturningQualifiers } from '../validation/returning-qualifier-validator.js';
18
20
  import { isCommittedSchemaRef } from './schema-resolution.js';
19
21
  export function buildDeleteStmt(ctx, stmt) {
20
22
  // Block DML on committed pseudo-schema
@@ -53,13 +55,17 @@ export function buildDeleteStmt(ctx, stmt) {
53
55
  }
54
56
  // Plan the source of rows to delete. This is typically the table itself, potentially filtered.
55
57
  let sourceNode = tableRetrieve; // Use the RetrieveNode as source
56
- // Create a new scope with the table columns registered for column resolution
57
- const tableScope = new RegisteredScope(ctx.scope);
58
+ // Create a new scope with the table columns registered for column resolution.
59
+ // Wrap with AliasedScope so correlated subqueries inside WHERE / RETURNING
60
+ // can reference the outer DML target via qualified `table.column` form.
61
+ const tableColumnScope = new RegisteredScope(ctx.scope);
58
62
  const sourceAttributes = sourceNode.getAttributes();
59
63
  sourceNode.getType().columns.forEach((c, i) => {
60
64
  const attr = sourceAttributes[i];
61
- tableScope.registerSymbol(c.name.toLowerCase(), (exp, s) => new ColumnReferenceNode(s, exp, c.type, attr.id, i));
65
+ tableColumnScope.registerSymbol(c.name.toLowerCase(), (exp, s) => new ColumnReferenceNode(s, exp, c.type, attr.id, i));
62
66
  });
67
+ const tableName = tableReference.tableSchema.name.toLowerCase();
68
+ const tableScope = new AliasedScope(tableColumnScope, tableName, tableName);
63
69
  // Create a new planning context with the updated scope for WHERE clause resolution
64
70
  const deleteCtx = { ...contextWithSchemaPath, scope: tableScope };
65
71
  if (stmt.where) {
@@ -136,13 +142,17 @@ export function buildDeleteStmt(ctx, stmt) {
136
142
  // TODO: Support RETURNING *
137
143
  if (rc.type === 'all')
138
144
  throw new QuereusError('RETURNING * not yet supported', StatusCode.UNSUPPORTED);
139
- // Infer alias from column name if not explicitly provided
145
+ // Validate qualifier usage on the AST before column resolution so the
146
+ // NEW-in-DELETE guard fires before any "column not found" error.
147
+ validateReturningQualifiers(rc.expr, 'DELETE');
148
+ // Infer alias from column name if not explicitly provided.
149
+ // Preserve the spelling the user wrote so quoted identifiers like
150
+ // [Name] / "Name" round-trip to the result column name unchanged.
140
151
  let alias = rc.alias;
141
152
  if (!alias && rc.expr.type === 'column') {
142
- // For qualified column references like OLD.id, normalize to lowercase
143
153
  alias = rc.expr.table
144
- ? `${rc.expr.table.toLowerCase()}.${rc.expr.name.toLowerCase()}`
145
- : rc.expr.name.toLowerCase();
154
+ ? `${rc.expr.table}.${rc.expr.name}`
155
+ : rc.expr.name;
146
156
  }
147
157
  return {
148
158
  node: buildExpression({ ...deleteCtx, scope: returningScope }, rc.expr),
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAA4C,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAiHzE;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CAgHnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CAwHnB"}
1
+ {"version":3,"file":"foreign-key-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAA4C,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAiHzE;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CA0HnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CAyHnB"}
@@ -94,22 +94,29 @@ export function buildChildSideFKChecks(ctx, tableSchema, operation, oldAttribute
94
94
  return [];
95
95
  const checks = [];
96
96
  for (const fk of tableSchema.foreignKeys) {
97
- // Skip entirely-ignored FKs (both actions are 'ignore' = no enforcement)
98
- if (fk.onDelete === 'ignore' && fk.onUpdate === 'ignore')
99
- continue;
100
- // Resolve parent table
97
+ // Resolve parent table. If absent, MATCH SIMPLE still allows the row when any
98
+ // FK column is NULL but otherwise no parent row can match, so the check must
99
+ // fail. Build a null-guard chain terminated by a falsy literal in that case.
101
100
  const parentSchema = ctx.schemaManager.findTable(fk.referencedTable, fk.referencedSchema);
101
+ let existsExpr;
102
102
  if (!parentSchema) {
103
- log(`FK check skipped: parent table '${fk.referencedTable}' not found`);
104
- continue;
103
+ log(`FK '${fk.name}': parent table '${fk.referencedTable}' not found; emitting null-guards-only check`);
104
+ const nullGuards = fk.columns.map((childColIdx) => ({
105
+ type: 'unary',
106
+ operator: 'IS NULL',
107
+ expr: { type: 'column', name: tableSchema.columns[childColIdx].name, table: 'NEW' },
108
+ }));
109
+ existsExpr = nullGuards.reduceRight((acc, guard) => ({ type: 'binary', operator: 'OR', left: guard, right: acc }), { type: 'literal', value: 0 });
105
110
  }
106
- const parentColIndices = resolveReferencedColumns(fk, parentSchema);
107
- if (parentColIndices.length !== fk.columns.length) {
108
- log(`FK check skipped: column count mismatch for FK '${fk.name}'`);
109
- continue;
111
+ else {
112
+ const parentColIndices = resolveReferencedColumns(fk, parentSchema);
113
+ if (parentColIndices.length !== fk.columns.length) {
114
+ log(`FK check skipped: column count mismatch for FK '${fk.name}'`);
115
+ continue;
116
+ }
117
+ // Synthesize EXISTS(SELECT 1 FROM parent WHERE parent.ref = NEW.fk)
118
+ existsExpr = synthesizeExistsCheck(fk, tableSchema, parentSchema, parentColIndices, 'new');
110
119
  }
111
- // Synthesize EXISTS(SELECT 1 FROM parent WHERE parent.ref = NEW.fk)
112
- const existsExpr = synthesizeExistsCheck(fk, tableSchema, parentSchema, parentColIndices, 'new');
113
120
  // Build as a RowConstraintSchema so it integrates with existing infrastructure
114
121
  const syntheticConstraint = {
115
122
  name: fk.name ?? `_fk_${tableSchema.name}`,
@@ -169,6 +176,7 @@ export function buildChildSideFKChecks(ctx, tableSchema, operation, oldAttribute
169
176
  deferrable: true,
170
177
  initiallyDeferred: true,
171
178
  needsDeferred: true,
179
+ kind: 'fk-child',
172
180
  });
173
181
  }
174
182
  finally {
@@ -199,9 +207,9 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
199
207
  if (targetSchema.toLowerCase() !== tableSchema.schemaName.toLowerCase())
200
208
  continue;
201
209
  const action = operation === RowOpFlag.DELETE ? fk.onDelete : fk.onUpdate;
202
- // Only RESTRICT generates parent-side checks
203
- // CASCADE, SET NULL, SET DEFAULT are handled by cascading actions
204
- // IGNORE means no enforcement at all
210
+ // Only RESTRICT generates parent-side checks. CASCADE, SET NULL,
211
+ // and SET DEFAULT are handled by cascading actions in
212
+ // runtime/foreign-key-actions.
205
213
  if (action !== 'restrict')
206
214
  continue;
207
215
  const parentColIndices = resolveReferencedColumns(fk, tableSchema);
@@ -271,6 +279,7 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
271
279
  deferrable: !isRestrict,
272
280
  initiallyDeferred: !isRestrict,
273
281
  needsDeferred: !isRestrict, // RESTRICT must be immediate, not deferred
282
+ kind: 'fk-parent',
274
283
  });
275
284
  }
276
285
  finally {