@visorcraft/mongreldb-kit 0.11.0 → 0.14.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.
package/dist/db.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Table as ArrowTable } from 'apache-arrow';
2
- import type { Database as NativeDatabase, Transaction } from '@visorcraft/mongreldb/native.js';
2
+ import type { Database as NativeDatabase, Transaction, ConditionSpec, PutResult, RowJs, TypedColumn } from '@visorcraft/mongreldb/native.js';
3
3
  import { Schema } from './schema.js';
4
4
  import { type ProcedureCallOptions, type ProcedureCallResult, type ProcedureSpec } from './procedure.js';
5
5
  import { type TriggerSpec } from './trigger.js';
@@ -75,6 +75,18 @@ export declare function runSyncTxn(kit: KitDatabase, fn: (txn: Transaction) => v
75
75
  maxRetries?: number;
76
76
  baseDelayMs?: number;
77
77
  }): void;
78
+ /**
79
+ * Async twin of {@link runSyncTxn}: run `fn` inside a fresh transaction,
80
+ * committing via the native `Transaction.commitAsync()` (off the Node event
81
+ * loop) and retrying bounded-exponentially on retryable conflicts. `fn` may
82
+ * itself be async; the staged writes are committed atomically after it
83
+ * resolves. Exported so query builders and `KitDatabase` methods can share one
84
+ * implementation.
85
+ */
86
+ export declare function runTxn(kit: KitDatabase, fn: (txn: Transaction) => Promise<void> | void, opts?: {
87
+ maxRetries?: number;
88
+ baseDelayMs?: number;
89
+ }): Promise<void>;
78
90
  export declare class KitDatabase {
79
91
  private readonly db;
80
92
  readonly schema: Schema;
@@ -129,8 +141,41 @@ export declare class KitDatabase {
129
141
  /** Compact a single table by name. Returns `true` if compacted, `false`
130
142
  * if skipped (fewer than two runs). */
131
143
  compactTable(table: string): boolean;
144
+ /** Rebuild statistics/metadata for every table's indexes (the engine's
145
+ * `ANALYZE` equivalent). Routes through the SQL surface for parity with the
146
+ * engine's own definition. Safe to run at any time; useful after bulk loads
147
+ * so the query planner and learned indexes have fresh data. */
148
+ analyze(): Promise<void>;
149
+ /** Reclaim space across all tables (the engine's `VACUUM` equivalent:
150
+ * compact every sorted run, then gc). Routes through the SQL surface for
151
+ * parity with the engine's own definition. Safe to run at any time. */
152
+ vacuum(): Promise<void>;
132
153
  /** The current visible commit epoch (monotonically increasing version). */
133
154
  snapshotEpoch(): bigint;
155
+ /**
156
+ * Async twin of {@link flush}. Yields a microtask between table flushes; the
157
+ * underlying engine `flush` is synchronous (the addon ships no
158
+ * `flushAsync` on `Database`), so each call still blocks — but the await
159
+ * points let other pending microtasks run.
160
+ */
161
+ flushAsync(): Promise<void>;
162
+ /**
163
+ * Async twin of {@link compactAll}. **Caveat:** the addon has no native
164
+ * `compactAllAsync`, so this wraps the sync call in a `Promise` — it
165
+ * matches the async signature but the underlying compaction still blocks
166
+ * the event loop. Use it for signature parity in async maintenance loops.
167
+ */
168
+ compactAllAsync(): Promise<{
169
+ compacted: number;
170
+ skipped: number;
171
+ }>;
172
+ /**
173
+ * Async twin of {@link compactTable}. Same caveat as
174
+ * {@link compactAllAsync}: no native async variant; the call blocks.
175
+ */
176
+ compactTableAsync(table: string): Promise<boolean>;
177
+ /** Async twin of {@link snapshotEpoch}. Resolves immediately. */
178
+ snapshotEpochAsync(): Promise<bigint>;
134
179
  /** Export every visible row of `table` as a TSV document. */
135
180
  exportTsv(table: string): string;
136
181
  /** Read every row of `table` visible at commit `epoch` (MVCC time-travel). */
@@ -142,6 +187,12 @@ export declare class KitDatabase {
142
187
  * `null` when the reservoir is empty. `column` is required for `sum`/`avg`.
143
188
  */
144
189
  approxAggregate(table: string, agg: 'count' | 'sum' | 'avg', column?: string, z?: number): ApproxAggregate | null;
190
+ /**
191
+ * Async twin of {@link approxAggregate}. **Caveat:** the addon has no native
192
+ * `approxAggregateAsync`, so this wraps the sync call in a `Promise` — the
193
+ * underlying reservoir read still blocks the event loop.
194
+ */
195
+ approxAggregateAsync(table: string, agg: 'count' | 'sum' | 'avg', column?: string, z?: number): Promise<ApproxAggregate | null>;
145
196
  /**
146
197
  * Stream `table` in batches of at most `batchSize` rows, invoking `cb` once
147
198
  * per batch. Implemented with `limit`/`offset` pagination, so memory stays
@@ -161,6 +212,49 @@ export declare class KitDatabase {
161
212
  row: Record<string, unknown>;
162
213
  similarity: number;
163
214
  }[];
215
+ /**
216
+ * Async twin of {@link setSimilarity}. The MinHash candidate fetch runs via
217
+ * the native `queryAsync` (genuinely off the event loop via
218
+ * `spawn_blocking`); the exact Jaccard re-scoring runs in JS. Falls back to
219
+ * a sync `selectFrom().executeSync()` scan when there's no MinHash index.
220
+ */
221
+ setSimilarityAsync(table: string, column: string, query: string[], k: number): Promise<{
222
+ row: Record<string, unknown>;
223
+ similarity: number;
224
+ }[]>;
225
+ /** Async put of one row (`cells` = `{ columnId, int64|float64|text|... }[]`)
226
+ * via the native `putAsync`. Returns the row id and any auto-increment
227
+ * value. Bypasses Kit constraints. */
228
+ putAsync(table: string, cells: RowJs['cells']): Promise<PutResult>;
229
+ /** Async point-read by row id via the native `getAsync`. */
230
+ getAsync(table: string, rowId: bigint): Promise<RowJs | null>;
231
+ /** Async condition query via the native `queryAsync` — returns raw
232
+ * `RowJs[]` (row id + typed cells). Build conditions with the `ConditionKind`
233
+ * constants; the kit's `Predicate`/`compilePredicate` produces these too. */
234
+ queryAsync(table: string, conditions: ConditionSpec[]): Promise<RowJs[]>;
235
+ /** Async count of all rows in `table` via the native `countAsync`. */
236
+ countAsync(table: string): Promise<bigint>;
237
+ /** Async count of rows matching `conditions` via the native
238
+ * `countWhereAsync`. */
239
+ countWhereAsync(table: string, conditions: ConditionSpec[]): Promise<bigint>;
240
+ /** Async condition query returning Arrow IPC bytes (zero-copy columnar) via
241
+ * the native `queryArrowAsync`. Decode with `apache-arrow`'s
242
+ * `tableFromIPC`. */
243
+ queryArrowAsync(table: string, conditions: ConditionSpec[]): Promise<Buffer>;
244
+ /**
245
+ * Fastest ingest path: bulk-load typed columns (`Int64`/`Float64`/`Bool` only)
246
+ * in one shot, bypassing the per-cell `Value` enum. **Commits internally**
247
+ * and returns the commit epoch — not transactional, cannot be staged into a
248
+ * `Transaction`. `Bytes`/`Embedding`/text columns are not supported here
249
+ * (use {@link InsertManyBuilder} / `putBatch` for those). Bypasses Kit
250
+ * constraints (defaults, unique guards, FK checks).
251
+ *
252
+ * Each `TypedColumn` carries a contiguous little-endian `data` buffer
253
+ * (`Int64` = N×8 bytes, `Float64` = N×8 bytes, `Bool` = N bytes) plus an
254
+ * optional `validity` bitmap (1 byte per row, `1`=non-null). All columns
255
+ * must have the same row count.
256
+ */
257
+ bulkLoadTyped(table: string, columns: TypedColumn[]): bigint;
164
258
  /** Import a TSV document into `table`; returns the number of rows inserted. */
165
259
  importTsv(table: string, text: string): number;
166
260
  /**
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/db.js CHANGED
@@ -72,7 +72,9 @@ function toMongrelSchema(table) {
72
72
  ? 3 /* addon.IndexKindSpec.Sparse */
73
73
  : idx.kind === 'minhash'
74
74
  ? 4 /* addon.IndexKindSpec.MinHash */
75
- : 0 /* addon.IndexKindSpec.Bitmap */
75
+ : idx.kind === 'learned_range'
76
+ ? 5 /* addon.IndexKindSpec.LearnedRange */
77
+ : 0 /* addon.IndexKindSpec.Bitmap */
76
78
  };
77
79
  }));
