@ahmadmoussawi/webdb 0.1.4 → 0.2.1

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 (55) hide show
  1. package/README.md +50 -6
  2. package/dist/angular.cjs +2 -0
  3. package/dist/angular.cjs.map +1 -0
  4. package/dist/angular.d.ts +92 -0
  5. package/dist/angular.js +108 -0
  6. package/dist/angular.js.map +1 -0
  7. package/dist/core/index.d.ts +6 -2
  8. package/dist/core/index.d.ts.map +1 -1
  9. package/dist/core/js/catalog.c.d.ts +88 -27
  10. package/dist/core/js/catalog.c.d.ts.map +1 -1
  11. package/dist/core/js/codecs.c.d.ts +8 -0
  12. package/dist/core/js/codecs.c.d.ts.map +1 -1
  13. package/dist/core/js/page.c.d.ts +32 -2
  14. package/dist/core/js/page.c.d.ts.map +1 -1
  15. package/dist/core/js/vm.c.d.ts +43 -0
  16. package/dist/core/js/vm.c.d.ts.map +1 -1
  17. package/dist/core/js/vm.helpers.c.d.ts +326 -72
  18. package/dist/core/js/vm.helpers.c.d.ts.map +1 -1
  19. package/dist/core/wasm/embedded_wasm.d.ts +1 -1
  20. package/dist/core/wasm/embedded_wasm.d.ts.map +1 -1
  21. package/dist/core/wasm/wasm_core.d.ts +7 -4
  22. package/dist/core/wasm/wasm_core.d.ts.map +1 -1
  23. package/dist/host/api/index.d.ts +1 -0
  24. package/dist/host/api/index.d.ts.map +1 -1
  25. package/dist/host/api/live_query.d.ts +84 -0
  26. package/dist/host/api/live_query.d.ts.map +1 -0
  27. package/dist/host/api/query_builder.d.ts +21 -0
  28. package/dist/host/api/query_builder.d.ts.map +1 -1
  29. package/dist/host/api/webdb.d.ts +8 -0
  30. package/dist/host/api/webdb.d.ts.map +1 -1
  31. package/dist/host/compiler/compiler.d.ts +1 -0
  32. package/dist/host/compiler/compiler.d.ts.map +1 -1
  33. package/dist/host/driver/buffer_pool_driver.d.ts +1 -0
  34. package/dist/host/driver/buffer_pool_driver.d.ts.map +1 -1
  35. package/dist/react.cjs +2 -0
  36. package/dist/react.cjs.map +1 -0
  37. package/dist/react.d.ts +52 -0
  38. package/dist/react.js +66 -0
  39. package/dist/react.js.map +1 -0
  40. package/dist/shared/c_runtime.d.ts +4 -0
  41. package/dist/shared/c_runtime.d.ts.map +1 -1
  42. package/dist/shared/vm_context.d.ts +11 -0
  43. package/dist/shared/vm_context.d.ts.map +1 -1
  44. package/dist/types/index.d.ts +4 -0
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/vue.cjs +2 -0
  47. package/dist/vue.cjs.map +1 -0
  48. package/dist/vue.d.ts +100 -0
  49. package/dist/vue.js +80 -0
  50. package/dist/vue.js.map +1 -0
  51. package/dist/webdb.js +11648 -9554
  52. package/dist/webdb.js.map +1 -1
  53. package/dist/webdb.umd.cjs +4 -4
  54. package/dist/webdb.umd.cjs.map +1 -1
  55. package/package.json +40 -3
@@ -1,5 +1,5 @@
1
1
  import { DataType, ColumnMeta, TableMeta, DbRow, DbValue } from '../../types/index.ts';
2
- import { u8, u16, u32, i32, i64 } from '../types.ts';
2
+ import { u8, u16, u32, i32, i64, f64 } from '../types.ts';
3
3
  /**
4
4
  * Initializes a standard 16-byte header 4KB page.
5
5
  *
@@ -104,6 +104,10 @@ export declare function page_get_contiguous_free_space(view: DataView, page_offs
104
104
  export declare function page_get_total_free_space(view: DataView, page_offset: u32): u16;
105
105
  /**
106
106
  * @export_c
107
+ * Defragments a slotted data or index leaf page in linear memory using a 4KB staging scratchpad.
108
+ */
109
+ export declare function page_compact_raw(view: DataView, page_offset: u32, scratchpad_offset: u32): void;
110
+ /**
107
111
  * Defragments a slotted data page using a 4KB staging scratchpad.
108
112
  * Collapses fragmented holes to the bottom, rewrites slot directory entries,
109
113
  * and sets free_bytes to 0.
@@ -117,6 +121,13 @@ export declare function page_compact(view: DataView, page_offset: u32, scratchpa
117
121
  * Calculates row length in bytes from the serialized row at row_offset.
118
122
  */
119
123
  export declare function page_get_row_length(view: DataView, row_abs_offset: u32): u16;
