@minnowdb/core 0.0.1 → 0.1.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/LICENSE +21 -0
- package/README.md +27 -1
- package/dist/block-format/block.d.ts +46 -0
- package/dist/block-format/block.d.ts.map +1 -0
- package/dist/block-format/block.js +244 -0
- package/dist/block-format/block.js.map +1 -0
- package/dist/block-format/checksum.d.ts +7 -0
- package/dist/block-format/checksum.d.ts.map +1 -0
- package/dist/block-format/checksum.js +56 -0
- package/dist/block-format/checksum.js.map +1 -0
- package/dist/block-format/codecs.d.ts +24 -0
- package/dist/block-format/codecs.d.ts.map +1 -0
- package/dist/block-format/codecs.js +102 -0
- package/dist/block-format/codecs.js.map +1 -0
- package/dist/block-format/column.d.ts +8 -0
- package/dist/block-format/column.d.ts.map +1 -0
- package/dist/block-format/column.js +166 -0
- package/dist/block-format/column.js.map +1 -0
- package/dist/block-format/index.d.ts +7 -0
- package/dist/block-format/index.d.ts.map +1 -0
- package/dist/block-format/index.js +7 -0
- package/dist/block-format/index.js.map +1 -0
- package/dist/block-format/physical.d.ts +20 -0
- package/dist/block-format/physical.d.ts.map +1 -0
- package/dist/block-format/physical.js +439 -0
- package/dist/block-format/physical.js.map +1 -0
- package/dist/block-format/types.d.ts +93 -0
- package/dist/block-format/types.d.ts.map +1 -0
- package/dist/block-format/types.js +2 -0
- package/dist/block-format/types.js.map +1 -0
- package/dist/engine/artifact-cache.d.ts +22 -0
- package/dist/engine/artifact-cache.d.ts.map +1 -0
- package/dist/engine/artifact-cache.js +68 -0
- package/dist/engine/artifact-cache.js.map +1 -0
- package/dist/engine/batch.d.ts +28 -0
- package/dist/engine/batch.d.ts.map +1 -0
- package/dist/engine/batch.js +38 -0
- package/dist/engine/batch.js.map +1 -0
- package/dist/engine/buffered-writer.d.ts +43 -0
- package/dist/engine/buffered-writer.d.ts.map +1 -0
- package/dist/engine/buffered-writer.js +158 -0
- package/dist/engine/buffered-writer.js.map +1 -0
- package/dist/engine/catalog.d.ts +82 -0
- package/dist/engine/catalog.d.ts.map +1 -0
- package/dist/engine/catalog.js +47 -0
- package/dist/engine/catalog.js.map +1 -0
- package/dist/engine/client.d.ts +211 -0
- package/dist/engine/client.d.ts.map +1 -0
- package/dist/engine/client.js +538 -0
- package/dist/engine/client.js.map +1 -0
- package/dist/engine/coordinator.d.ts +17 -0
- package/dist/engine/coordinator.d.ts.map +1 -0
- package/dist/engine/coordinator.js +60 -0
- package/dist/engine/coordinator.js.map +1 -0
- package/dist/engine/database.d.ts +661 -0
- package/dist/engine/database.d.ts.map +1 -0
- package/dist/engine/database.js +10313 -0
- package/dist/engine/database.js.map +1 -0
- package/dist/engine/defaults.d.ts +33 -0
- package/dist/engine/defaults.d.ts.map +1 -0
- package/dist/engine/defaults.js +87 -0
- package/dist/engine/defaults.js.map +1 -0
- package/dist/engine/dsl/db.d.ts +137 -0
- package/dist/engine/dsl/db.d.ts.map +1 -0
- package/dist/engine/dsl/db.js +161 -0
- package/dist/engine/dsl/db.js.map +1 -0
- package/dist/engine/dsl/expression.d.ts +172 -0
- package/dist/engine/dsl/expression.d.ts.map +1 -0
- package/dist/engine/dsl/expression.js +397 -0
- package/dist/engine/dsl/expression.js.map +1 -0
- package/dist/engine/dsl/index.d.ts +8 -0
- package/dist/engine/dsl/index.d.ts.map +1 -0
- package/dist/engine/dsl/index.js +7 -0
- package/dist/engine/dsl/index.js.map +1 -0
- package/dist/engine/dsl/live-query.d.ts +45 -0
- package/dist/engine/dsl/live-query.d.ts.map +1 -0
- package/dist/engine/dsl/live-query.js +116 -0
- package/dist/engine/dsl/live-query.js.map +1 -0
- package/dist/engine/dsl/mutations.d.ts +123 -0
- package/dist/engine/dsl/mutations.d.ts.map +1 -0
- package/dist/engine/dsl/mutations.js +241 -0
- package/dist/engine/dsl/mutations.js.map +1 -0
- package/dist/engine/dsl/select-query-builder.d.ts +148 -0
- package/dist/engine/dsl/select-query-builder.d.ts.map +1 -0
- package/dist/engine/dsl/select-query-builder.js +377 -0
- package/dist/engine/dsl/select-query-builder.js.map +1 -0
- package/dist/engine/dsl/sql-tag.d.ts +46 -0
- package/dist/engine/dsl/sql-tag.d.ts.map +1 -0
- package/dist/engine/dsl/sql-tag.js +85 -0
- package/dist/engine/dsl/sql-tag.js.map +1 -0
- package/dist/engine/dsl/types.d.ts +133 -0
- package/dist/engine/dsl/types.d.ts.map +1 -0
- package/dist/engine/dsl/types.js +9 -0
- package/dist/engine/dsl/types.js.map +1 -0
- package/dist/engine/errors.d.ts +55 -0
- package/dist/engine/errors.d.ts.map +1 -0
- package/dist/engine/errors.js +81 -0
- package/dist/engine/errors.js.map +1 -0
- package/dist/engine/fts.d.ts +93 -0
- package/dist/engine/fts.d.ts.map +1 -0
- package/dist/engine/fts.js +273 -0
- package/dist/engine/fts.js.map +1 -0
- package/dist/engine/group-index.d.ts +32 -0
- package/dist/engine/group-index.d.ts.map +1 -0
- package/dist/engine/group-index.js +366 -0
- package/dist/engine/group-index.js.map +1 -0
- package/dist/engine/index.d.ts +13 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +12 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/join-index.d.ts +12 -0
- package/dist/engine/join-index.d.ts.map +1 -0
- package/dist/engine/join-index.js +217 -0
- package/dist/engine/join-index.js.map +1 -0
- package/dist/engine/live.d.ts +86 -0
- package/dist/engine/live.d.ts.map +1 -0
- package/dist/engine/live.js +289 -0
- package/dist/engine/live.js.map +1 -0
- package/dist/engine/memory.d.ts +37 -0
- package/dist/engine/memory.d.ts.map +1 -0
- package/dist/engine/memory.js +119 -0
- package/dist/engine/memory.js.map +1 -0
- package/dist/engine/optimizer.d.ts +20 -0
- package/dist/engine/optimizer.d.ts.map +1 -0
- package/dist/engine/optimizer.js +1170 -0
- package/dist/engine/optimizer.js.map +1 -0
- package/dist/engine/query-cache.d.ts +10 -0
- package/dist/engine/query-cache.d.ts.map +1 -0
- package/dist/engine/query-cache.js +58 -0
- package/dist/engine/query-cache.js.map +1 -0
- package/dist/engine/query.d.ts +844 -0
- package/dist/engine/query.d.ts.map +1 -0
- package/dist/engine/query.js +7450 -0
- package/dist/engine/query.js.map +1 -0
- package/dist/engine/schema-wire.d.ts +92 -0
- package/dist/engine/schema-wire.d.ts.map +1 -0
- package/dist/engine/schema-wire.js +115 -0
- package/dist/engine/schema-wire.js.map +1 -0
- package/dist/engine/schema.d.ts +394 -0
- package/dist/engine/schema.d.ts.map +1 -0
- package/dist/engine/schema.js +709 -0
- package/dist/engine/schema.js.map +1 -0
- package/dist/engine/sort-keys.d.ts +36 -0
- package/dist/engine/sort-keys.d.ts.map +1 -0
- package/dist/engine/sort-keys.js +60 -0
- package/dist/engine/sort-keys.js.map +1 -0
- package/dist/engine/sql-json.d.ts +30 -0
- package/dist/engine/sql-json.d.ts.map +1 -0
- package/dist/engine/sql-json.js +120 -0
- package/dist/engine/sql-json.js.map +1 -0
- package/dist/engine/sql-semantics.d.ts +31 -0
- package/dist/engine/sql-semantics.d.ts.map +1 -0
- package/dist/engine/sql-semantics.js +121 -0
- package/dist/engine/sql-semantics.js.map +1 -0
- package/dist/engine/vector.d.ts +87 -0
- package/dist/engine/vector.d.ts.map +1 -0
- package/dist/engine/vector.js +4227 -0
- package/dist/engine/vector.js.map +1 -0
- package/dist/engine/worker-host.d.ts +48 -0
- package/dist/engine/worker-host.d.ts.map +1 -0
- package/dist/engine/worker-host.js +501 -0
- package/dist/engine/worker-host.js.map +1 -0
- package/dist/engine/worker.d.ts +2 -0
- package/dist/engine/worker.d.ts.map +1 -0
- package/dist/engine/worker.js +14 -0
- package/dist/engine/worker.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/plan/index.d.ts +17 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +17 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/storage/fixture-shape.d.ts +42 -0
- package/dist/storage/fixture-shape.d.ts.map +1 -0
- package/dist/storage/fixture-shape.js +146 -0
- package/dist/storage/fixture-shape.js.map +1 -0
- package/dist/storage/index.d.ts +5 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +5 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/indexeddb.d.ts +139 -0
- package/dist/storage/indexeddb.d.ts.map +1 -0
- package/dist/storage/indexeddb.js +3161 -0
- package/dist/storage/indexeddb.js.map +1 -0
- package/dist/storage/memory.d.ts +121 -0
- package/dist/storage/memory.d.ts.map +1 -0
- package/dist/storage/memory.js +1455 -0
- package/dist/storage/memory.js.map +1 -0
- package/dist/storage/snapshot.d.ts +108 -0
- package/dist/storage/snapshot.d.ts.map +1 -0
- package/dist/storage/snapshot.js +276 -0
- package/dist/storage/snapshot.js.map +1 -0
- package/dist/storage/types.d.ts +895 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +1549 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/testing/index.d.ts +76 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +233 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/seeds.d.ts +11 -0
- package/dist/testing/seeds.d.ts.map +1 -0
- package/dist/testing/seeds.js +50 -0
- package/dist/testing/seeds.js.map +1 -0
- package/dist/transactions/index.d.ts +148 -0
- package/dist/transactions/index.d.ts.map +1 -0
- package/dist/transactions/index.js +662 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/worker-protocol/index.d.ts +84 -0
- package/dist/worker-protocol/index.d.ts.map +1 -0
- package/dist/worker-protocol/index.js +117 -0
- package/dist/worker-protocol/index.js.map +1 -0
- package/package.json +66 -16
- package/sql-feature-matrix.json +1275 -0
- package/index.d.ts +0 -1
- package/index.js +0 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { type BlockStore, type BlockWrite, type LeaseKind, type LeaseRecord, type ManifestSummary, type RowIdRange, type SegmentRecord, type TransactionRecord, type FtsChanges, type UniqueKeyChanges } from "../storage/index.js";
|
|
2
|
+
export interface TransactionManagerOptions {
|
|
3
|
+
now?: () => Date;
|
|
4
|
+
createId?: () => string;
|
|
5
|
+
}
|
|
6
|
+
export interface RecoveryOptions {
|
|
7
|
+
staleBefore: Date;
|
|
8
|
+
removePendingBlocks?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface RecoveryReport {
|
|
11
|
+
abortedTransactionIds: string[];
|
|
12
|
+
skippedTransactionIds: string[];
|
|
13
|
+
removedBlockIds: string[];
|
|
14
|
+
retainedBlockIds: string[];
|
|
15
|
+
removedSegmentIds: string[];
|
|
16
|
+
retainedSegmentIds: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface OpenLeasedSnapshotOptions {
|
|
19
|
+
/** Optional caller-owned ID used by internal short-lived leases. */
|
|
20
|
+
id?: string;
|
|
21
|
+
ownerId: string;
|
|
22
|
+
ttlMs: number;
|
|
23
|
+
kind?: LeaseKind;
|
|
24
|
+
version?: number | null;
|
|
25
|
+
}
|
|
26
|
+
export declare class TransactionClosedError extends Error {
|
|
27
|
+
readonly transactionId: string;
|
|
28
|
+
readonly name = "TransactionClosedError";
|
|
29
|
+
constructor(transactionId: string);
|
|
30
|
+
}
|
|
31
|
+
export declare class Snapshot {
|
|
32
|
+
#private;
|
|
33
|
+
private readonly store;
|
|
34
|
+
readonly version: number | null;
|
|
35
|
+
constructor(store: BlockStore, version: number | null, blockIds: readonly string[]);
|
|
36
|
+
listBlockIds(): string[];
|
|
37
|
+
hasBlock(id: string): boolean;
|
|
38
|
+
getBlock(id: string): Promise<Uint8Array | undefined>;
|
|
39
|
+
}
|
|
40
|
+
export declare class LeasedSnapshot extends Snapshot {
|
|
41
|
+
#private;
|
|
42
|
+
private readonly now;
|
|
43
|
+
constructor(store: BlockStore, version: number | null, blockIds: readonly string[], record: LeaseRecord, now: () => Date);
|
|
44
|
+
get leaseId(): string;
|
|
45
|
+
get expiresAt(): Date;
|
|
46
|
+
getBlock(id: string): Promise<Uint8Array | undefined>;
|
|
47
|
+
renew(ttlMs: number): Promise<Date>;
|
|
48
|
+
release(): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export declare class DatabaseTransaction {
|
|
51
|
+
#private;
|
|
52
|
+
private readonly store;
|
|
53
|
+
private readonly now;
|
|
54
|
+
constructor(store: BlockStore, record: TransactionRecord, now: () => Date);
|
|
55
|
+
get id(): string;
|
|
56
|
+
get status(): TransactionRecord["status"];
|
|
57
|
+
get snapshotVersion(): number | null;
|
|
58
|
+
get pendingBlockIds(): string[];
|
|
59
|
+
get pendingSegmentIds(): string[];
|
|
60
|
+
get supersededBlockIds(): string[];
|
|
61
|
+
/**
|
|
62
|
+
* Counts every registration this transaction carries: staged blocks and segments, unique-key
|
|
63
|
+
* entries, full-text entries, and supersessions. A caller that fails part-way through a
|
|
64
|
+
* multi-step stage compares this before and after to tell "nothing was registered" (the
|
|
65
|
+
* statement is cleanly undone) from "partial work landed" (the transaction can only abort),
|
|
66
|
+
* since there is no statement-level rollback inside a transaction.
|
|
67
|
+
*/
|
|
68
|
+
get stagedWorkCount(): number;
|
|
69
|
+
snapshot(): Promise<Snapshot>;
|
|
70
|
+
getBlock(id: string): Promise<Uint8Array | undefined>;
|
|
71
|
+
stageBlock(id: string, bytes: Uint8Array): Promise<void>;
|
|
72
|
+
stageBlocks(blocks: readonly BlockWrite[]): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Stages blocks and segments in one journal step. When the store implements the atomic
|
|
75
|
+
* combined operation this is a single storage transaction instead of the four the sequential
|
|
76
|
+
* shape costs (block writes, journal update, segment writes, journal update); either way the
|
|
77
|
+
* observable journal invariant is identical — a journaled artifact always exists.
|
|
78
|
+
*/
|
|
79
|
+
stageArtifacts(blocks: readonly BlockWrite[], segments: readonly SegmentRecord[]): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Adds already-persisted immutable blocks to this transaction's journal.
|
|
82
|
+
*
|
|
83
|
+
* Resumable background jobs use this to reconcile the narrow crash window
|
|
84
|
+
* between an immutable block write and the transaction-record update. The
|
|
85
|
+
* bytes must already exist, and already-journaled IDs are ignored.
|
|
86
|
+
*/
|
|
87
|
+
stageExistingBlocks(blockIds: readonly string[]): Promise<void>;
|
|
88
|
+
stageSegment(record: SegmentRecord): Promise<void>;
|
|
89
|
+
/** Reconciles a persisted segment whose journal update was interrupted. */
|
|
90
|
+
stageExistingSegment(segmentId: string): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Records that this commit changes a table's logical content without staging a segment for
|
|
93
|
+
* it — dropping the table, for instance, whose only publish is the retirement of its blocks.
|
|
94
|
+
* Change-driven readers such as live queries need to see it move.
|
|
95
|
+
*/
|
|
96
|
+
markTableChanged(tableId: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* Marks this commit as logically content-preserving (for example a compaction rewrite), so
|
|
99
|
+
* change-driven readers such as live queries skip it even though it stages segments.
|
|
100
|
+
*/
|
|
101
|
+
markLogicallyUnchanged(): void;
|
|
102
|
+
/** Accumulated key changes in operation order, for in-scope membership overlays. */
|
|
103
|
+
get accumulatedUniqueKeyChanges(): readonly UniqueKeyChanges[];
|
|
104
|
+
/** Appends one operation's key changes; entries commit in operation order. */
|
|
105
|
+
setUniqueKeyChanges(changes: UniqueKeyChanges): void;
|
|
106
|
+
/**
|
|
107
|
+
* Attaches one batch's full-text deltas; applied atomically with the publish. A second
|
|
108
|
+
* batch for the same table merges per column — postings re-sorted by term (each batch's
|
|
109
|
+
* reserved row ids are strictly above the last, so rowIds stay ascending within a term)
|
|
110
|
+
* and token totals summed — so a scope can insert into one FTS table any number of times.
|
|
111
|
+
*/
|
|
112
|
+
setFtsChanges(changes: FtsChanges): void;
|
|
113
|
+
supersedeBlocks(blockIds: readonly string[]): void;
|
|
114
|
+
commit(): Promise<ManifestSummary>;
|
|
115
|
+
rebase(): Promise<Snapshot>;
|
|
116
|
+
abort(): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
export declare class TransactionManager {
|
|
119
|
+
#private;
|
|
120
|
+
private readonly store;
|
|
121
|
+
constructor(store: BlockStore, options?: TransactionManagerOptions);
|
|
122
|
+
begin(): Promise<DatabaseTransaction>;
|
|
123
|
+
/**
|
|
124
|
+
* Begins a transaction at the current manifest version and optionally reserves row ids and
|
|
125
|
+
* auto-increment values in the same step. Stores implementing the atomic `beginTransaction`
|
|
126
|
+
* pay one storage round trip instead of the version-read/create/reserve sequence; the
|
|
127
|
+
* read-then-create fallback retries when the version it read is pruned before the record lands.
|
|
128
|
+
*/
|
|
129
|
+
beginWithReservation(reserveRowIds?: {
|
|
130
|
+
tableId: string;
|
|
131
|
+
count: number;
|
|
132
|
+
}, reserveAutoIncrement?: {
|
|
133
|
+
tableId: string;
|
|
134
|
+
columnId: string;
|
|
135
|
+
count: number;
|
|
136
|
+
atLeast?: bigint;
|
|
137
|
+
}): Promise<{
|
|
138
|
+
transaction: DatabaseTransaction;
|
|
139
|
+
rowIds?: RowIdRange;
|
|
140
|
+
autoIncrementValues?: RowIdRange;
|
|
141
|
+
}>;
|
|
142
|
+
resume(transactionId: string): Promise<DatabaseTransaction>;
|
|
143
|
+
openSnapshot(version?: number | null): Promise<Snapshot>;
|
|
144
|
+
openLeasedSnapshot(options: OpenLeasedSnapshotOptions): Promise<LeasedSnapshot>;
|
|
145
|
+
removeExpiredLeases(at?: Date): Promise<string[]>;
|
|
146
|
+
recover(options: RecoveryOptions): Promise<RecoveryReport>;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"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"}
|