@quereus/quereus 0.17.1 → 1.0.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 (150) hide show
  1. package/README.md +80 -14
  2. package/dist/src/common/type-inference.d.ts +1 -0
  3. package/dist/src/common/type-inference.d.ts.map +1 -1
  4. package/dist/src/common/type-inference.js +6 -1
  5. package/dist/src/common/type-inference.js.map +1 -1
  6. package/dist/src/common/types.d.ts +10 -2
  7. package/dist/src/common/types.d.ts.map +1 -1
  8. package/dist/src/common/types.js +13 -1
  9. package/dist/src/common/types.js.map +1 -1
  10. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  11. package/dist/src/emit/ast-stringify.js +5 -0
  12. package/dist/src/emit/ast-stringify.js.map +1 -1
  13. package/dist/src/func/builtins/conversion.d.ts +2 -2
  14. package/dist/src/func/builtins/conversion.js +3 -3
  15. package/dist/src/func/builtins/conversion.js.map +1 -1
  16. package/dist/src/func/builtins/index.d.ts.map +1 -1
  17. package/dist/src/func/builtins/index.js +2 -1
  18. package/dist/src/func/builtins/index.js.map +1 -1
  19. package/dist/src/func/builtins/json-helpers.d.ts +10 -0
  20. package/dist/src/func/builtins/json-helpers.d.ts.map +1 -1
  21. package/dist/src/func/builtins/json-helpers.js +26 -0
  22. package/dist/src/func/builtins/json-helpers.js.map +1 -1
  23. package/dist/src/func/builtins/json-tvf.d.ts.map +1 -1
  24. package/dist/src/func/builtins/json-tvf.js +9 -15
  25. package/dist/src/func/builtins/json-tvf.js.map +1 -1
  26. package/dist/src/func/builtins/json.d.ts.map +1 -1
  27. package/dist/src/func/builtins/json.js +100 -227
  28. package/dist/src/func/builtins/json.js.map +1 -1
  29. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  30. package/dist/src/func/builtins/schema.js +9 -0
  31. package/dist/src/func/builtins/schema.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -1
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/parser/lexer.d.ts +1 -0
  35. package/dist/src/parser/lexer.d.ts.map +1 -1
  36. package/dist/src/parser/lexer.js +2 -1
  37. package/dist/src/parser/lexer.js.map +1 -1
  38. package/dist/src/parser/parser.d.ts +12 -0
  39. package/dist/src/parser/parser.d.ts.map +1 -1
  40. package/dist/src/parser/parser.js +54 -1
  41. package/dist/src/parser/parser.js.map +1 -1
  42. package/dist/src/planner/analysis/const-evaluator.d.ts +5 -0
  43. package/dist/src/planner/analysis/const-evaluator.d.ts.map +1 -1
  44. package/dist/src/planner/analysis/const-evaluator.js +106 -0
  45. package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
  46. package/dist/src/planner/analysis/const-pass.d.ts +4 -2
  47. package/dist/src/planner/analysis/const-pass.d.ts.map +1 -1
  48. package/dist/src/planner/analysis/const-pass.js +23 -13
  49. package/dist/src/planner/analysis/const-pass.js.map +1 -1
  50. package/dist/src/planner/analysis/constraint-extractor.d.ts +19 -1
  51. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  52. package/dist/src/planner/analysis/constraint-extractor.js +265 -14
  53. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  54. package/dist/src/planner/analysis/expression-fingerprint.d.ts +15 -0
  55. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -0
  56. package/dist/src/planner/analysis/expression-fingerprint.js +126 -0
  57. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -0
  58. package/dist/src/planner/cost/index.d.ts +16 -0
  59. package/dist/src/planner/cost/index.d.ts.map +1 -1
  60. package/dist/src/planner/cost/index.js +22 -0
  61. package/dist/src/planner/cost/index.js.map +1 -1
  62. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  63. package/dist/src/planner/framework/pass.js +4 -3
  64. package/dist/src/planner/framework/pass.js.map +1 -1
  65. package/dist/src/planner/nodes/hash-aggregate.d.ts +38 -0
  66. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -0
  67. package/dist/src/planner/nodes/hash-aggregate.js +213 -0
  68. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -0
  69. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
  70. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  71. package/dist/src/planner/nodes/plan-node-type.js +1 -0
  72. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  73. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  74. package/dist/src/planner/nodes/table-access-nodes.d.ts +11 -0
  75. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  76. package/dist/src/planner/nodes/table-access-nodes.js +32 -0
  77. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  78. package/dist/src/planner/nodes/values-node.d.ts +3 -1
  79. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  80. package/dist/src/planner/nodes/values-node.js +9 -2
  81. package/dist/src/planner/nodes/values-node.js.map +1 -1
  82. package/dist/src/planner/optimizer.d.ts.map +1 -1
  83. package/dist/src/planner/optimizer.js +35 -7
  84. package/dist/src/planner/optimizer.js.map +1 -1
  85. package/dist/src/planner/rules/access/rule-select-access-path.js +175 -5
  86. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  87. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts +9 -11
  88. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
  89. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +54 -67
  90. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  91. package/dist/src/planner/rules/cache/rule-scalar-cse.d.ts +19 -0
  92. package/dist/src/planner/rules/cache/rule-scalar-cse.d.ts.map +1 -0
  93. package/dist/src/planner/rules/cache/rule-scalar-cse.js +245 -0
  94. package/dist/src/planner/rules/cache/rule-scalar-cse.js.map +1 -0
  95. package/dist/src/planner/rules/predicate/rule-filter-merge.d.ts +15 -0
  96. package/dist/src/planner/rules/predicate/rule-filter-merge.d.ts.map +1 -0
  97. package/dist/src/planner/rules/predicate/rule-filter-merge.js +39 -0
  98. package/dist/src/planner/rules/predicate/rule-filter-merge.js.map +1 -0
  99. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +1 -0
  100. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  101. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +9 -0
  102. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  103. package/dist/src/planner/rules/retrieve/rule-projection-pruning.d.ts +17 -0
  104. package/dist/src/planner/rules/retrieve/rule-projection-pruning.d.ts.map +1 -0
  105. package/dist/src/planner/rules/retrieve/rule-projection-pruning.js +75 -0
  106. package/dist/src/planner/rules/retrieve/rule-projection-pruning.js.map +1 -0
  107. package/dist/src/runtime/emit/aggregate.d.ts +9 -0
  108. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  109. package/dist/src/runtime/emit/aggregate.js +2 -2
  110. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  111. package/dist/src/runtime/emit/empty-result.d.ts +5 -0
  112. package/dist/src/runtime/emit/empty-result.d.ts.map +1 -0
  113. package/dist/src/runtime/emit/empty-result.js +11 -0
  114. package/dist/src/runtime/emit/empty-result.js.map +1 -0
  115. package/dist/src/runtime/emit/hash-aggregate.d.ts +5 -0
  116. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -0
  117. package/dist/src/runtime/emit/hash-aggregate.js +319 -0
  118. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -0
  119. package/dist/src/runtime/register.d.ts.map +1 -1
  120. package/dist/src/runtime/register.js +4 -1
  121. package/dist/src/runtime/register.js.map +1 -1
  122. package/dist/src/types/json-type.d.ts +3 -3
  123. package/dist/src/types/json-type.d.ts.map +1 -1
  124. package/dist/src/types/json-type.js +44 -38
  125. package/dist/src/types/json-type.js.map +1 -1
  126. package/dist/src/types/logical-type.d.ts +2 -1
  127. package/dist/src/types/logical-type.d.ts.map +1 -1
  128. package/dist/src/types/logical-type.js +4 -0
  129. package/dist/src/types/logical-type.js.map +1 -1
  130. package/dist/src/util/comparison.d.ts +1 -1
  131. package/dist/src/util/comparison.d.ts.map +1 -1
  132. package/dist/src/util/comparison.js +22 -4
  133. package/dist/src/util/comparison.js.map +1 -1
  134. package/dist/src/vtab/best-access-plan.d.ts +1 -1
  135. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  136. package/dist/src/vtab/memory/layer/base-cursor.d.ts.map +1 -1
  137. package/dist/src/vtab/memory/layer/base-cursor.js +81 -6
  138. package/dist/src/vtab/memory/layer/base-cursor.js.map +1 -1
  139. package/dist/src/vtab/memory/layer/scan-plan.d.ts +9 -0
  140. package/dist/src/vtab/memory/layer/scan-plan.d.ts.map +1 -1
  141. package/dist/src/vtab/memory/layer/scan-plan.js +76 -9
  142. package/dist/src/vtab/memory/layer/scan-plan.js.map +1 -1
  143. package/dist/src/vtab/memory/layer/transaction-cursor.d.ts.map +1 -1
  144. package/dist/src/vtab/memory/layer/transaction-cursor.js +79 -11
  145. package/dist/src/vtab/memory/layer/transaction-cursor.js.map +1 -1
  146. package/dist/src/vtab/memory/module.d.ts +4 -0
  147. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  148. package/dist/src/vtab/memory/module.js +79 -11
  149. package/dist/src/vtab/memory/module.js.map +1 -1
  150. package/package.json +25 -5
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { EmptyResultNode } from '../../planner/nodes/table-access-nodes.js';
2
+ import type { Instruction } from '../types.js';
3
+ import type { EmissionContext } from '../emission-context.js';
4
+ export declare function emitEmptyResult(_plan: EmptyResultNode, _ctx: EmissionContext): Instruction;
5
+ //# sourceMappingURL=empty-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-result.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/empty-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAU1F"}
@@ -0,0 +1,11 @@
1
+ export function emitEmptyResult(_plan, _ctx) {
2
+ async function* run(_rctx) {
3
+ // Yield nothing — impossible predicate produces zero rows
4
+ }
5
+ return {
6
+ params: [],
7
+ run,
8
+ note: 'empty_result'
9
+ };
10
+ }
11
+ //# sourceMappingURL=empty-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-result.js","sourceRoot":"","sources":["../../../../src/runtime/emit/empty-result.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,eAAe,CAAC,KAAsB,EAAE,IAAqB;IAC5E,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,KAAqB;QACxC,0DAA0D;IAC3D,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG;QACH,IAAI,EAAE,cAAc;KACpB,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { HashAggregateNode } from '../../planner/nodes/hash-aggregate.js';
2
+ import type { Instruction } from '../types.js';
3
+ import type { EmissionContext } from '../emission-context.js';
4
+ export declare function emitHashAggregate(plan: HashAggregateNode, ctx: EmissionContext): Instruction;
5
+ //# sourceMappingURL=hash-aggregate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-aggregate.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/hash-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAG/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAyB9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAqW5F"}
@@ -0,0 +1,319 @@
1
+ import { emitPlanNode, emitCallFromPlan } from '../emitters.js';
2
+ import { isAggregateFunctionSchema } from '../../schema/function.js';
3
+ import { AggregateFunctionCallNode } from '../../planner/nodes/aggregate-function.js';
4
+ import { isRelationalNode } from '../../planner/nodes/plan-node.js';
5
+ import { BTree } from 'inheritree';
6
+ import { logContextPush, logContextPop } from '../utils.js';
7
+ import { coerceForAggregate } from '../../util/coercion.js';
8
+ import { quereusError } from '../../common/errors.js';
9
+ import { StatusCode } from '../../common/types.js';
10
+ import { buildRowDescriptor } from '../../util/row-descriptor.js';
11
+ import { serializeKeyNullGrouping, resolveKeyNormalizer } from '../../util/key-serializer.js';
12
+ import { createTypedComparator } from '../../util/comparison.js';
13
+ import { cloneInitialValue, findSourceRelation, ctxLog } from './aggregate.js';
14
+ export function emitHashAggregate(plan, ctx) {
15
+ const sourceRelation = findSourceRelation(plan.source);
16
+ const sourceAttributes = plan.source.getAttributes();
17
+ const groupSourceRowDescriptor = buildRowDescriptor(sourceAttributes);
18
+ const groupSourceRelationRowDescriptor = sourceRelation !== plan.source
19
+ ? buildRowDescriptor(isRelationalNode(sourceRelation) ? sourceRelation.getAttributes() : sourceAttributes)
20
+ : groupSourceRowDescriptor;
21
+ ctxLog('HashAggregate setup: source=%s, sourceRelation=%s', plan.source.nodeType, sourceRelation.nodeType);
22
+ const outputRowDescriptor = buildRowDescriptor(plan.getAttributes());
23
+ const scanRowDescriptor = buildRowDescriptor(sourceAttributes);
24
+ const combinedRowDescriptor = { ...outputRowDescriptor };
25
+ sourceAttributes.forEach((attr, index) => {
26
+ if (combinedRowDescriptor[attr.id] === undefined) {
27
+ combinedRowDescriptor[attr.id] = Object.keys(outputRowDescriptor).length + index;
28
+ }
29
+ });
30
+ // Pre-resolve collation normalizers for GROUP BY key serialization
31
+ const keyNormalizers = plan.groupBy.map(expr => {
32
+ const exprType = expr.getType();
33
+ return resolveKeyNormalizer(exprType.collationName);
34
+ });
35
+ // Pre-resolve typed comparators for DISTINCT aggregate tracking per aggregate
36
+ const distinctComparators = [];
37
+ for (const agg of plan.aggregates) {
38
+ const funcNode = agg.expression;
39
+ if (funcNode instanceof AggregateFunctionCallNode) {
40
+ const args = funcNode.args || [];
41
+ if (args.length === 1) {
42
+ const argType = args[0].getType();
43
+ const collation = argType.collationName ? ctx.resolveCollation(argType.collationName) : undefined;
44
+ const cmp = createTypedComparator(argType.logicalType, collation);
45
+ distinctComparators.push((a, b) => cmp(a, b));
46
+ }
47
+ else if (args.length > 1) {
48
+ const argComparators = args.map(arg => {
49
+ const argType = arg.getType();
50
+ const collation = argType.collationName ? ctx.resolveCollation(argType.collationName) : undefined;
51
+ return createTypedComparator(argType.logicalType, collation);
52
+ });
53
+ distinctComparators.push((a, b) => {
54
+ const arrA = a;
55
+ const arrB = b;
56
+ for (let i = 0; i < argComparators.length; i++) {
57
+ const cmp = argComparators[i](arrA[i], arrB[i]);
58
+ if (cmp !== 0)
59
+ return cmp;
60
+ }
61
+ return 0;
62
+ });
63
+ }
64
+ else {
65
+ distinctComparators.push(() => 0);
66
+ }
67
+ }
68
+ else {
69
+ distinctComparators.push(() => 0);
70
+ }
71
+ }
72
+ // Pre-compute per-aggregate whether coercion can be skipped
73
+ const aggregateSkipCoercion = plan.aggregates.map(agg => {
74
+ const funcNode = agg.expression;
75
+ if (!(funcNode instanceof AggregateFunctionCallNode))
76
+ return false;
77
+ const funcName = (funcNode.functionName || '').toUpperCase();
78
+ if (funcName === 'COUNT' || funcName === 'GROUP_CONCAT' || funcName.startsWith('JSON_'))
79
+ return false;
80
+ const args = funcNode.args || [];
81
+ return args.length > 0 && args.every(arg => arg.getType().logicalType.isNumeric);
82
+ });
83
+ async function* run(ctx, sourceRows, ...groupByAndAggregateArgs) {
84
+ const numGroupBy = plan.groupBy.length;
85
+ const groupByFunctions = groupByAndAggregateArgs.slice(0, numGroupBy);
86
+ let aggregateArgOffset = numGroupBy;
87
+ const aggregateArgFunctions = [];
88
+ for (const agg of plan.aggregates) {
89
+ const funcNode = agg.expression;
90
+ if (!(funcNode instanceof AggregateFunctionCallNode)) {
91
+ quereusError(`Expected AggregateFunctionCallNode but got ${funcNode.constructor.name}`, StatusCode.INTERNAL);
92
+ }
93
+ const args = funcNode.args || [];
94
+ const aggregateArgs = groupByAndAggregateArgs.slice(aggregateArgOffset, aggregateArgOffset + args.length);
95
+ aggregateArgFunctions.push(aggregateArgs);
96
+ aggregateArgOffset += args.length;
97
+ }
98
+ // Pre-resolve aggregate schemas and distinct flags
99
+ const aggregateSchemas = [];
100
+ const aggregateDistinctFlags = [];
101
+ for (const agg of plan.aggregates) {
102
+ const funcNode = agg.expression;
103
+ if (!(funcNode instanceof AggregateFunctionCallNode)) {
104
+ quereusError(`Expected AggregateFunctionCallNode but got ${funcNode.constructor.name}`, StatusCode.INTERNAL);
105
+ }
106
+ const funcSchema = funcNode.functionSchema;
107
+ if (!isAggregateFunctionSchema(funcSchema)) {
108
+ quereusError(`Function ${funcNode.functionName || 'unknown'} is not an aggregate function`, StatusCode.INTERNAL);
109
+ }
110
+ aggregateSchemas.push(funcSchema);
111
+ aggregateDistinctFlags.push(funcNode.isDistinct);
112
+ }
113
+ function createAccumulators() {
114
+ return aggregateSchemas.map(schema => cloneInitialValue(isAggregateFunctionSchema(schema) ? schema.initialValue : undefined));
115
+ }
116
+ function createDistinctTrees() {
117
+ return aggregateDistinctFlags.map((isDistinct, i) => isDistinct ? new BTree((val) => val, distinctComparators[i]) : null);
118
+ }
119
+ // No GROUP BY case — identical to stream aggregate (single accumulator, no hash map)
120
+ if (plan.groupBy.length === 0) {
121
+ const accumulators = createAccumulators();
122
+ const distinctTrees = createDistinctTrees();
123
+ let lastSourceRow = null;
124
+ for await (const row of sourceRows) {
125
+ lastSourceRow = row;
126
+ ctx.context.set(scanRowDescriptor, () => row);
127
+ logContextPush(scanRowDescriptor, 'scan-row', sourceAttributes);
128
+ try {
129
+ for (let i = 0; i < plan.aggregates.length; i++) {
130
+ const schema = aggregateSchemas[i];
131
+ const isDistinct = aggregateDistinctFlags[i];
132
+ const funcNode = plan.aggregates[i].expression;
133
+ if (!(funcNode instanceof AggregateFunctionCallNode)) {
134
+ quereusError(`Expected AggregateFunctionCallNode but got ${funcNode.constructor.name}`, StatusCode.INTERNAL);
135
+ }
136
+ const args = funcNode.args || [];
137
+ const argFunctions = aggregateArgFunctions[i];
138
+ const skipCoercion = aggregateSkipCoercion[i];
139
+ const argValues = [];
140
+ for (let j = 0; j < args.length; j++) {
141
+ const rawValue = await argFunctions[j](ctx);
142
+ const coercedValue = skipCoercion ? rawValue : coerceForAggregate(rawValue, funcNode.functionName || 'unknown');
143
+ argValues.push(coercedValue);
144
+ }
145
+ if (isDistinct) {
146
+ const distinctValue = argValues.length === 1 ? argValues[0] : argValues;
147
+ const existingPath = distinctTrees[i].insert(distinctValue);
148
+ if (!existingPath.on)
149
+ continue;
150
+ }
151
+ if (isAggregateFunctionSchema(schema)) {
152
+ accumulators[i] = schema.stepFunction(accumulators[i], ...argValues);
153
+ }
154
+ }
155
+ }
156
+ finally {
157
+ logContextPop(scanRowDescriptor, 'scan-row');
158
+ ctx.context.delete(scanRowDescriptor);
159
+ }
160
+ }
161
+ const aggregateRow = [];
162
+ for (let i = 0; i < plan.aggregates.length; i++) {
163
+ const schema = aggregateSchemas[i];
164
+ let finalValue;
165
+ if (isAggregateFunctionSchema(schema)) {
166
+ finalValue = schema.finalizeFunction(accumulators[i]);
167
+ }
168
+ else {
169
+ finalValue = accumulators[i];
170
+ }
171
+ aggregateRow.push(finalValue);
172
+ }
173
+ const fullRow = lastSourceRow ? [...aggregateRow, ...lastSourceRow] : aggregateRow;
174
+ if (lastSourceRow) {
175
+ ctx.context.set(scanRowDescriptor, () => lastSourceRow);
176
+ logContextPush(scanRowDescriptor, 'aggregate-rep-row');
177
+ }
178
+ ctx.context.set(combinedRowDescriptor, () => fullRow);
179
+ logContextPush(combinedRowDescriptor, 'aggregate-full-row');
180
+ try {
181
+ yield aggregateRow;
182
+ }
183
+ finally {
184
+ logContextPop(combinedRowDescriptor, 'aggregate-full-row');
185
+ ctx.context.delete(combinedRowDescriptor);
186
+ if (lastSourceRow) {
187
+ logContextPop(scanRowDescriptor, 'aggregate-rep-row');
188
+ ctx.context.delete(scanRowDescriptor);
189
+ }
190
+ }
191
+ return;
192
+ }
193
+ // GROUP BY case — hash aggregate with Map
194
+ const groups = new Map();
195
+ // Build phase: iterate all source rows
196
+ for await (const row of sourceRows) {
197
+ ctx.context.set(scanRowDescriptor, () => row);
198
+ logContextPush(scanRowDescriptor, 'scan-row', sourceAttributes);
199
+ try {
200
+ // Evaluate GROUP BY expressions
201
+ const groupValues = [];
202
+ for (const groupByFunc of groupByFunctions) {
203
+ groupValues.push(await groupByFunc(ctx));
204
+ }
205
+ // Serialize key using collation-aware serialization (NULLs group together per SQL standard)
206
+ const key = serializeKeyNullGrouping(groupValues, keyNormalizers);
207
+ // Look up or create group entry
208
+ let group = groups.get(key);
209
+ if (!group) {
210
+ group = {
211
+ groupValues,
212
+ accumulators: createAccumulators(),
213
+ distinctTrees: createDistinctTrees(),
214
+ representativeSourceRow: row,
215
+ };
216
+ groups.set(key, group);
217
+ }
218
+ // Evaluate aggregate arguments and step accumulators
219
+ for (let i = 0; i < plan.aggregates.length; i++) {
220
+ const schema = aggregateSchemas[i];
221
+ const isDistinct = aggregateDistinctFlags[i];
222
+ const funcNode = plan.aggregates[i].expression;
223
+ if (!(funcNode instanceof AggregateFunctionCallNode)) {
224
+ quereusError(`Expected AggregateFunctionCallNode but got ${funcNode.constructor.name}`, StatusCode.INTERNAL);
225
+ }
226
+ const args = funcNode.args || [];
227
+ const argFunctions = aggregateArgFunctions[i];
228
+ const skipCoercion = aggregateSkipCoercion[i];
229
+ const argValues = [];
230
+ for (let j = 0; j < args.length; j++) {
231
+ const rawValue = await argFunctions[j](ctx);
232
+ const coercedValue = skipCoercion ? rawValue : coerceForAggregate(rawValue, funcNode.functionName || 'unknown');
233
+ argValues.push(coercedValue);
234
+ }
235
+ if (isDistinct) {
236
+ const distinctValue = argValues.length === 1 ? argValues[0] : argValues;
237
+ const existingPath = group.distinctTrees[i].insert(distinctValue);
238
+ if (!existingPath.on)
239
+ continue;
240
+ }
241
+ if (isAggregateFunctionSchema(schema)) {
242
+ group.accumulators[i] = schema.stepFunction(group.accumulators[i], ...argValues);
243
+ }
244
+ }
245
+ }
246
+ finally {
247
+ logContextPop(scanRowDescriptor, 'scan-row');
248
+ ctx.context.delete(scanRowDescriptor);
249
+ }
250
+ }
251
+ // Emit phase: iterate all groups and yield results
252
+ for (const group of groups.values()) {
253
+ const aggregateRow = [];
254
+ // GROUP BY values first
255
+ aggregateRow.push(...group.groupValues);
256
+ // Finalized aggregate values
257
+ for (let i = 0; i < plan.aggregates.length; i++) {
258
+ const schema = aggregateSchemas[i];
259
+ let finalValue;
260
+ if (isAggregateFunctionSchema(schema)) {
261
+ finalValue = schema.finalizeFunction(group.accumulators[i]);
262
+ }
263
+ else {
264
+ finalValue = group.accumulators[i];
265
+ }
266
+ aggregateRow.push(finalValue);
267
+ }
268
+ // Set up combined context (output + representative source row) for HAVING
269
+ const fullRow = [...aggregateRow, ...group.representativeSourceRow];
270
+ ctx.context.set(scanRowDescriptor, () => group.representativeSourceRow);
271
+ logContextPush(scanRowDescriptor, 'group-rep-row');
272
+ ctx.context.set(combinedRowDescriptor, () => fullRow);
273
+ logContextPush(combinedRowDescriptor, 'output-row-groupby');
274
+ ctx.context.set(groupSourceRowDescriptor, () => group.representativeSourceRow);
275
+ logContextPush(groupSourceRowDescriptor, 'source-row-groupby', sourceAttributes);
276
+ if (sourceRelation !== plan.source) {
277
+ ctx.context.set(groupSourceRelationRowDescriptor, () => group.representativeSourceRow);
278
+ logContextPush(groupSourceRelationRowDescriptor, 'source-relation-row-groupby');
279
+ }
280
+ try {
281
+ yield aggregateRow;
282
+ }
283
+ finally {
284
+ logContextPop(combinedRowDescriptor, 'output-row-groupby');
285
+ ctx.context.delete(combinedRowDescriptor);
286
+ logContextPop(scanRowDescriptor, 'group-rep-row');
287
+ ctx.context.delete(scanRowDescriptor);
288
+ logContextPop(groupSourceRowDescriptor, 'source-row-groupby');
289
+ ctx.context.delete(groupSourceRowDescriptor);
290
+ if (sourceRelation !== plan.source) {
291
+ logContextPop(groupSourceRelationRowDescriptor, 'source-relation-row-groupby');
292
+ ctx.context.delete(groupSourceRelationRowDescriptor);
293
+ }
294
+ }
295
+ }
296
+ }
297
+ const sourceInstruction = emitPlanNode(plan.source, ctx);
298
+ const groupByInstructions = plan.groupBy.map(expr => emitCallFromPlan(expr, ctx));
299
+ const aggregateArgInstructions = [];
300
+ for (const agg of plan.aggregates) {
301
+ const funcNode = agg.expression;
302
+ if (!(funcNode instanceof AggregateFunctionCallNode)) {
303
+ quereusError(`Expected AggregateFunctionCallNode but got ${funcNode.constructor.name}`, StatusCode.INTERNAL);
304
+ }
305
+ const args = funcNode.args || [];
306
+ for (const arg of args) {
307
+ if (!arg) {
308
+ quereusError(`Aggregate argument is undefined for function ${funcNode.functionName}`, StatusCode.INTERNAL);
309
+ }
310
+ aggregateArgInstructions.push(emitCallFromPlan(arg, ctx));
311
+ }
312
+ }
313
+ return {
314
+ params: [sourceInstruction, ...groupByInstructions, ...aggregateArgInstructions],
315
+ run: run,
316
+ note: `hash_aggregate(${plan.groupBy.length > 0 ? `GROUP BY ${plan.groupBy.length}` : 'no grouping'}, ${plan.aggregates.length} aggs)`
317
+ };
318
+ }
319
+ //# sourceMappingURL=hash-aggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-aggregate.js","sourceRoot":"","sources":["../../../../src/runtime/emit/hash-aggregate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"AA8DA,wBAAgB,gBAAgB,SAiG/B"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"AAgEA,wBAAgB,gBAAgB,SAkG/B"}
@@ -31,6 +31,7 @@ import { emitDistinct } from './emit/distinct.js';
31
31
  import { emitScalarFunctionCall } from './emit/scalar-function.js';