124
+ /**
125
+ * @export_c
126
+ * Inserts a serialized row record located in linear memory at row_src_offset (of length row_len)
127
+ * into a slotted data page at page_offset.
128
+ * Returns the slot index (0-indexed) or -1 if the row cannot fit in this page.
129
+ */
130
+ export declare function page_insert_row_raw(view: DataView, page_offset: u32, row_src_offset: u32, row_len: u16, scratchpad_offset: u32): i32;
120
131
  /**
121
132
  * Inserts a serialized row record into a slotted data page.
122
133
  * Returns the slot index (0-indexed) or -1 if the row cannot fit in this page.
@@ -203,14 +214,33 @@ export declare function page_init_index_leaf(view: DataView, page_offset: u32, n
203
214
  * NULL < -Infinity < Numbers < TEXT (UTF-8) < BLOB
204
215
  */
205
216
  export declare function page_compare_index_keys(type_a: DataType, val_a: any, rowid_a: bigint, type_b: DataType, val_b: any, rowid_b: bigint): number;
217
+ /**
218
+ * @export_c
219
+ * Zero-allocation 3VL comparison between a target index key and a cell at cell_data_offset.
220
+ * Returns <0 if target < cell, 0 if equal, >0 if target > cell.
221
+ */
222
+ export declare function page_compare_index_cell_raw(view: DataView, cell_data_offset: u32, k_len: u16, cell_rowid: i64, context_type: u8, target_type: u8, target_f64: f64, target_bytes_off: u32, target_bytes_len: u16, target_rowid: i64): i32;
223
+ /**
224
+ * @export_c
225
+ * Inserts an index key and rowid into a Secondary Index Leaf Page in linear memory,
226
+ * maintaining the sorted slot directory.
227
+ */
228
+ export declare function page_insert_index_cell_raw(view: DataView, page_offset: u32, key_type: u8, key_i64: i64, key_f64: f64, key_src_offset: u32, key_len: u16, rowid: i64, scratchpad_offset: u32): i32;
229
+ /**
230
+ * @export_c
231
+ * Binary searches an Index Leaf Page for target key and optional rowid.
232
+ * Returns >= 0 (found slot_idx) if found, or < 0 (-(insertion_slot + 1)) if not found.
233
+ */
234
+ export declare function page_binary_search_index_raw(view: DataView, page_offset: u32, target_type: u8, target_f64: f64, target_bytes_off: u32, target_bytes_len: u16, has_target_rowid: u8, target_row_id: i64): i32;
206
235
  /**
207
236
  * Inserts a key and rowid into a Secondary Index Leaf Page, maintaining sorted slot directory.
208
237
  */
209
238
  export declare function page_insert_index_leaf_cell(view: DataView, page_offset: number, key_type: DataType, key_value: any, rowid: bigint, scratchpad_offset?: number): number;
210
239
  /**
240
+ * @export_c
211
241
  * Deletes an entry at slot_idx from a Secondary Index Leaf Page.
212
242
  */
213
- export declare function page_delete_index_leaf_cell(view: DataView, page_offset: number, slot_idx: number): void;
243
+ export declare function page_delete_index_leaf_cell(view: DataView, page_offset: u32, slot_idx: u16): void;
214
244
  /**
215
245
  * Binary searches an Index Leaf Page for target key and optional rowid.
216
246
  */
