@ahmadmoussawi/webdb 0.0.0-stage → 0.1.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 (106) hide show
  1. package/README.md +386 -2
  2. package/dist/constants.d.ts +18 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/core/index.d.ts +15 -0
  5. package/dist/core/index.d.ts.map +1 -0
  6. package/dist/core/js/buffer_pool.c.d.ts +142 -0
  7. package/dist/core/js/buffer_pool.c.d.ts.map +1 -0
  8. package/dist/core/js/catalog.c.d.ts +186 -0
  9. package/dist/core/js/catalog.c.d.ts.map +1 -0
  10. package/dist/core/js/codecs.c.d.ts +32 -0
  11. package/dist/core/js/codecs.c.d.ts.map +1 -0
  12. package/dist/core/js/index.d.ts +7 -0
  13. package/dist/core/js/index.d.ts.map +1 -0
  14. package/dist/core/js/page.c.d.ts +229 -0
  15. package/dist/core/js/page.c.d.ts.map +1 -0
  16. package/dist/core/js/page_table.c.d.ts +48 -0
  17. package/dist/core/js/page_table.c.d.ts.map +1 -0
  18. package/dist/core/js/vm.c.d.ts +11 -0
  19. package/dist/core/js/vm.c.d.ts.map +1 -0
  20. package/dist/core/js/vm.helpers.c.d.ts +124 -0
  21. package/dist/core/js/vm.helpers.c.d.ts.map +1 -0
  22. package/dist/core/types.d.ts +26 -0
  23. package/dist/core/types.d.ts.map +1 -0
  24. package/dist/core/wasm/embedded_wasm.d.ts +7 -0
  25. package/dist/core/wasm/embedded_wasm.d.ts.map +1 -0
  26. package/dist/core/wasm/wasm_core.d.ts +75 -0
  27. package/dist/core/wasm/wasm_core.d.ts.map +1 -0
  28. package/dist/host/api/index.d.ts +3 -0
  29. package/dist/host/api/index.d.ts.map +1 -0
  30. package/dist/host/api/query_builder.d.ts +216 -0
  31. package/dist/host/api/query_builder.d.ts.map +1 -0
  32. package/dist/host/api/webdb.d.ts +172 -0
  33. package/dist/host/api/webdb.d.ts.map +1 -0
  34. package/dist/host/compiler/compiler.d.ts +151 -0
  35. package/dist/host/compiler/compiler.d.ts.map +1 -0
  36. package/dist/host/compiler/expr_parser.d.ts +87 -0
  37. package/dist/host/compiler/expr_parser.d.ts.map +1 -0
  38. package/dist/host/compiler/index.d.ts +4 -0
  39. package/dist/host/compiler/index.d.ts.map +1 -0
  40. package/dist/host/compiler/planner/cost.d.ts +23 -0
  41. package/dist/host/compiler/planner/cost.d.ts.map +1 -0
  42. package/dist/host/compiler/planner/custom_order.d.ts +16 -0
  43. package/dist/host/compiler/planner/custom_order.d.ts.map +1 -0
  44. package/dist/host/compiler/planner/heuristic.d.ts +11 -0
  45. package/dist/host/compiler/planner/heuristic.d.ts.map +1 -0
  46. package/dist/host/compiler/planner/index.d.ts +34 -0
  47. package/dist/host/compiler/planner/index.d.ts.map +1 -0
  48. package/dist/host/compiler/planner/noop.d.ts +11 -0
  49. package/dist/host/compiler/planner/noop.d.ts.map +1 -0
  50. package/dist/host/compiler/planner/types.d.ts +100 -0
  51. package/dist/host/compiler/planner/types.d.ts.map +1 -0
  52. package/dist/host/compiler/planner/where_optimizer.d.ts +30 -0
  53. package/dist/host/compiler/planner/where_optimizer.d.ts.map +1 -0
  54. package/dist/host/compiler/planner.d.ts +2 -0
  55. package/dist/host/compiler/planner.d.ts.map +1 -0
  56. package/dist/host/driver/buffer_pool_driver.d.ts +94 -0
  57. package/dist/host/driver/buffer_pool_driver.d.ts.map +1 -0
  58. package/dist/host/driver/crash_recovery.d.ts +24 -0
  59. package/dist/host/driver/crash_recovery.d.ts.map +1 -0
  60. package/dist/host/driver/index.d.ts +4 -0
  61. package/dist/host/driver/index.d.ts.map +1 -0
  62. package/dist/host/driver/transaction_coordinator.d.ts +166 -0
  63. package/dist/host/driver/transaction_coordinator.d.ts.map +1 -0
  64. package/dist/host/storage/crc32.d.ts +24 -0
  65. package/dist/host/storage/crc32.d.ts.map +1 -0
  66. package/dist/host/storage/idb.d.ts +27 -0
  67. package/dist/host/storage/idb.d.ts.map +1 -0
  68. package/dist/host/storage/index.d.ts +8 -0
  69. package/dist/host/storage/index.d.ts.map +1 -0
  70. package/dist/host/storage/io.d.ts +60 -0
  71. package/dist/host/storage/io.d.ts.map +1 -0
  72. package/dist/host/storage/memory.d.ts +28 -0
  73. package/dist/host/storage/memory.d.ts.map +1 -0
  74. package/dist/host/storage/opfs.d.ts +31 -0
  75. package/dist/host/storage/opfs.d.ts.map +1 -0
  76. package/dist/host/storage/vfs.d.ts +36 -0
  77. package/dist/host/storage/vfs.d.ts.map +1 -0
  78. package/dist/host/storage/wal_codec.d.ts +56 -0
  79. package/dist/host/storage/wal_codec.d.ts.map +1 -0
  80. package/dist/index.d.ts +9 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/layouts/index.d.ts +5 -0
  83. package/dist/layouts/index.d.ts.map +1 -0
  84. package/dist/layouts/page_format.d.ts +163 -0
  85. package/dist/layouts/page_format.d.ts.map +1 -0
  86. package/dist/layouts/pool_format.d.ts +126 -0
  87. package/dist/layouts/pool_format.d.ts.map +1 -0
  88. package/dist/layouts/syspage_format.d.ts +499 -0
  89. package/dist/layouts/syspage_format.d.ts.map +1 -0
  90. package/dist/layouts/wal_format.d.ts +197 -0
  91. package/dist/layouts/wal_format.d.ts.map +1 -0
  92. package/dist/shared/c_runtime.d.ts +47 -0
  93. package/dist/shared/c_runtime.d.ts.map +1 -0
  94. package/dist/shared/index.d.ts +4 -0
  95. package/dist/shared/index.d.ts.map +1 -0
  96. package/dist/shared/page_provider.d.ts +12 -0
  97. package/dist/shared/page_provider.d.ts.map +1 -0
  98. package/dist/shared/vm_context.d.ts +73 -0
  99. package/dist/shared/vm_context.d.ts.map +1 -0
  100. package/dist/types/index.d.ts +338 -0
  101. package/dist/types/index.d.ts.map +1 -0
  102. package/dist/webdb.js +13059 -0
  103. package/dist/webdb.js.map +1 -0
  104. package/dist/webdb.umd.cjs +5 -0
  105. package/dist/webdb.umd.cjs.map +1 -0
  106. package/package.json +82 -4
