@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
@@ -16,7 +16,7 @@ export function emitTableValuedFunctionCall(plan, ctx) {
16
16
  functionSchema = ctx.findFunction(functionName, -1); // Try variable argument function
17
17
  }
18
18
  if (!functionSchema) {
19
- throw new QuereusError(`Unknown function: ${functionName}/${numArgs}`, StatusCode.ERROR);
19
+ throw new QuereusError(`Function not found: ${functionName}/${numArgs}`, StatusCode.ERROR);
20
20
  }
21
21
  if (!isTableValuedFunctionSchema(functionSchema)) {
22
22
  throw new QuereusError(`Function ${functionName}/${numArgs} is not a table-valued function`, StatusCode.ERROR);
@@ -49,7 +49,8 @@ export function emitTableValuedFunctionCall(plan, ctx) {
49
49
  }
50
50
  }
51
51
  catch (error) {
52
- throw new QuereusError(`Table-valued function ${functionName} failed: ${error.message}`, StatusCode.ERROR, error);
52
+ const message = error instanceof Error ? error.message : String(error);
53
+ throw new QuereusError(`Table-valued function ${functionName} failed: ${message}`, StatusCode.ERROR, error instanceof Error ? error : undefined);
53
54
  }
54
55
  }
55
56
  async function* run(innerCtx, ...args) {
@@ -66,7 +67,7 @@ export function emitTableValuedFunctionCall(plan, ctx) {
66
67
  // Special validation for known variable argument functions
67
68
  if (functionName === 'json_each' || functionName === 'json_tree') {
68
69
  if (args.length < 1 || args.length > 2) {
69
- throw new QuereusError(`${functionName} requires 1 or 2 arguments (jsonSource, [rootPath])`, StatusCode.ERROR);
70
+ throw new QuereusError(`Error: ${functionName} requires 1 or 2 arguments (jsonSource, [rootPath])`, StatusCode.ERROR);
70
71
  }
71
72
  }
72
73
  }
@@ -87,7 +88,8 @@ export function emitTableValuedFunctionCall(plan, ctx) {
87
88
  }
88
89
  }
89
90
  catch (error) {
90
- throw new QuereusError(`Table-valued function ${functionName} failed: ${error.message}`, StatusCode.ERROR, error);
91
+ const message = error instanceof Error ? error.message : String(error);
92
+ throw new QuereusError(`Table-valued function ${functionName} failed: ${message}`, StatusCode.ERROR, error instanceof Error ? error : undefined);
91
93
  }
92
94
  }
93
95
  const operandExprs = plan.operands.map(operand => emitPlanNode(operand, ctx));