@@ -1 +1 @@
1
- {"version":3,"file":"page.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/page.c.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/page.c.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,51 @@
1
1
  import { VmStatus } from '../../types/index.ts';
2
+ import { u32, i32 } from '../types.ts';
2
3
  import { VmCursor, VmContext, VmKeyInfo, VmSorter, VmSorterEntry, VmAggBucket, createVmContext, resetVmContext } from '../../shared/index.ts';
3
4
  export * from './vm.helpers.c.ts';
4
5
  export { createVmContext, resetVmContext };
5
6
  export type { VmCursor, VmContext, VmKeyInfo, VmSorter, VmSorterEntry, VmAggBucket, };
7
+ /**
8
+ * @export_c
9
+ * Synchronous Bytecode VM execution step loop over flat linear memory.
10
+ * Zero dynamic allocations and zero object property accesses; transpiles 1:1 to C.
11
+ *
12
+ * Guide to Low-Level Memory Primitives (`read_*` / `write_*`) vs Pure JS Equivalents:
13
+ * -----------------------------------------------------------------------------------
14
+ * 1. Bytecode Operands (at `code_off + pc`):
15
+ * - `read_u8(view, code_off + pc)` <-> `bytecode[pc]`
16
+ * - `read_u16(view, code_off + pc)` <-> `bytecodeView.getUint16(pc, true)`
17
+ * - `read_i32(view, code_off + pc)` <-> `bytecodeView.getInt32(pc, true)`
18
+ * - `read_u32(view, code_off + pc)` <-> `bytecodeView.getUint32(pc, true)`
19
+ * - `read_f64(view, code_off + pc)` <-> `bytecodeView.getFloat64(pc, true)`
20
+ *
21
+ * 2. VmContext Scalar State (at `ctx_off = VM_CONTEXT_OFFSET`):
22
+ * - `read_u32(view, ctx_off + VM_CTX_PC)` <-> `ctx.pc`
23
+ * - `write_u32(view, ctx_off + VM_CTX_PC, pc)` <-> `ctx.pc = pc`
24
+ * - `write_i32(view, ctx_off + VM_CTX_STATUS, s)` <-> `ctx.status = s`
25
+ * - `write_u32(view, ctx_off + VM_CTX_FAULT_PAGE_ID, pid)` <-> `ctx.fault_page_id = pid`
26
+ * - `write_u32(view, ctx_off + VM_CTX_ARENA_OFFSET, off)` <-> `ctx.arenaOffset = off`
27
+ *
28
+ * 3. Cursor State (`cur_off = vm_cursor_off(ctx_off, cursor_idx)`):
29
+ * - `read_u32(view, cur_off + VM_CUR_PAGE_ID)` <-> `ctx.cursors[cursor_idx].pageId`
30
+ * - `write_u32(view, cur_off + VM_CUR_PAGE_ID, pid)` <-> `ctx.cursors[cursor_idx].pageId = pid`
31
+ * - `write_u32(view, cur_off + VM_CUR_ROOT_PAGE_ID, pid)` <-> `ctx.cursors[cursor_idx].rootPageId = pid`
32
+ * - `write_i32(view, cur_off + VM_CUR_SLOT_IDX, slot)` <-> `ctx.cursors[cursor_idx].slotIdx = slot`
33
+ * - `read_i32(view, cur_off + VM_CUR_CELL_IDX)` <-> `ctx.cursors[cursor_idx].cellIdx`
34
+ * - `write_i32(view, cur_off + VM_CUR_CELL_IDX, idx)` <-> `ctx.cursors[cursor_idx].cellIdx = idx`
35
+ * - `read_u32(view, cur_off + VM_CUR_ROW_OFFSET)` <-> `ctx.cursors[cursor_idx].rowOffset`
36
+ * - `write_u32(view, cur_off + VM_CUR_ROW_OFFSET, off)` <-> `ctx.cursors[cursor_idx].rowOffset = off`
37
+ *
38
+ * 4. Register State (`reg_off = vm_reg_off(ctx_off, reg_idx)`):
39
+ * - `vm_reg_set_null(view, reg_off)` <-> `ctx.registers[reg_idx] = null`
40
+ * - `vm_reg_set_i32(view, reg_off, val)` <-> `ctx.registers[reg_idx] = val`
41
+ * - `vm_reg_set_i64(view, reg_off, val)` <-> `ctx.registers[reg_idx] = val`
42
+ * - `vm_reg_set_f64(view, reg_off, val)` <-> `ctx.registers[reg_idx] = val`
43
+ * - `vm_reg_set_slice(view, reg_off, type, off, len)` <-> `ctx.registers[reg_idx] = slice(off, off + len)`
44
+ * - `read_u8(view, reg_off + VM_REG_IS_NULL) !== 0` <-> `ctx.registers[reg_idx] === null`
45
+ * - `read_f64(view, reg_off + VM_REG_F64)` <-> `Number(ctx.registers[reg_idx])`
46
+ */
47
+ export declare function vm_step_raw(view: DataView, ctx_off: u32, code_off: u32, code_len: u32, arena_base: u32): i32;
48
+ export declare function executeVmStepWithRunner(ctx: VmContext, view: DataView, bytecode: Uint8Array, runRaw: (activeView: DataView, ctxOff: number, codeOff: number, codeLen: number, arenaBase: number) => number, targetBuffer?: ArrayBuffer): VmStatus;
6
49
  /**
7
50
  * Synchronous Bytecode VM execution step loop.
8
51
  * Runs instructions until STATUS_DONE, STATUS_BUFFER_FULL, or an error.
@@ -1 +1 @@
1
- {"version":3,"file":"vm.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/vm.c.ts"],"names":[],"mappings":"AAMA,OAAO,EAAU,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAUlE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAoB/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAC3C,YAAY,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,CAAC;AAIF;;;GAGG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,UAAU,GACnB,QAAQ,CAirEV"}
1
+ {"version":3,"file":"vm.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/vm.c.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAU,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAW,GAAG,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAuB1D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAyG/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAC3C,YAAY,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,GAAG,GACd,GAAG,CAo8DL;AA0FD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,CACN,UAAU,EAAE,QAAQ,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,KACd,MAAM,EACX,YAAY,CAAC,EAAE,WAAW,GACzB,QAAQ,CA2WV;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,UAAU,GACnB,QAAQ,CAQV"}
@@ -1,124 +1,378 @@
1
1
  import { VmStatus, ColumnMeta } from '../../types/index.ts';
2
- import { u32, i32, i64, f64 } from '../types.ts';
3
- import { VmCursor, VmContext, VmKeyInfo, VmSorter, VmSorterEntry, VmAggBucket } from '../../shared/index.ts';
2
+ import { u8, u16, u32, i32, i64, f64 } from '../types.ts';
3
+ import { VmCursor, VmContext, VmKeyInfo, VmSorter, VmAggBucket } from '../../shared/index.ts';
4
+ export declare const VM_CTX_PC = 0;
5
+ export declare const VM_CTX_STATUS = 4;
6
+ export declare const VM_CTX_FAULT_PAGE_ID = 8;
7
+ export declare const VM_CTX_RESULT_COUNT = 12;
8
+ export declare const VM_CTX_RESULT_OFFSET = 16;
9
+ export declare const VM_CTX_ARENA_OFFSET = 20;
10
+ export declare const VM_CTX_MAX_QUERY_MEMORY = 24;
11
+ export declare const VM_CTX_HAS_BUFFER_POOL = 28;
12
+ export declare const VM_CTX_NUM_TABLES = 32;
13
+ export declare const VM_CTX_NUM_OUTPUT_COLS = 36;
14
+ export declare const VM_CTX_NUM_KEY_INFOS = 40;
15
+ export declare const VM_CTX_NUM_IN_SETS = 44;
16
+ export declare const VM_CTX_UDF_ID = 48;
17
+ export declare const VM_CTX_UDF_START_REG = 52;
18
+ export declare const VM_CTX_UDF_NUM_ARGS = 56;
19
+ export declare const VM_CTX_UDF_DEST_REG = 60;
20
+ export declare const VM_CTX_PHYS_ARENA_USED = 64;
21
+ export declare const VM_CTX_CURRENT_BUCKET_OFF = 68;
22
+ export declare const VM_CTX_REGISTERS_OFF = 72;
23
+ export declare const VM_REG_SIZE = 32;
24
+ export declare const VM_REG_IS_NULL = 0;
25
+ export declare const VM_REG_TYPE = 1;
26
+ export declare const VM_REG_I32 = 4;
27
+ export declare const VM_REG_I64 = 8;
28
+ export declare const VM_REG_F64 = 16;
29
+ export declare const VM_REG_DATA_OFF = 24;
30
+ export declare const VM_REG_DATA_LEN = 28;
31
+ export declare const VM_CTX_CURSORS_OFF = 2120;
32
+ export declare const VM_CURSOR_SIZE = 24;
33
+ export declare const VM_CUR_PAGE_ID = 0;
34
+ export declare const VM_CUR_ROOT_PAGE_ID = 4;
35
+ export declare const VM_CUR_SLOT_IDX = 8;
36
+ export declare const VM_CUR_CELL_IDX = 12;
37
+ export declare const VM_CUR_ROW_OFFSET = 16;
38
+ export declare const VM_CUR_FLAGS = 20;
39
+ export declare const VM_CTX_TABLES_OFF = 2504;
40
+ export declare const VM_TABLE_DESC_SIZE = 260;
41
+ export declare const VM_CTX_OUTPUT_COLS_OFF = 6664;
42
+ export declare const VM_CTX_KEY_INFOS_OFF = 6928;
43
+ export declare const VM_KEY_INFO_SIZE = 32;
44
+ export declare const VM_KI_NUM_KEYS = 0;
45
+ export declare const VM_KI_HAS_LIMIT = 1;
46
+ export declare const VM_KI_LIMIT = 4;
47
+ export declare const VM_KI_OFFSET = 8;
48
+ export declare const VM_KI_DIRECTIONS = 12;
49
+ export declare const VM_KI_NULL_ORDERS = 20;
50
+ export declare const VM_CTX_SORTERS_OFF = 7184;
51
+ export declare const VM_SORTER_SIZE = 32;
52
+ export declare const VM_SRT_IS_OPEN = 0;
53
+ export declare const VM_SRT_IS_SORTED = 1;
54
+ export declare const VM_SRT_KEY_INFO_IDX = 2;
55
+ export declare const VM_SRT_ENTRY_COUNT = 4;
56
+ export declare const VM_SRT_CAPACITY = 8;
57
+ export declare const VM_SRT_READ_IDX = 12;
58
+ export declare const VM_SRT_MAX_K = 16;
59
+ export declare const VM_SRT_PTRS_OFF = 20;
60
+ export declare const VM_SRT_SCRATCH_OFF = 24;
61
+ export declare const VM_CTX_AGGS_OFF = 7312;
62
+ export declare const VM_AGG_SIZE = 32;
63
+ export declare const VM_AGG_IS_OPEN = 0;
64
+ export declare const VM_AGG_MODE = 1;
65
+ export declare const VM_AGG_START_KEY_REG = 2;
66
+ export declare const VM_AGG_NUM_KEYS = 3;
67
+ export declare const VM_AGG_CAPACITY = 4;
68
+ export declare const VM_AGG_OCCUPIED = 8;
69
+ export declare const VM_AGG_READ_IDX = 12;
70
+ export declare const VM_AGG_BUCKETS_OFF = 16;
71
+ export declare const VM_AGG_CURR_BUCKET_OFF = 20;
72
+ export declare const VM_CTX_IN_SETS_OFF = 7440;
73
+ export declare const VM_CTX_SCRATCH_OFF = 7680;
74
+ export declare const VM_STATUS_HOST_UDF = 99;
4
75
  /**
5
- * Returns the active cursor for cursor_idx (0..15), falling back to ctx.cursor.
76
+ * @export_c
6
77
  */
7
- export declare function get_cursor(ctx: VmContext, cursor_idx: number): VmCursor;
78
+ export declare function to_lower_char(c: i32): i32;
8
79
  /**
9
- * Resolves the byte offset in linear memory for a given page_id.
10
- * If the buffer pool page-to-slot table is populated, maps via the resident slot.
11
- * Otherwise falls back to standalone direct calculation: (page_id - 1) * PAGE_SIZE.
80
+ * @export_c
12
81
  */
13
- export declare function resolve_page_offset(view: DataView, page_id: number): number;
82
+ export declare function to_upper_char(c: i32): i32;
14
83
  /**
15
- * Three-Valued Logic (3VL) comparator for evaluation registers.
16
- * If either value is null or undefined, returns is_unknown = true.
84
+ * @export_c
85
+ * Pure JS equivalent: `&ctx.registers[reg_idx]` (each register slot is 32 bytes: `reg_idx << 5`).
17
86
  */
18
- export declare function compare_3vl(val_a: any, val_b: any): {
19
- result: number;
20
- is_unknown: boolean;
21
- };
87
+ export declare function vm_reg_off(ctx_off: u32, reg_idx: u32): u32;
22
88
  /**
23
89
  * @export_c
90
+ * Pure JS equivalent: `&ctx.cursors[cursor_idx]` (each cursor struct is 24 bytes).
24
91
  */
25
- export declare function fnv1a_32_bytes(data: Uint8Array, len: u32): u32;
92
+ export declare function vm_cursor_off(ctx_off: u32, cursor_idx: u32): u32;
26
93
  /**
27
94
  * @export_c
95
+ * Pure JS equivalent: `ctx.tables?.[cursor_idx] ?? ctx.table`
28
96
  */
29
- export declare function sql_like_match_raw(str: string, str_len: u32, pattern: string, pat_len: u32): i32;
30
- export interface Compare3VLResult {
31
- result: i32;
32
- is_unknown: i32;
33
- }
97
+ export declare function vm_resolve_table_off(view: DataView, ctx_off: u32, cursor_idx: u32): u32;
34
98
  /**
35
99
  * @export_c
100
+ * Bump-pointer allocator in `TRANSIENT_ARENA_OFFSET` (8-byte aligned).
101
+ * Pure JS equivalent: `new Uint8Array(bytes)` / heap object allocation.
36
102
  */
37
- export declare function compare_3vl_int64(a: i64, a_null: i32, b: i64, b_null: i32): Compare3VLResult;
103
+ export declare function vm_phys_alloc(view: DataView, ctx_off: u32, arena_base: u32, bytes: u32): u32;
38
104
  /**
39
105
  * @export_c
106
+ * Pure JS equivalent: `ctx.registers[reg_idx] = null`
40
107
  */
41
- export declare function compare_3vl_float64(a: f64, a_null: i32, b: f64, b_null: i32): Compare3VLResult;
108
+ export declare function vm_reg_set_null(view: DataView, reg_off: u32): void;
42
109
  /**
43
110
  * @export_c
111
+ * Pure JS equivalent: `ctx.registers[reg_idx] = val` (32-bit integer)
44
112
  */
45
- export declare function compare_3vl_bytes(a: Uint8Array, a_len: u32, a_null: i32, b: Uint8Array, b_len: u32, b_null: i32): Compare3VLResult;
113
+ export declare function vm_reg_set_i32(view: DataView, reg_off: u32, val: i32): void;
46
114
  /**
47
- * Standard SQL LIKE pattern matcher supporting '%' (any sequence) and '_' (any single character).
48
- * Case-insensitive for ASCII matching according to SQLite semantics.
115
+ * @export_c
116
+ * Pure JS equivalent: `ctx.registers[reg_idx] = val` (64-bit BigInt)
49
117
  */
50
- export declare function sql_like_match(str: string, pattern: string): boolean;
118
+ export declare function vm_reg_set_i64(view: DataView, reg_off: u32, val: i64): void;
51
119
  /**
52
- * Compares two sets of sort keys according to KeyInfo descriptor.
53
- * Strictly adheres to SQLite NULL collation (NULL is smaller than any non-NULL value)
54
- * and honors independent per-column ASC/DESC and NULLS_FIRST/NULLS_LAST.
120
+ * @export_c
121
+ * Pure JS equivalent: `ctx.registers[reg_idx] = val` (64-bit float)
55
122
  */
56
- export declare function compare_sorter_keys(keys_a: any[], keys_b: any[], key_info: VmKeyInfo): number;
123
+ export declare function vm_reg_set_f64(view: DataView, reg_off: u32, val: f64): void;
57
124
  /**
58
- * Compares sort keys stored in contiguous registers against a target entry's keys.
59
- * Avoids allocating an intermediate array for rejected Top-K candidates.
125
+ * @export_c
126
+ * Stores a zero-copy byte slice (pointer + length) in a register.
127
+ * Pure JS equivalent: `ctx.registers[reg_idx] = textDecoder.decode(subarray)` or `new Uint8Array(subarray)`
60
128
  */
61
- export declare function compare_registers_to_sorter_keys(registers: any[], start_reg: number, keys_b: any[], key_info: VmKeyInfo): number;
129
+ export declare function vm_reg_set_slice(view: DataView, reg_off: u32, col_type: u8, data_off: u32, data_len: u32): void;
62
130
  /**
63
- * 32-bit FNV-1a hash over grouping key values.
64
- * Returns non-zero uint32 (reserving 0 as empty bucket marker).
131
+ * @export_c
132
+ * Pure JS equivalent: `ctx.registers[dst_idx] = ctx.registers[src_idx]`
65
133
  */
66
- export declare function fnv1a_32(values: any[]): number;
134
+ export declare function vm_reg_copy(view: DataView, dst_reg_off: u32, src_reg_off: u32): void;
67
135
  /**
68
- * Checks equality between two sets of grouping keys.
69
- * In SQL GROUP BY: two NULLs in grouping columns are considered identical!
136
+ * @export_c
70
137
  */
71
- export declare function group_keys_match(keys_a: any[], keys_b: any[]): boolean;
138
+ export declare function vm_reg_clone_to_arena(view: DataView, ctx_off: u32, arena_base: u32, dst_slot_off: u32, src_reg_off: u32): i32;
72
139
  /**
73
- * Allocates and initializes an array of empty aggregate buckets.
140
+ * @export_c
74
141
  */
75
- export declare function create_agg_buckets(capacity: number): VmAggBucket[];
142
+ export declare function vm_hex_char(nibble: u32): u8;
76
143
  /**
77
- * Sifts down an entry at index in a max-heap of top-K entries.
78
- * The root (index 0) contains the worst entry (largest/latest in sorted order).
144
+ * @export_c
79
145
  */
80
- export declare function heap_sift_down(entries: VmSorterEntry[], index: number, length: number, key_info: VmKeyInfo): void;
146
+ export declare function vm_crockford_char(idx: u32): u8;
81
147
  /**
82
- * Sorts sorter entries using collation keys and initializes readIdx at offset.
148
+ * @export_c
83
149
  */
84
- export declare function sort_sorter_entries(sorter: VmSorter): void;
150
+ export declare function vm_uuid_decode_view(view: DataView, src_off: u32, dst_off: u32): void;
85
151
  /**
86
- * Copies a contiguous slice of row bytes from linear memory.
152
+ * @export_c
87
153
  */
88
- export declare function copy_row_bytes(view: DataView, offset: number, length: number): Uint8Array;
154
+ export declare function vm_uuid_encode_view(view: DataView, src_off: u32, src_len: u32, dst_off: u32): i32;
89
155
  /**
90
- * Inserts or replaces a row entry into the in-arena sorter.
91
- * Employs a Top-K bounded max-heap optimization when max_k > 0.
156
+ * @export_c
92
157
  */
93
- export declare function sorter_insert_row(ctx: VmContext, sorter: VmSorter, keys: any[], cursor_row_offset: number, row_len: number, view: DataView, max_k: number): VmStatus;
158
+ export declare function vm_ulid_decode_view(view: DataView, src_off: u32, dst_off: u32): void;
94
159
  /**
95
- * Serializes register values into a binary row based on the current query schema context.
96
- *
97
- * Responsibilities across the 3 branches:
98
- * 1. Explicit Output Projection (`ctx.outputColumns`):
99
- * Handles queries with transformed output schemas (e.g. GROUP BY aggregations,
100
- * computed expressions, or column aliases) defined in `ctx.outputColumns`.
101
- * 2. Physical Table Schema (`ctx.table.columns`):
102
- * Handles standard row scans where the number of emitted registers
103
- * matches the physical table schema in `ctx.table`.
104
- * 3. Dynamic Runtime Type Inference (Fallback):
105
- * Handles ad-hoc expressions, partial projections, or subqueries lacking
106
- * pre-compiled schema metadata, inferring data types (INT32, FLOAT64, INT64, BLOB, TEXT)
107
- * directly from register values.
160
+ * @export_c
108
161
  */
109
- export declare function serialize_result_registers(ctx: VmContext, start_reg: number, num_cols: number): Uint8Array;
162
+ export declare function vm_ulid_encode_view(view: DataView, src_off: u32, src_len: u32, dst_off: u32): i32;
110
163
  /**
111
- * Writes serialized row bytes into the 64KB Output Result Buffer.
112
- * Prepends a 2-byte uint16 length prefix. Yields BUFFER_FULL on overflow.
164
+ * @export_c
113
165
  */
114
- export declare function emit_to_result_buffer(ctx: VmContext, view: DataView, row_bytes: Uint8Array, instr_pc: number): VmStatus;
166
+ export declare function vm_resolve_page_offset(view: DataView, has_buffer_pool: u32, page_id: u32): u32;
115
167
  /**
116
- * Tests whether a column in the row is marked NULL in the null-bitmap.
168
+ * @export_c
117
169
  */
118
- export declare function row_is_null(view: DataView, null_bitmap_offset: number, col_idx: number): boolean;
170
+ export declare function vm_row_is_null(view: DataView, null_bitmap_offset: u32, col_idx: u32): i32;
171
+ /**
172
+ * @export_c
173
+ */
174
+ export declare function vm_compute_fixed_col_offset(view: DataView, null_bitmap_offset: u32, null_bitmap_bytes: u32, tbl_off: u32, target_col_idx: u32): u32;
175
+ /**
176
+ * @export_c
177
+ */
178
+ export declare function vm_compute_var_col_idx(view: DataView, tbl_off: u32, target_col_idx: u32): u32;
179
+ /**
180
+ * @export_c
181
+ */
182
+ export declare function vm_compare_bytes_raw(view: DataView, off_a: u32, len_a: u32, off_b: u32, len_b: u32): i32;
183
+ /**
184
+ * @export_c
185
+ * Returns -2 if either register is NULL (UNKNOWN in 3VL), otherwise -1, 0, or 1.
186
+ */
187
+ export declare function vm_compare_reg_3vl(view: DataView, reg_a_off: u32, reg_b_off: u32): i32;
188
+ /**
189
+ * @export_c
190
+ * Compares target key in reg_off against index leaf cell at slot_idx.
191
+ * Returns <0 if target < cell, 0 if target == cell, >0 if target > cell.
192
+ */
193
+ export declare function vm_compare_index_cell(view: DataView, ctx_off: u32, page_offset: u32, slot_idx: u16, key_type: u8, reg_off: u32): i32;
194
+ /**
195
+ * @export_c
196
+ */
197
+ export declare function vm_index_seek_leaf_eq(view: DataView, ctx_off: u32, page_offset: u32, key_type: u8, reg_off: u32): i32;
198
+ /**
199
+ * @export_c
200
+ */
201
+ export declare function vm_index_seek_leaf_ge(view: DataView, ctx_off: u32, page_offset: u32, key_type: u8, reg_off: u32): i32;
202
+ /**
203
+ * @export_c
204
+ */
205
+ export declare function sql_like_match_view(view: DataView, str_off: u32, str_len: u32, pat_off: u32, pat_len: u32): i32;
206
+ /**
207
+ * @export_c
208
+ */
209
+ export declare function vm_str_contains_view(view: DataView, str_off: u32, str_len: u32, sub_off: u32, sub_len: u32): i32;
210
+ /**
211
+ * @export_c
212
+ */
213
+ export declare function vm_str_starts_with_view(view: DataView, str_off: u32, str_len: u32, pfx_off: u32, pfx_len: u32): i32;
214
+ /**
215
+ * @export_c
216
+ */
217
+ export declare function vm_str_ends_with_view(view: DataView, str_off: u32, str_len: u32, sfx_off: u32, sfx_len: u32): i32;
218
+ /**
219
+ * @export_c
220
+ */
221
+ export declare function vm_utf8_char_count(view: DataView, str_off: u32, byte_len: u32): i32;
222
+ /**
223
+ * @export_c
224
+ */
225
+ export declare function vm_str_lower(view: DataView, ctx_off: u32, arena_base: u32, src_reg_off: u32, dest_reg_off: u32): void;
226
+ /**
227
+ * @export_c
228
+ */
229
+ export declare function vm_str_upper(view: DataView, ctx_off: u32, arena_base: u32, src_reg_off: u32, dest_reg_off: u32): void;
230
+ /**
231
+ * @export_c
232
+ */
233
+ export declare function vm_str_trim(view: DataView, src_reg_off: u32, dest_reg_off: u32): void;
234
+ /**
235
+ * @export_c
236
+ */
237
+ export declare function vm_utf8_substr(view: DataView, src_reg_off: u32, start_reg_off: u32, len_reg_off: u32, dest_reg_off: u32): void;
238
+ /**
239
+ * @export_c
240
+ */
241
+ export declare function vm_format_i64_to_scratch(view: DataView, scratch_off: u32, val: i64): u32;
242
+ /**
243
+ * @export_c
244
+ */
245
+ export declare function vm_str_concat(view: DataView, ctx_off: u32, arena_base: u32, start_reg: u32, num_regs: u32, dest_reg: u32): void;
246
+ /**
247
+ * @export_c
248
+ */
249
+ export declare function vm_math_abs(x: f64): f64;
119
250
  /**
120
- * Computes the byte offset of a fixed-width column within a row record,
121
- * or the start of the variable-length offset table if target_col_idx == column_count.
251
+ * @export_c
252
+ */
253
+ export declare function vm_math_floor(x: f64): f64;
254
+ /**
255
+ * @export_c
256
+ */
257
+ export declare function vm_math_ceil(x: f64): f64;
258
+ /**
259
+ * @export_c
260
+ */
261
+ export declare function vm_math_round(x: f64): f64;
262
+ /**
263
+ * @export_c
264
+ */
265
+ export declare function vm_in_set_contains(view: DataView, ctx_off: u32, set_idx: u32, reg_off: u32): i32;
266
+ /**
267
+ * @export_c
268
+ */
269
+ export declare function vm_emit_raw_row(view: DataView, ctx_off: u32, row_src_off: u32, row_len: u32, instr_pc: u32): i32;
270
+ /**
271
+ * @export_c
272
+ */
273
+ export declare function vm_infer_result_col_type(view: DataView, ctx_off: u32, start_reg: u32, num_cols: u32, col_idx: u32): u8;
274
+ /**
275
+ * @export_c
276
+ */
277
+ export declare function vm_serialize_and_emit_result_row(view: DataView, ctx_off: u32, start_reg: u32, num_cols: u32, instr_pc: u32): i32;
278
+ /**
279
+ * @export_c
280
+ */
281
+ export declare function vm_compare_sorter_key_slots(view: DataView, keys_a_base: u32, keys_b_base: u32, ki_off: u32): i32;
282
+ /**
283
+ * @export_c
284
+ */
285
+ export declare function vm_sorter_heap_sift_down(view: DataView, ptrs_off: u32, index: u32, length: u32, ki_off: u32): void;
286
+ /**
287
+ * @export_c
288
+ */
289
+ export declare function vm_sorter_open_raw(view: DataView, ctx_off: u32, arena_base: u32, sorter_id: u32, key_info_idx: u32): i32;
290
+ /**
291
+ * @export_c
292
+ */
293
+ export declare function vm_sorter_insert_raw(view: DataView, ctx_off: u32, arena_base: u32, sorter_id: u32, start_reg: u32, num_keys: u32, cursor_idx: u32): i32;
294
+ /**
295
+ * @export_c
296
+ * Bottom-up stable merge sort over the u32 entry pointer array in the arena.
297
+ */
298
+ export declare function vm_sorter_sort_raw(view: DataView, ctx_off: u32, arena_base: u32, sorter_id: u32): i32;
299
+ /**
300
+ * @export_c
301
+ */
302
+ export declare function vm_sorter_next_raw(view: DataView, ctx_off: u32, sorter_id: u32, jump_target: u32, instr_pc: u32): i32;
303
+ /**
304
+ * @export_c
305
+ */
306
+ export declare function vm_hash_group_keys(view: DataView, keys_base_off: u32, num_keys: u32): u32;
307
+ /**
308
+ * @export_c
309
+ */
310
+ export declare function vm_group_key_slots_match(view: DataView, keys_a_base: u32, keys_b_base: u32, num_keys: u32): i32;
311
+ /**
312
+ * @export_c
313
+ * Allocates a 1320-byte group bucket in the physical arena:
314
+ * +0: hash (u32), +4: num_keys (u32), +8: count (u32), +12: has_val (u32),
315
+ * +16: sum (f64), +24: min_val (f64), +32: max_val (f64),
316
+ * +40..295: keys[8] (8 * 32B),
317
+ * +296..1319: slots[32] (32 * 32B).
318
+ */
319
+ export declare function vm_alloc_agg_bucket(view: DataView, ctx_off: u32, arena_base: u32, hash: u32, num_keys: u32, src_keys_base: u32): u32;
320
+ /**
321
+ * @export_c
122
322
  */
323
+ export declare function vm_agg_init_raw(view: DataView, ctx_off: u32, arena_base: u32, agg_id: u32, start_key_reg: u32, num_keys: u32, mode: u32): i32;
324
+ /**
325
+ * @export_c
326
+ */
327
+ export declare function vm_agg_step_raw(view: DataView, ctx_off: u32, arena_base: u32, agg_id: u32, start_key_reg: u32, num_keys: u32, val_reg: u32, raw_func_id: u32): i32;
328
+ /**
329
+ * @export_c
330
+ */
331
+ export declare function vm_agg_next_raw(view: DataView, ctx_off: u32, agg_id: u32, out_key_reg: u32, out_acc_reg: u32, jump_target: u32): i32;
332
+ /**
333
+ * @export_c
334
+ */
335
+ export declare function vm_agg_final_raw(view: DataView, ctx_off: u32, sum_reg: u32, count_reg: u32, out_reg: u32, raw_func_id: u32): i32;
336
+ /**
337
+ * @export_c
338
+ */
339
+ export declare function fnv1a_32_bytes(data: Uint8Array, len: u32): u32;
340
+ /**
341
+ * @export_c
342
+ */
343
+ export declare function sql_like_match_raw(str: string, str_len: u32, pattern: string, pat_len: u32): i32;
344
+ export interface Compare3VLResult {
345
+ result: i32;
346
+ is_unknown: i32;
347
+ }
348
+ /**
349
+ * @export_c
350
+ */
351
+ export declare function compare_3vl_int64(a: i64, a_null: i32, b: i64, b_null: i32): Compare3VLResult;
352
+ /**
353
+ * @export_c
354
+ */
355
+ export declare function compare_3vl_float64(a: f64, a_null: i32, b: f64, b_null: i32): Compare3VLResult;
356
+ /**
357
+ * @export_c
358
+ */
359
+ export declare function compare_3vl_bytes(a: Uint8Array, a_len: u32, a_null: i32, b: Uint8Array, b_len: u32, b_null: i32): Compare3VLResult;
360
+ export declare function get_cursor(ctx: VmContext, cursor_idx: number): VmCursor;
361
+ export declare function resolve_page_offset(view: DataView, page_id: number): number;
362
+ export declare function compare_3vl(val_a: any, val_b: any): {
363
+ result: number;
364
+ is_unknown: boolean;
365
+ };
366
+ export declare function sql_like_match(str: string, pattern: string): boolean;
367
+ export declare function compare_sorter_keys(keys_a: any[], keys_b: any[], key_info: VmKeyInfo): number;
368
+ export declare function compare_registers_to_sorter_keys(registers: any[], start_reg: number, keys_b: any[], key_info: VmKeyInfo): number;
369
+ export declare function fnv1a_32(values: any[]): number;
370
+ export declare function group_keys_match(keys_a: any[], keys_b: any[]): boolean;
371
+ export declare function create_agg_buckets(capacity: number): VmAggBucket[];
372
+ export declare function sort_sorter_entries(sorter: VmSorter): void;
373
+ export declare function sorter_insert_row(ctx: VmContext, sorter: VmSorter, keys: any[], cursor_row_offset: number, row_len: number, view: DataView, _max_k: number): VmStatus;
374
+ export declare function serialize_result_registers(ctx: VmContext, start_reg: number, num_cols: number): Uint8Array;
375
+ export declare function emit_to_result_buffer(ctx: VmContext, view: DataView, row_bytes: Uint8Array, instr_pc: number): VmStatus;
376
+ export declare function row_is_null(view: DataView, null_bitmap_offset: number, col_idx: number): boolean;
123
377
  export declare function compute_fixed_column_offset(view: DataView, null_bitmap_offset: number, null_bitmap_bytes: number, columns: ColumnMeta[], target_col_idx: number): number;
124
378
  //# sourceMappingURL=vm.helpers.c.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm.helpers.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/vm.helpers.c.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm.helpers.c.d.ts","sourceRoot":"","sources":["../../../src/core/js/vm.helpers.c.ts"],"names":[],"mappings":"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"}