32
32
  import { emitLimitOffset } from './emit/limit-offset.js';
33
33
  import { emitStreamAggregate } from './emit/aggregate.js';
34
+ import { emitHashAggregate } from './emit/hash-aggregate.js';
34
35
  import { emitCaseExpr } from './emit/case.js';
35
36
  import { emitCast } from './emit/cast.js';
36
37
  import { emitCollate } from "./emit/collate.js";
@@ -56,6 +57,7 @@ import { emitSink } from './emit/sink.js';
56
57
  import { emitBetween } from './emit/between.js';
57
58
  import { emitRetrieve } from './emit/retrieve.js';
58
59
  import { emitRemoteQuery } from './emit/remote-query.js';
60
+ import { emitEmptyResult } from './emit/empty-result.js';
59
61
  import { emitDeclareSchema, emitDiffSchema, emitApplySchema, emitExplainSchema } from './emit/schema-declarative.js';
60
62
  let registered = false;
61
63
  export function registerEmitters() {
@@ -88,6 +90,7 @@ export function registerEmitters() {
88
90
  registerEmitter(PlanNodeType.SeqScan, emitSeqScan);
89
91
  registerEmitter(PlanNodeType.IndexScan, emitSeqScan); // Reuse for now
90
92
  registerEmitter(PlanNodeType.IndexSeek, emitSeqScan); // Reuse for now
93
+ registerEmitter(PlanNodeType.EmptyResult, emitEmptyResult);
91
94
  registerEmitter(PlanNodeType.RemoteQuery, emitRemoteQuery);
92
95
  registerEmitter(PlanNodeType.Values, emitValues);
93
96
  registerEmitter(PlanNodeType.TableLiteral, emitTableLiteral);
@@ -105,9 +108,9 @@ export function registerEmitters() {
105
108
  registerEmitter(PlanNodeType.RecursiveCTE, emitRecursiveCTE);
106
109
  // Physical aggregate emitters
107
110
  registerEmitter(PlanNodeType.StreamAggregate, emitStreamAggregate);
111
+ registerEmitter(PlanNodeType.HashAggregate, emitHashAggregate);
108
112
  // Do not map the aggregate node to an emitter. It is logical only.
109
113
  // NO: registerEmitter(PlanNodeType.Aggregate, emitStreamAggregate as EmitterFunc);
110
- // TODO: registerEmitter(PlanNodeType.HashAggregate, emitHashAggregate as EmitterFunc);
111
114
  // DML/DDL emitters
112
115
  registerEmitter(PlanNodeType.CreateTable, emitCreateTable);
113
116
  registerEmitter(PlanNodeType.CreateIndex, emitCreateIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { type LogicalType } from './logical-type.js';
2
2
  /**
3
- * JSON type - stores valid JSON strings
4
- * Uses TEXT for physical storage but validates JSON syntax
5
- * Provides deep equality comparison for JSON values
3
+ * JSON type - stores JSON values as native JS objects/arrays/primitives.
4
+ * Uses PhysicalType.OBJECT for in-memory representation.
5
+ * Serialize/deserialize hooks convert between native objects and JSON strings for storage.
6
6
  */
7
7
  export declare const JSON_TYPE: LogicalType;
8
8
  //# sourceMappingURL=json-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-type.d.ts","sourceRoot":"","sources":["../../../src/types/json-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAIjF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,WAuEvB,CAAC"}
1
+ {"version":3,"file":"json-type.d.ts","sourceRoot":"","sources":["../../../src/types/json-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAIjF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,WAmEvB,CAAC"}