@@ -0,0 +1,338 @@
1
+ export declare enum DataType {
2
+ NULL = 0,
3
+ INT32 = 1,
4
+ INT64 = 2,
5
+ FLOAT64 = 3,
6
+ TEXT = 4,
7
+ BLOB = 5,
8
+ UUID = 6,
9
+ ULID = 7
10
+ }
11
+ export declare enum ColumnFlag {
12
+ NONE = 0,
13
+ PRIMARY_KEY = 1,
14
+ NOT_NULL = 2,
15
+ INDEXED = 4,
16
+ AUTO_INC = 8
17
+ }
18
+ export declare enum TableFlag {
19
+ NONE = 0,
20
+ ACTIVE = 1,
21
+ SYSTEM = 2
22
+ }
23
+ export declare enum IndexFlag {
24
+ NONE = 0,
25
+ UNIQUE = 1,
26
+ PRIMARY = 2,
27
+ SPATIAL_VECTOR = 4
28
+ }
29
+ export declare enum OpCode {
30
+ OP_HALT = 0,
31
+ OP_OPEN_CURSOR = 1,
32
+ OP_REWIND = 2,
33
+ OP_NEXT_ROW = 3,
34
+ OP_COLUMN_INT = 4,
35
+ OP_COLUMN_FLOAT = 5,
36
+ OP_COLUMN_TEXT = 6,
37
+ OP_COLUMN_BLOB = 7,
38
+ OP_LAST = 8,
39
+ OP_PREV_ROW = 9,
40
+ OP_COLUMN_UUID = 10,
41
+ OP_COLUMN_ULID = 11,
42
+ OP_OPEN_INDEX = 12,
43
+ OP_INDEX_SEEK_EQ = 13,
44
+ OP_INDEX_SEEK_GE = 14,
45
+ OP_INDEX_NEXT = 15,
46
+ OP_IS_NULL = 16,
47
+ OP_IS_NOT_NULL = 17,
48
+ OP_EQ = 18,
49
+ OP_NE = 19,
50
+ OP_GT = 20,
51
+ OP_GE = 21,
52
+ OP_LT = 22,
53
+ OP_LE = 23,
54
+ OP_JUMP = 24,
55
+ OP_STR_LIKE = 25,
56
+ OP_STR_NOT_LIKE = 26,
57
+ OP_STR_CONTAINS = 27,
58
+ OP_STR_STARTS_WITH = 28,
59
+ OP_STR_ENDS_WITH = 29,
60
+ OP_LOAD_BLOB = 30,
61
+ OP_IN = 31,
62
+ OP_LOAD_INT = 32,
63
+ OP_LOAD_FLOAT = 33,
64
+ OP_LOAD_TEXT = 34,
65
+ OP_LOAD_NULL = 35,
66
+ OP_EMIT_ROW = 36,
67
+ OP_RESULT_ROW = 37,
68
+ OP_OFFSET = 38,
69
+ OP_LIMIT = 39,
70
+ OP_CALL_UDF = 40,
71
+ OP_STR_LOWER = 41,
72
+ OP_STR_UPPER = 42,
73
+ OP_STR_LENGTH = 43,
74
+ OP_STR_SUBSTR = 44,
75
+ OP_STR_TRIM = 45,
76
+ OP_MATH_ABS = 46,
77
+ OP_MATH_ROUND = 47,
78
+ OP_SORTER_OPEN = 48,
79
+ OP_SORTER_INSERT = 49,
80
+ OP_SORTER_SORT = 50,
81
+ OP_SORTER_NEXT = 51,
82
+ OP_MATH_FLOOR = 52,
83
+ OP_MATH_CEIL = 53,
84
+ OP_ADD = 54,
85
+ OP_SUB = 55,
86
+ OP_MUL = 56,
87
+ OP_DIV = 57,
88
+ OP_MOD = 58,
89
+ OP_ENTER_SUBQUERY = 59,
90
+ OP_RETURN_SUBQUERY = 60,
91
+ OP_STR_CONCAT = 61,
92
+ OP_COALESCE = 62,
93
+ OP_COPY = 63,
94
+ OP_AGG_INIT = 64,
95
+ OP_AGG_STEP = 65,
96
+ OP_AGG_NEXT = 66,
97
+ OP_AGG_FINAL = 67,
98
+ OP_REG_IS_NULL = 72,
99
+ OP_REG_IS_NOT_NULL = 73,
100
+ OP_DELETE_ROW = 80,
101
+ OP_UPDATE_FIELD = 81,
102
+ OP_INSERT_ROW = 82
103
+ }
104
+ export declare enum VmStatus {
105
+ RUNNING = 0,
106
+ DONE = 1,
107
+ PAGE_FAULT = 2,
108
+ BUFFER_FULL = 3,
109
+ ERROR = 4,
110
+ TIMEOUT = 5,
111
+ ARENA_EXHAUSTED = 6,
112
+ INVALID_BYTECODE = 7
113
+ }
114
+ export type DataTypeString = 'INT32' | 'INT64' | 'FLOAT64' | 'TEXT' | 'BLOB' | 'UUID' | 'ULID' | 'int32' | 'int64' | 'float64' | 'text' | 'blob' | 'uuid' | 'ulid';
115
+ export interface ColumnDefinition {
116
+ name: string;
117
+ type: DataTypeString | DataType;
118
+ primaryKey?: boolean;
119
+ notNull?: boolean;
120
+ autoInc?: boolean;
121
+ autoIncrement?: boolean;
122
+ indexed?: boolean;
123
+ flags?: {
124
+ primaryKey?: boolean;
125
+ notNull?: boolean;
126
+ autoInc?: boolean;
127
+ autoIncrement?: boolean;
128
+ indexed?: boolean;
129
+ };
130
+ }
131
+ export interface ColumnMeta {
132
+ type: DataType;
133
+ flags: number;
134
+ colOffset: number;
135
+ name: string;
136
+ }
137
+ export interface TableDescriptor {
138
+ tableId: number;
139
+ columnCount: number;
140
+ rootPageId: number;
141
+ colCatalogPageId: number;
142
+ name: string;
143
+ flags: number;
144
+ rowCountEstimate: number;
145
+ autoIncNext: bigint;
146
+ }
147
+ export interface IndexDescriptor {
148
+ indexId: number;
149
+ tableId: number;
150
+ rootPageId: number;
151
+ columnCount: number;
152
+ flags: number;
153
+ columnIndices: number[];
154
+ colDirections: number[];
155
+ name: string;
156
+ }
157
+ export interface CatalogPageHeader {
158
+ pageType: number;
159
+ flags: number;
160
+ colCountInPage: number;
161
+ tableId: number;
162
+ startColIndex: number;
163
+ nextColCatalogPageId: number;
164
+ pageChecksum: number;
165
+ }
166
+ export type JoinType = 'inner' | 'left';
167
+ export interface TableMeta {
168
+ tableId: number;
169
+ columnCount: number;
170
+ rootPageId: number;
171
+ colCatalogPageId: number;
172
+ name: string;
173
+ flags: number;
174
+ rowCountEstimate: number;
175
+ autoIncNext: bigint;
176
+ columns: ColumnMeta[];
177
+ primaryKey?: string[];
178
+ indexes?: IndexDescriptor[];
179
+ schemaVersion?: number;
180
+ }
181
+ export type TableColumnMeta = ColumnMeta;
182
+ export type DbValue = number | bigint | string | Uint8Array | null;
183
+ export type DbRow = Record<string, DbValue>;
184
+ export declare class RowSizeLimitExceededError extends Error {
185
+ constructor(size: number, limit?: number);
186
+ }
187
+ export declare class NotNullConstraintError extends Error {
188
+ constructor(columnName: string, tableName?: string);
189
+ }
190
+ export interface IndexOptions {
191
+ unique?: boolean;
192
+ name?: string;
193
+ }
194
+ export interface TransactionOptions {
195
+ origin?: 'local' | 'remote' | string;
196
+ meta?: Record<string, any>;
197
+ }
198
+ export interface UpsertOptions extends TransactionOptions {
199
+ conflictTarget?: string | string[];
200
+ mode?: 'merge' | 'replace' | 'ignore';
201
+ where?: (existingRow: DbRow, incomingRow: DbRow) => boolean;
202
+ }
203
+ export interface MutationRecord {
204
+ table: string;
205
+ op: 'insert' | 'update' | 'delete';
206
+ pk: DbValue | DbValue[] | Record<string, DbValue>;
207
+ oldRow?: DbRow;
208
+ newRow?: DbRow;
209
+ changedColumns?: string[];
210
+ }
211
+ export interface Changeset {
212
+ txId: number;
213
+ origin: string;
214
+ meta?: Record<string, any>;
215
+ changeCounter: number;
216
+ schemaVersion: number;
217
+ tables: string[];
218
+ changes: MutationRecord[];
219
+ coalesced(): MutationRecord[];
220
+ }
221
+ export interface TableChangeEvent {
222
+ tables: string[];
223
+ origin: string;
224
+ meta?: Record<string, any>;
225
+ changeCounter: number;
226
+ schemaVersion: number;
227
+ crossTab: boolean;
228
+ changeset?: Changeset;
229
+ }
230
+ export interface SyncState {
231
+ changeCounter: number;
232
+ schemaVersion: number;
233
+ }
234
+ export type BeforeCommitHook = (changeset: Changeset, tx: any) => Promise<void> | void;
235
+ export type CommitHook = (changeset: Changeset) => void;
236
+ export type TableSubscriptionCallback = (event: TableChangeEvent) => void;
237
+ export type AlterTableOperation = {
238
+ type: 'renameTable';
239
+ newName: string;
240
+ } | {
241
+ type: 'renameColumn';
242
+ from: string;
243
+ to: string;
244
+ } | {
245
+ type: 'addColumn';
246
+ column: ColumnDefinition;
247
+ defaultValue?: DbValue;
248
+ } | {
249
+ type: 'dropColumn';
250
+ column: string;
251
+ };
252
+ export declare class IdentifierTooLongError extends Error {
253
+ constructor(identifier: string, limit?: number);
254
+ }
255
+ export declare class ColumnAlreadyExistsError extends Error {
256
+ constructor(columnName: string, tableName?: string);
257
+ }
258
+ export declare class CannotDropColumnError extends Error {
259
+ constructor(message: string);
260
+ }
261
+ export declare class ColumnNotFoundError extends Error {
262
+ constructor(columnName: string, tableName?: string);
263
+ }
264
+ export declare class TableNotFoundError extends Error {
265
+ constructor(tableName: string);
266
+ }
267
+ export declare class TableAlreadyExistsError extends Error {
268
+ constructor(tableName: string);
269
+ }
270
+ export declare class IndexNotFoundError extends Error {
271
+ constructor(indexName: string);
272
+ }
273
+ export declare class IndexAlreadyExistsError extends Error {
274
+ constructor(indexName: string);
275
+ }
276
+ export declare class UniqueConstraintViolationError extends Error {
277
+ constructor(message: string);
278
+ }
279
+ export declare class CorruptPageError extends Error {
280
+ pageId: number;
281
+ storedChecksum: number | string;
282
+ computedChecksum?: number | string | undefined;
283
+ constructor(pageId: number, storedChecksum: number | string, computedChecksum?: number | string | undefined);
284
+ }
285
+ export declare class TooManyColumnsError extends Error {
286
+ constructor(columnCount: number, limit?: number);
287
+ }
288
+ export declare class TooManyTablesError extends Error {
289
+ constructor(tableCount: number, limit?: number);
290
+ }
291
+ export declare class TooManyIndexesError extends Error {
292
+ constructor(indexCount: number, limit?: number);
293
+ }
294
+ export declare class UnsupportedFormatVersionError extends Error {
295
+ constructor(message: string);
296
+ }
297
+ export declare class InvalidDatabaseError extends Error {
298
+ constructor(message: string);
299
+ }
300
+ export declare class QueryArenaExhaustedError extends Error {
301
+ constructor(message?: string);
302
+ }
303
+ export declare class TooManyCursorsError extends Error {
304
+ constructor(cursorCount: number, limit?: number);
305
+ }
306
+ export declare class TooManyRegistersError extends Error {
307
+ constructor(registerCount: number, limit?: number);
308
+ }
309
+ export declare class SubqueryNestingTooDeepError extends Error {
310
+ constructor(depth: number, limit?: number);
311
+ }
312
+ export declare class QueryTimeoutError extends Error {
313
+ constructor(message?: string);
314
+ }
315
+ export declare class InvalidBytecodeError extends Error {
316
+ constructor(message?: string);
317
+ }
318
+ export declare class TooManyOrderByColumnsError extends Error {
319
+ constructor(count: number, limit?: number);
320
+ }
321
+ export declare class TooManyGroupByColumnsError extends Error {
322
+ constructor(count: number, limit?: number);
323
+ }
324
+ export declare class UnknownFunctionError extends Error {
325
+ constructor(funcName: string);
326
+ }
327
+ export declare class AggregateNotAllowedInWhereError extends Error {
328
+ constructor(funcName: string);
329
+ }
330
+ export declare class CorruptWalHeaderError extends Error {
331
+ constructor(message?: string);
332
+ }
333
+ export declare class CorruptWalFrameError extends Error {
334
+ constructor(message?: string);
335
+ }
336
+ export * from '../shared/vm_context.js';
337
+ export * from '../shared/page_provider.js';
338
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}