@@ -1 +1 @@
1
- {"version":3,"file":"table-valued-function.js","sourceRoot":"","sources":["../../../../src/runtime/emit/table-valued-function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,2BAA2B,CAAC,IAA2B,EAAE,GAAoB;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAErC,uDAAuD;IACvD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAE/D,iEAAiE;IACjE,sEAAsE;IACtE,IAAI,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;IACvF,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,qBAAqB,YAAY,IAAI,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,iCAAiC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAED,qFAAqF;IACrF,MAAM,WAAW,GAAG,YAAY,YAAY,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;IAEzE,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,QAAwB,EAAE,GAAG,IAAqB;QAC/E,mEAAmE;QACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC,uBAAuB,CAAiB,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,mCAAmC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,4CAA4C,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9H,CAAC;QAED,IAAI,CAAC;YACJ,6CAA6C;YAC7C,MAAM,MAAM,GAAI,gBAAgB,CAAC,cAA6C,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAErG,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,yBAAyB,YAAY,YAAY,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnH,CAAC;IACF,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,QAAwB,EAAE,GAAG,IAAqB;QACrE,mEAAmE;QACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC,uBAAuB,CAAiB,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,cAAe,CAAC,OAAO,mCAAmC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrI,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,4CAA4C,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9H,CAAC;QAED,0DAA0D;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,2DAA2D;YAC3D,IAAI,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,YAAY,CAAC,GAAG,YAAY,qDAAqD,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAChH,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC;YACJ,6CAA6C;YAC7C,MAAM,MAAM,GAAI,gBAAgB,CAAC,cAAmC,CAAC,GAAG,IAAI,CAAC,CAAC;YAE9E,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,yBAAyB,YAAY,YAAY,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnH,CAAC;IACF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtE,OAAO,0BAA0B,CAChC,CAAC,GAAG,YAAY,CAAC,EACjB,WAA6B,EAC7B,GAAG,EACH,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CACnD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"table-valued-function.js","sourceRoot":"","sources":["../../../../src/runtime/emit/table-valued-function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,2BAA2B,CAAC,IAA2B,EAAE,GAAoB;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAErC,uDAAuD;IACvD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAE/D,iEAAiE;IACjE,sEAAsE;IACtE,IAAI,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;IACvF,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,uBAAuB,YAAY,IAAI,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,iCAAiC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAED,qFAAqF;IACrF,MAAM,WAAW,GAAG,YAAY,YAAY,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;IAEzE,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,QAAwB,EAAE,GAAG,IAAqB;QAC/E,mEAAmE;QACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC,uBAAuB,CAAiB,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,mCAAmC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,4CAA4C,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9H,CAAC;QAED,IAAI,CAAC;YACJ,6CAA6C;YAC7C,MAAM,MAAM,GAAI,gBAAgB,CAAC,cAA6C,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAErG,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,YAAY,CAAC,yBAAyB,YAAY,YAAY,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClJ,CAAC;IACF,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,QAAwB,EAAE,GAAG,IAAqB;QACrE,mEAAmE;QACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC,uBAAuB,CAAiB,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,cAAe,CAAC,OAAO,mCAAmC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrI,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,YAAY,CAAC,YAAY,YAAY,IAAI,OAAO,4CAA4C,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9H,CAAC;QAED,0DAA0D;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,2DAA2D;YAC3D,IAAI,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,YAAY,CAAC,UAAU,YAAY,qDAAqD,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvH,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC;YACJ,6CAA6C;YAC7C,MAAM,MAAM,GAAI,gBAAgB,CAAC,cAAmC,CAAC,GAAG,IAAI,CAAC,CAAC;YAE9E,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,YAAY,CAAC,yBAAyB,YAAY,YAAY,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClJ,CAAC;IACF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtE,OAAO,0BAA0B,CAChC,CAAC,GAAG,YAAY,CAAC,EACjB,WAA6B,EAC7B,GAAG,EACH,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CACnD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA4E9E"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA+E9E"}
@@ -34,15 +34,18 @@ export function emitUpdate(plan, ctx) {
34
34
  try {
35
35
  for await (const sourceRow of sourceRowsIterable) {
36
36
  slot.set(sourceRow);
37
- // Phase 1: Evaluate regular (non-generated) assignment expressions
37
+ // Phase 1: Evaluate regular (non-generated) assignment expressions.
38
+ // Await to support async evaluators (e.g. scalar subqueries) — non-async
39
+ // callbacks return values directly and `await` is a no-op for them.
38
40
  const updatedRow = [...sourceRow]; // Copy the original row
39
41
  for (const i of regularIndices) {
40
- const value = assignmentEvaluators[i](rctx);
42
+ const value = await assignmentEvaluators[i](rctx);
41
43
  updatedRow[assignmentTargetIndices[i]] = value;
42
44
  }
43
- // Phase 2: Evaluate generated column expressions against the updated row
44
- // Use withRowContext to temporarily override the row context so generated
45
- // expressions see post-SET values (the scan's slot may shadow our slot)
45
+ // Phase 2: Evaluate generated column expressions against the updated row.
46
+ // Generated expressions are validated as deterministic (see
47
+ // validateDeterministicGenerated in update.ts builder), so they cannot
48
+ // contain scalar subqueries and always return synchronously.
46
49
  if (generatedIndices.length > 0) {
47
50
  withRowContext(rctx, sourceRowDescriptor, () => updatedRow, () => {
48
51
  for (const i of generatedIndices) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/runtime/emit/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/runtime/emit/update.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,8 @@ export async function executeForeignKeyActions(db, parentTable, operation, oldRo
36
36
  if (targetSchema.toLowerCase() !== parentTable.schemaName.toLowerCase())
37
37
  continue;
38
38
  const action = operation === 'delete' ? fk.onDelete : fk.onUpdate;
39
- // RESTRICT and NO ACTION are handled by constraint checks, not actions
40
- if (action === 'restrict' || action === 'ignore')
39
+ // RESTRICT is handled by parent-side constraint checks, not actions
40
+ if (action === 'restrict')
41
41
  continue;
42
42
  const parentColIndices = resolveReferencedColumns(fk, parentTable);
43
43
  if (parentColIndices.length !== fk.columns.length)
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-actions.js","sourceRoot":"","sources":["../../../src/runtime/foreign-key-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foreign-key-actions.js","sourceRoot":"","sources":["../../../src/runtime/foreign-key-actions.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export interface CatalogTable {
24
24
  columnName: string;
25
25
  desc: boolean;
26
26
  }>;
27
+ /** Lowercased names of tables this table FK-references (within the same schema). */
28
+ referencedTables: string[];
27
29
  }
28
30
  export interface CatalogView {
29
31
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;KACpC,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,GAAE,MAAe,GAAG,aAAa,CAoD7F;AAyCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA4D1G"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;KACpC,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACzD,oFAAoF;IACpF,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,GAAE,MAAe,GAAG,aAAa,CAoD7F;AAyDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA4D1G"}
@@ -64,11 +64,29 @@ function tableSchemaToCatalog(tableSchema, db) {
64
64
  columnName: tableSchema.columns[pk.index].name,
65
65
  desc: pk.desc ?? false,
66
66
  }));
67
+ // FK references within the same schema (cross-schema FKs are excluded — drop
68
+ // ordering only matters for tables whose lifetimes are tied to this schema).
69
+ const ownSchemaLower = tableSchema.schemaName.toLowerCase();
70
+ const referencedTables = [];
71
+ const seen = new Set();
72
+ for (const fk of tableSchema.foreignKeys ?? []) {
73
+ const refSchema = (fk.referencedSchema ?? tableSchema.schemaName).toLowerCase();
74
+ if (refSchema !== ownSchemaLower)
75
+ continue;
76
+ const refName = fk.referencedTable.toLowerCase();
77
+ if (refName === tableSchema.name.toLowerCase())
78
+ continue; // self-FK
79
+ if (seen.has(refName))
80
+ continue;
81
+ seen.add(refName);
82
+ referencedTables.push(refName);
83
+ }
67
84
  return {
68
85
  name: tableSchema.name,
69
86
  ddl,
70
87
  columns,
71
88
  primaryKey,
89
+ referencedTables,
72
90
  };
73
91
  }
74
92
  function viewSchemaToCatalog(viewSchema) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Expression } from '../parser/ast.js';
2
2
  import type { LogicalType } from '../types/logical-type.js';
3
3
  import type { SqlValue } from '../common/types.js';
4
+ import type { ConflictResolution } from '../common/constants.js';
4
5
  /**
5
6
  * Represents the schema definition of a single column in a table.
6
7
  */
@@ -27,6 +28,12 @@ export interface ColumnSchema {
27
28
  generatedStored?: boolean;
28
29
  /** Sort direction for primary key ('asc' | 'desc') */
29
30
  pkDirection?: 'asc' | 'desc';
31
+ /**
32
+ * Default conflict resolution declared at the column level for this column's
33
+ * NOT NULL / PK constraint (e.g., `name TEXT NOT NULL ON CONFLICT IGNORE`).
34
+ * Statement-level OR clauses override this; if both are absent the action is ABORT.
35
+ */
36
+ defaultConflict?: ConflictResolution;
30
37
  /** Arbitrary metadata tags (informational only, does not affect behavior or hashing) */
31
38
  tags?: Readonly<Record<string, SqlValue>>;
32
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/schema/column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,uFAAuF;IACvF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,wFAAwF;IACxF,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG,YAAY,CAWpG"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/schema/column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,uFAAuF;IACvF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,wFAAwF;IACxF,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG,YAAY,CAWpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sourceRoot":"","sources":["../../../src/schema/column.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAgCtD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,iBAA0B,IAAI;IACrF,OAAO;QACN,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,cAAc,EAAE,uCAAuC;QAChE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,QAAQ,EAAE,mBAAmB;QACxC,SAAS,EAAE,KAAK;KAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../../../src/schema/column.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAsCtD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,iBAA0B,IAAI;IACrF,OAAO;QACN,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,cAAc,EAAE,uCAAuC;QAChE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,QAAQ,EAAE,mBAAmB;QACxC,SAAS,EAAE,KAAK;KAChB,CAAC;AACH,CAAC"}
@@ -4,6 +4,9 @@ import type { Database } from '../core/database.js';
4
4
  import type { BaseType, ScalarType, RelationType } from '../common/datatype.js';
5
5
  import type { AggValue } from '../func/registration.js';
6
6
  import type { LogicalType } from '../types/logical-type.js';
7
+ import type { ScalarFunctionCallNode } from '../planner/nodes/function.js';
8
+ import type { EmissionContext } from '../runtime/emission-context.js';
9
+ import type { Instruction } from '../runtime/types.js';
7
10
  /**
8
11
  * Type for a scalar function implementation.
9
12
  */
@@ -30,9 +33,7 @@ export type AggregateFinalizer<T = any> = (accumulator: T) => SqlValue;
30
33
  * This allows functions to cache compiled state in the EmissionContext,
31
34
  * optimize constant arguments, or perform other emission-time optimizations.
32
35
  */
33
- export type CustomEmitterHook = (plan: any, // ScalarFunctionCallNode, but we avoid circular dependency
34
- ctx: any, // EmissionContext, but we avoid circular dependency
35
- defaultEmit: (plan: any, ctx: any) => any) => any;
36
+ export type CustomEmitterHook = (plan: ScalarFunctionCallNode, ctx: EmissionContext, defaultEmit: (plan: ScalarFunctionCallNode, ctx: EmissionContext) => Instruction) => Instruction;
36
37
  /**
37
38
  * Base interface for all function schemas with common properties.
38
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/schema/function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/schema/function.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/schema/function.ts"],"names":[],"mappings":"AA0IA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ,IAAI,gBAAgB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,CAAC;AAC9H,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAsB;IACjE,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAsB;IAC/D,OAAO,cAAc,IAAI,MAAM,IAAI,kBAAkB,IAAI,MAAM,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC3D,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/schema/function.ts"],"names":[],"mappings":"AAgJA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ,IAAI,gBAAgB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,CAAC;AAC9H,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAsB;IACjE,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAsB;IAC/D,OAAO,cAAc,IAAI,MAAM,IAAI,kBAAkB,IAAI,MAAM,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC3D,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC;AAC3C,CAAC"}
@@ -192,6 +192,12 @@ export declare class SchemaManager {
192
192
  * @param schemaName Optional schema name (defaults to current schema)
193
193
  */
194
194
  setTableTags(tableName: string, tags: Record<string, SqlValue>, schemaName?: string): void;
195
+ /**
196
+ * Asserts that no other table has FK rows referencing the table being dropped.
197
+ * Self-referential FKs are skipped — those rows go away with the table.
198
+ * No-op when foreign_keys is off.
199
+ */
200
+ private assertNoReferencingChildrenForDrop;
195
201
  /**
196
202
  * Drops a table from the specified schema
197
203
  *
@@ -260,10 +266,38 @@ export declare class SchemaManager {
260
266
  */
261
267
  private buildTableSchemaFromAST;
262
268
  /**
263
- * Validates that all DEFAULT expressions in the column schemas are deterministic.
264
- * Skips expressions that reference columns (validated at INSERT time instead).
269
+ * Walks an expression AST and rejects bind-parameter and (optionally)
270
+ * column-reference nodes. Used by DDL-time DEFAULT/CHECK validators where
271
+ * such references are illegal even though they may otherwise build cleanly.
272
+ *
273
+ * Throws a QuereusError on the first offending node, with a message
274
+ * produced by the supplied formatters.
275
+ */
276
+ private rejectIllegalReferences;
277
+ /**
278
+ * Validates that all DEFAULT expressions in the column schemas are
279
+ * deterministic and free of bind parameters or (when no mutation
280
+ * context is defined) column references. Bind parameters and column
281
+ * references are rejected up-front via an AST pre-walk so the error
282
+ * messages stay specific (rather than degrading into "column not
283
+ * found" during expression building).
284
+ *
285
+ * When `hasMutationContext` is true, column-style identifiers are
286
+ * preserved because they may resolve to mutation-context variables at
287
+ * INSERT time (the AST cannot distinguish a real column from a
288
+ * context variable, and the build attempt is permitted to fail —
289
+ * scope resolution is deferred to row-time).
265
290
  */
266
291
  private validateDefaultDeterminism;
292
+ /**
293
+ * Validates that CHECK constraint expressions don't call non-deterministic
294
+ * functions and don't reference bind parameters. Walks the AST and looks
295
+ * up each function call against the registry; raises if any function
296
+ * lacks the DETERMINISTIC flag. Avoids the full planning pipeline because
297
+ * CHECK expressions reference table columns whose scope is not yet
298
+ * established at CREATE TABLE time.
299
+ */
300
+ private validateCheckConstraintDeterminism;
267
301
  /**
268
302
  * Registers a table schema after module.create() returns, correcting
269
303
  * name/schema if the module returned different values.
@@ -281,7 +315,9 @@ export declare class SchemaManager {
281
315
  */
282
316
  private buildIndexSchema;
283
317
  /**
284
- * Returns a new TableSchema with the given index appended.
318
+ * Returns a new TableSchema with the given index appended. If the index is
319
+ * unique, also adds a matching uniqueConstraint so the mutation manager
320
+ * enforces uniqueness on insert/update through its existing checks.
285
321
  */
286
322
  private addIndexToTableSchema;
287
323
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}