78
80
  const indexedColumns = new Set(table.indexes.flatMap((idx) => idx.columns));
@@ -173,6 +175,45 @@ export function runSyncTxn(kit, fn, opts = {}) {
173
175
  }
174
176
  throw lastErr;
175
177
  }
178
+ /**
179
+ * Async twin of {@link runSyncTxn}: run `fn` inside a fresh transaction,
180
+ * committing via the native `Transaction.commitAsync()` (off the Node event
181
+ * loop) and retrying bounded-exponentially on retryable conflicts. `fn` may
182
+ * itself be async; the staged writes are committed atomically after it
183
+ * resolves. Exported so query builders and `KitDatabase` methods can share one
184
+ * implementation.
185
+ */
186
+ export async function runTxn(kit, fn, opts = {}) {
187
+ const maxRetries = opts.maxRetries ?? 5;
188
+ const baseDelayMs = opts.baseDelayMs ?? 1;
189
+ let lastErr;
190
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
191
+ const txn = kit.begin();
192
+ try {
193
+ await fn(txn);
194
+ await txn.commitAsync();
195
+ return;
196
+ }
197
+ catch (err) {
198
+ try {
199
+ txn.rollback();
200
+ }
201
+ catch {
202
+ // ignore rollback errors
203
+ }
204
+ lastErr = err;
205
+ if (attempt < maxRetries && isRetryableConflict(err)) {
206
+ const delay = baseDelayMs * (attempt + 1);
207
+ if (delay > 0) {
208
+ await new Promise((resolve) => setTimeout(resolve, delay));
209
+ }
210
+ continue;
211
+ }
212
+ throw err;
213
+ }
214
+ }
215
+ throw lastErr;
216
+ }
176
217
  export class KitDatabase {
177
218
  db;
178
219
  schema;
@@ -377,10 +418,54 @@ export class KitDatabase {
377
418
  compactTable(table) {
378
419
  return this.db.compactTable(table);
379
420
  }
421
+ /** Rebuild statistics/metadata for every table's indexes (the engine's
422
+ * `ANALYZE` equivalent). Routes through the SQL surface for parity with the
423
+ * engine's own definition. Safe to run at any time; useful after bulk loads
424
+ * so the query planner and learned indexes have fresh data. */
425
+ async analyze() {
426
+ await this.sql('ANALYZE');
427
+ }
428
+ /** Reclaim space across all tables (the engine's `VACUUM` equivalent:
429
+ * compact every sorted run, then gc). Routes through the SQL surface for
430
+ * parity with the engine's own definition. Safe to run at any time. */
431
+ async vacuum() {
432
+ await this.sql('VACUUM');
433
+ }
380
434
  /** The current visible commit epoch (monotonically increasing version). */
381
435
  snapshotEpoch() {
382
436
  return this.db.snapshotEpoch();
383
437
  }
438
+ /**
439
+ * Async twin of {@link flush}. Yields a microtask between table flushes; the
440
+ * underlying engine `flush` is synchronous (the addon ships no
441
+ * `flushAsync` on `Database`), so each call still blocks — but the await
442
+ * points let other pending microtasks run.
443
+ */
444
+ async flushAsync() {
445
+ for (const name of this.db.tableNames()) {
446
+ await this.db.table(name).flushAsync();
447
+ }
448
+ }
449
+ /**
450
+ * Async twin of {@link compactAll}. **Caveat:** the addon has no native
451
+ * `compactAllAsync`, so this wraps the sync call in a `Promise` — it
452
+ * matches the async signature but the underlying compaction still blocks
453
+ * the event loop. Use it for signature parity in async maintenance loops.
454
+ */
455
+ async compactAllAsync() {
456
+ return Promise.resolve(this.db.compactAll());
457
+ }
458
+ /**
459
+ * Async twin of {@link compactTable}. Same caveat as
460
+ * {@link compactAllAsync}: no native async variant; the call blocks.
461
+ */
462
+ async compactTableAsync(table) {
463
+ return Promise.resolve(this.db.compactTable(table));
464
+ }
465
+ /** Async twin of {@link snapshotEpoch}. Resolves immediately. */
466
+ async snapshotEpochAsync() {
467
+ return Promise.resolve(this.db.snapshotEpoch());
468
+ }
384
469
  /** Export every visible row of `table` as a TSV document. */
385
470
  exportTsv(table) {
386
471
  const spec = this.schema.table(table);
@@ -416,6 +501,14 @@ export class KitDatabase {
416
501
  const raw = this.db.table(table).approxAggregate(agg, columnId, z);
417
502
  return raw === null ? null : JSON.parse(raw);
418
503
  }
504
+ /**
505
+ * Async twin of {@link approxAggregate}. **Caveat:** the addon has no native
506
+ * `approxAggregateAsync`, so this wraps the sync call in a `Promise` — the
507
+ * underlying reservoir read still blocks the event loop.
508
+ */
509
+ async approxAggregateAsync(table, agg, column, z = 1.96) {
510
+ return Promise.resolve(this.approxAggregate(table, agg, column, z));
511
+ }
419
512
  /**
420
513
  * Stream `table` in batches of at most `batchSize` rows, invoking `cb` once
421
514
  * per batch. Implemented with `limit`/`offset` pagination, so memory stays
@@ -489,6 +582,105 @@ export class KitDatabase {
489
582
  scored.sort((a, b) => b.similarity - a.similarity);
490
583
  return scored.slice(0, Math.max(0, k));
491
584
  }
585
+ /**
586
+ * Async twin of {@link setSimilarity}. The MinHash candidate fetch runs via
587
+ * the native `queryAsync` (genuinely off the event loop via
588
+ * `spawn_blocking`); the exact Jaccard re-scoring runs in JS. Falls back to
589
+ * a sync `selectFrom().executeSync()` scan when there's no MinHash index.
590
+ */
591
+ async setSimilarityAsync(table, column, query, k) {
592
+ const spec = this.schema.table(table);
593
+ const col = spec.columns.find((c) => c.name === column);
594
+ if (!col) {
595
+ throw new KitError(`unknown column '${column}' on table '${table}'`);
596
+ }
597
+ const q = new Set(query);
598
+ const hasMinhash = (spec.indexes ?? []).some((idx) => idx.kind === 'minhash' && idx.columns.includes(column));
599
+ let rows;
600
+ if (hasMinhash) {
601
+ const candidateBudget = Math.max(k * 8, k + 64);
602
+ const cond = {
603
+ kind: 12 /* addon.ConditionKind.MinHashSimilar */,
604
+ columnId: col.id,
605
+ values: query,
606
+ k: candidateBudget
607
+ };
608
+ const rj = await this.db.table(table).queryAsync([cond]);
609
+ rows = rj.map((r) => rowFromRowJs(spec, r));
610
+ }
611
+ else {
612
+ rows = this.selectFrom(spec).executeSync();
613
+ }
614
+ const scored = [];
615
+ for (const row of rows) {
616
+ const set = parseStringSet(row[column]);
617
+ let inter = 0;
618
+ for (const x of set)
619
+ if (q.has(x))
620
+ inter++;
621
+ const union = set.size + q.size - inter;
622
+ const sim = union === 0 ? 0 : inter / union;
623
+ if (sim > 0)
624
+ scored.push({ row, similarity: sim });
625
+ }
626
+ scored.sort((a, b) => b.similarity - a.similarity);
627
+ return scored.slice(0, Math.max(0, k));
628
+ }
629
+ // ── native async TableHandle wrappers ───────────────────────────────────
630
+ //
631
+ // These wrap the addon's `spawn_blocking` async variants so hot read/write
632
+ // paths don't block the Node event loop. The sync counterparts are reached
633
+ // via `kit.nativeDb.table(name)`; these are the typed Kit-level async
634
+ // surface. All bypass Kit-level constraint enforcement (defaults, unique
635
+ // guards, FK checks) — use the transactional `insert*`/`update*`/`delete*`
636
+ // builders for constrained writes, and these for raw, high-throughput I/O.
637
+ /** Async put of one row (`cells` = `{ columnId, int64|float64|text|... }[]`)
638
+ * via the native `putAsync`. Returns the row id and any auto-increment
639
+ * value. Bypasses Kit constraints. */
640
+ putAsync(table, cells) {
641
+ return this.db.table(table).putAsync(cells);
642
+ }
643
+ /** Async point-read by row id via the native `getAsync`. */
644
+ getAsync(table, rowId) {
645
+ return this.db.table(table).getAsync(rowId);
646
+ }
647
+ /** Async condition query via the native `queryAsync` — returns raw
648
+ * `RowJs[]` (row id + typed cells). Build conditions with the `ConditionKind`
649
+ * constants; the kit's `Predicate`/`compilePredicate` produces these too. */
650
+ queryAsync(table, conditions) {
651
+ return this.db.table(table).queryAsync(conditions);
652
+ }
653
+ /** Async count of all rows in `table` via the native `countAsync`. */
654
+ countAsync(table) {
655
+ return this.db.table(table).countAsync();
656
+ }
657
+ /** Async count of rows matching `conditions` via the native
658
+ * `countWhereAsync`. */
659
+ countWhereAsync(table, conditions) {
660
+ return this.db.table(table).countWhereAsync(conditions);
661
+ }
662
+ /** Async condition query returning Arrow IPC bytes (zero-copy columnar) via
663
+ * the native `queryArrowAsync`. Decode with `apache-arrow`'s
664
+ * `tableFromIPC`. */
665
+ queryArrowAsync(table, conditions) {
666
+ return this.db.table(table).queryArrowAsync(conditions);
667
+ }
668
+ /**
669
+ * Fastest ingest path: bulk-load typed columns (`Int64`/`Float64`/`Bool` only)
670
+ * in one shot, bypassing the per-cell `Value` enum. **Commits internally**
671
+ * and returns the commit epoch — not transactional, cannot be staged into a
672
+ * `Transaction`. `Bytes`/`Embedding`/text columns are not supported here
673
+ * (use {@link InsertManyBuilder} / `putBatch` for those). Bypasses Kit
674
+ * constraints (defaults, unique guards, FK checks).
675
+ *
676
+ * Each `TypedColumn` carries a contiguous little-endian `data` buffer
677
+ * (`Int64` = N×8 bytes, `Float64` = N×8 bytes, `Bool` = N bytes) plus an
678
+ * optional `validity` bitmap (1 byte per row, `1`=non-null). All columns
679
+ * must have the same row count.
680
+ */
681
+ bulkLoadTyped(table, columns) {
682
+ return this.db.table(table).bulkLoadTyped(columns);
683
+ }
492
684
  /** Import a TSV document into `table`; returns the number of rows inserted. */
493
685
  importTsv(table, text) {
494
686
  const spec = this.schema.table(table);
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,18 @@ export declare function virtualTable(name: string, module: string, args?: string
7
7
  export declare function quoteIdent(name: string): string;
8
8
  export declare function createVirtualTableSql(spec: VirtualTableSpec): string;
9
9
  export declare function dropVirtualTableSql(name: string): string;
10
+ /** A SQL view definition (`CREATE VIEW <name> AS <select>`). Views are
11
+ * session-scoped in the engine (not persisted to the catalog); a view created
12
+ * via a migration lives in the kit's long-lived SQL session. */
13
+ export interface ViewSpec {
14
+ name: string;
15
+ /** The `AS <select>` body — the full `SELECT ...` statement the view
16
+ * resolves to. */
17
+ sql: string;
18
+ }
19
+ export declare function view(name: string, sql: string): ViewSpec;
20
+ /** `CREATE VIEW <name> AS <select>`. The engine overwrites any existing view
21
+ * with the same name, so this is also used for `replaceView`. */
22
+ export declare function createViewSql(spec: ViewSpec): string;
23
+ export declare function dropViewSql(name: string): string;
10
24
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,YAAY,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GACjB,gBAAgB,CAElB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAIpE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,YAAY,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GACjB,gBAAgB,CAElB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAIpE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;gEAEgE;AAChE,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb;sBACkB;IAClB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAExD;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEpD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
package/dist/external.js CHANGED
@@ -12,4 +12,15 @@ export function createVirtualTableSql(spec) {
12
12
  export function dropVirtualTableSql(name) {
13
13
  return `DROP TABLE ${quoteIdent(name)}`;
14
14
  }
15
+ export function view(name, sql) {
16
+ return { name, sql };
17
+ }
18
+ /** `CREATE VIEW <name> AS <select>`. The engine overwrites any existing view
19
+ * with the same name, so this is also used for `replaceView`. */
20
+ export function createViewSql(spec) {
21
+ return `CREATE VIEW ${quoteIdent(spec.name)} AS ${spec.sql}`;
22
+ }
23
+ export function dropViewSql(name) {
24
+ return `DROP VIEW IF EXISTS ${quoteIdent(name)}`;
25
+ }
15
26
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,YAAY,CAC3B,IAAY,EACZ,MAAc,EACd,OAAiB,EAAE;IAEnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,OAAO,cAAc,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,YAAY,CAC3B,IAAY,EACZ,MAAc,EACd,OAAiB,EAAE;IAEnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,OAAO,cAAc,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACzC,CAAC;AAYD,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,GAAW;IAC7C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACtB,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,aAAa,CAAC,IAAc;IAC3C,OAAO,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,OAAO,uBAAuB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,6 @@ export * from './procedure.js';
14
14
  export * from './trigger.js';
15
15
  export * from './external.js';
16
16
  export * from './sql.js';
17
+ export type { ConditionSpec, CommitResultJs, PutResult, RowJs, TypedColumn } from '@visorcraft/mongreldb/native.js';
18
+ export { ColumnType, ConditionKind, IndexKindSpec } from '@visorcraft/mongreldb/native.js';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AAIzB,YAAY,EACX,aAAa,EACb,cAAc,EACd,SAAS,EACT,KAAK,EACL,WAAW,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/migrate.d.ts CHANGED
@@ -4,7 +4,7 @@ import { type Schema } from './schema.js';
4
4
  import type { TableSpec, ColumnSpec, IndexSpec, UniqueSpec, ForeignKeySpec } from './types.js';
5
5
  import { type ProcedureSpec } from './procedure.js';
6
6
  import { type TriggerSpec } from './trigger.js';
7
- import { type VirtualTableSpec } from './external.js';
7
+ import { type ViewSpec, type VirtualTableSpec } from './external.js';
8
8
  /**
9
9
  * A declarative migration operation. Mirrors the Rust
10
10
  * `mongreldb_kit_core::migrations::MigrationOp` enum. These describe *what* a
@@ -90,6 +90,17 @@ export type MigrationOp = {
90
90
  } | {
91
91
  kind: 'dropVirtualTable';
92
92
  name: string;
93
+ } | {
94
+ kind: 'createView';
95
+ name: string;
96
+ view: ViewSpec;
97
+ } | {
98
+ kind: 'replaceView';
99
+ name: string;
100
+ view: ViewSpec;
101
+ } | {
102
+ kind: 'dropView';
103
+ name: string;
93
104
  } | {
94
105
  kind: 'rawSql';
95
106
  sql: string;
@@ -120,6 +131,9 @@ export interface MigrationContext {
120
131
  dropTrigger: (name: string) => Promise<void> | void;
121
132
  createVirtualTable: (table: VirtualTableSpec) => Promise<void> | void;
122
133
  dropVirtualTable: (name: string) => Promise<void> | void;
134
+ createView: (view: ViewSpec) => Promise<void> | void;
135
+ replaceView: (view: ViewSpec) => Promise<void> | void;
136
+ dropView: (name: string) => Promise<void> | void;
123
137
  sql: (sql: string) => Promise<unknown[]> | unknown[];
124
138
  }
125
139
  /**
@@ -139,6 +153,13 @@ export declare function migrate(kit: KitDatabase, schema: Schema, migrations: Mi
139
153
  export declare function createTable(kit: KitDatabase, table: TableSpec): Promise<void>;
140
154
  export declare function createVirtualTable(kit: KitDatabase, table: VirtualTableSpec): Promise<void>;
141
155
  export declare function dropVirtualTable(kit: KitDatabase, name: string): Promise<void>;
156
+ /** Create (or replace — the engine overwrites) a SQL view. Async-only: runs
157
+ * `CREATE VIEW` through the kit's SQL surface. */
158
+ export declare function createView(kit: KitDatabase, v: ViewSpec): Promise<void>;
159
+ /** Replace a SQL view (re-issues `CREATE VIEW`; the engine overwrites). */
160
+ export declare function replaceView(kit: KitDatabase, v: ViewSpec): Promise<void>;
161
+ /** Drop a SQL view by name. Idempotent (`DROP VIEW IF EXISTS`). */
162
+ export declare function dropView(kit: KitDatabase, name: string): Promise<void>;
142
163
  /**
143
164
  * Drop `tableName` and remove every unique-key and row guard it owned. The
144
165
  * application row data and its guards are gone after this; the schema catalog is
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}