@minnowdb/core 0.1.1 → 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.
- package/README.md +12 -9
- package/dist/engine/client.d.ts +10 -1
- package/dist/engine/client.d.ts.map +1 -1
- package/dist/engine/client.js +30 -5
- package/dist/engine/client.js.map +1 -1
- package/dist/engine/database.d.ts +55 -6
- package/dist/engine/database.d.ts.map +1 -1
- package/dist/engine/database.js +2689 -898
- package/dist/engine/database.js.map +1 -1
- package/dist/engine/live.d.ts +6 -2
- package/dist/engine/live.d.ts.map +1 -1
- package/dist/engine/live.js +35 -11
- package/dist/engine/live.js.map +1 -1
- package/dist/engine/query-cache.d.ts +13 -1
- package/dist/engine/query-cache.d.ts.map +1 -1
- package/dist/engine/query-cache.js +34 -5
- package/dist/engine/query-cache.js.map +1 -1
- package/dist/engine/query.d.ts +13 -1
- package/dist/engine/query.d.ts.map +1 -1
- package/dist/engine/query.js +73 -46
- package/dist/engine/query.js.map +1 -1
- package/dist/engine/result-wire.d.ts +68 -0
- package/dist/engine/result-wire.d.ts.map +1 -0
- package/dist/engine/result-wire.js +264 -0
- package/dist/engine/result-wire.js.map +1 -0
- package/dist/engine/sort-keys.d.ts +50 -12
- package/dist/engine/sort-keys.d.ts.map +1 -1
- package/dist/engine/sort-keys.js +371 -25
- package/dist/engine/sort-keys.js.map +1 -1
- package/dist/engine/vector.d.ts +11 -0
- package/dist/engine/vector.d.ts.map +1 -1
- package/dist/engine/vector.js +99 -203
- package/dist/engine/vector.js.map +1 -1
- package/dist/engine/worker-host.d.ts +17 -1
- package/dist/engine/worker-host.d.ts.map +1 -1
- package/dist/engine/worker-host.js +87 -13
- package/dist/engine/worker-host.js.map +1 -1
- package/dist/storage/index.d.ts +13 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +13 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/indexeddb.d.ts +5 -1
- package/dist/storage/indexeddb.d.ts.map +1 -1
- package/dist/storage/indexeddb.js +484 -402
- package/dist/storage/indexeddb.js.map +1 -1
- package/dist/storage/memory.d.ts +24 -21
- package/dist/storage/memory.d.ts.map +1 -1
- package/dist/storage/memory.js +124 -1199
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/opfs/files.d.ts +64 -0
- package/dist/storage/opfs/files.d.ts.map +1 -0
- package/dist/storage/opfs/files.js +243 -0
- package/dist/storage/opfs/files.js.map +1 -0
- package/dist/storage/opfs/index.d.ts +3 -0
- package/dist/storage/opfs/index.d.ts.map +1 -0
- package/dist/storage/opfs/index.js +3 -0
- package/dist/storage/opfs/index.js.map +1 -0
- package/dist/storage/opfs/leader.d.ts +130 -0
- package/dist/storage/opfs/leader.d.ts.map +1 -0
- package/dist/storage/opfs/leader.js +1104 -0
- package/dist/storage/opfs/leader.js.map +1 -0
- package/dist/storage/opfs/rpc.d.ts +70 -0
- package/dist/storage/opfs/rpc.d.ts.map +1 -0
- package/dist/storage/opfs/rpc.js +58 -0
- package/dist/storage/opfs/rpc.js.map +1 -0
- package/dist/storage/opfs/store.d.ts +154 -0
- package/dist/storage/opfs/store.d.ts.map +1 -0
- package/dist/storage/opfs/store.js +958 -0
- package/dist/storage/opfs/store.js.map +1 -0
- package/dist/storage/toolkit/extents.d.ts +69 -0
- package/dist/storage/toolkit/extents.d.ts.map +1 -0
- package/dist/storage/toolkit/extents.js +175 -0
- package/dist/storage/toolkit/extents.js.map +1 -0
- package/dist/storage/toolkit/index.d.ts +30 -0
- package/dist/storage/toolkit/index.d.ts.map +1 -0
- package/dist/storage/toolkit/index.js +5 -0
- package/dist/storage/toolkit/index.js.map +1 -0
- package/dist/storage/toolkit/record-core.d.ts +252 -0
- package/dist/storage/toolkit/record-core.d.ts.map +1 -0
- package/dist/storage/toolkit/record-core.js +1670 -0
- package/dist/storage/toolkit/record-core.js.map +1 -0
- package/dist/storage/toolkit/sync-file.d.ts +29 -0
- package/dist/storage/toolkit/sync-file.d.ts.map +1 -0
- package/dist/storage/toolkit/sync-file.js +2 -0
- package/dist/storage/toolkit/sync-file.js.map +1 -0
- package/dist/storage/toolkit/wal.d.ts +22 -0
- package/dist/storage/toolkit/wal.d.ts.map +1 -0
- package/dist/storage/toolkit/wal.js +79 -0
- package/dist/storage/toolkit/wal.js.map +1 -0
- package/dist/storage/toolkit/wire.d.ts +25 -0
- package/dist/storage/toolkit/wire.d.ts.map +1 -0
- package/dist/storage/toolkit/wire.js +100 -0
- package/dist/storage/toolkit/wire.js.map +1 -0
- package/dist/storage/types.d.ts +343 -59
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +112 -11
- package/dist/storage/types.js.map +1 -1
- package/dist/testing/block-store-conformance.d.ts +51 -0
- package/dist/testing/block-store-conformance.d.ts.map +1 -0
- package/dist/testing/block-store-conformance.js +745 -0
- package/dist/testing/block-store-conformance.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/opfs-shim.d.ts +35 -0
- package/dist/testing/opfs-shim.d.ts.map +1 -0
- package/dist/testing/opfs-shim.js +295 -0
- package/dist/testing/opfs-shim.js.map +1 -0
- package/dist/transactions/index.d.ts +42 -1
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +219 -13
- package/dist/transactions/index.js.map +1 -1
- package/dist/worker-protocol/index.d.ts +2 -2
- package/dist/worker-protocol/index.d.ts.map +1 -1
- package/dist/worker-protocol/index.js +2 -1
- package/dist/worker-protocol/index.js.map +1 -1
- package/package.json +10 -2
- package/sql-feature-matrix.json +8 -0
package/dist/engine/live.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Manifest, type StoragePage } from "../storage/index.js";
|
|
2
|
-
import { type CompiledQuery, type QueryResult } from "./query.js";
|
|
2
|
+
import { type CompiledQuery, type QueryResult, type QueryValue } from "./query.js";
|
|
3
3
|
/**
|
|
4
4
|
* Correctness-first live queries with selective re-execution. Every hint path — a local commit,
|
|
5
5
|
* a cross-tab channel message, a poll tick, or an explicit refresh — converges on the same
|
|
@@ -51,8 +51,12 @@ export interface LiveQueryStats {
|
|
|
51
51
|
notificationsSuppressed: number;
|
|
52
52
|
lastSweepMs: number;
|
|
53
53
|
}
|
|
54
|
-
/** A live query: SQL
|
|
54
|
+
/** A live query: plain SQL, parameterized SQL, or a compiled-plan envelope. */
|
|
55
55
|
export type LiveQueryInput = string | {
|
|
56
|
+
kind: "sql-query";
|
|
57
|
+
sql: string;
|
|
58
|
+
params: readonly QueryValue[];
|
|
59
|
+
} | {
|
|
56
60
|
kind: "typed-query";
|
|
57
61
|
plan: CompiledQuery;
|
|
58
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/live.js
CHANGED
|
@@ -2,29 +2,53 @@
|
|
|
2
2
|
function isSubscriptionClosed(subscription) {
|
|
3
3
|
return subscription.closed;
|
|
4
4
|
}
|
|
5
|
+
const digestScratch = new DataView(new ArrayBuffer(8));
|
|
6
|
+
/**
|
|
7
|
+
* A 32-bit FNV-1a digest of a result, mixed from typed values: a number's eight bytes, a
|
|
8
|
+
* string's char codes, a tag per type and per null. Building a string per cell and hashing
|
|
9
|
+
* that used to cost several times the query it digested.
|
|
10
|
+
*/
|
|
5
11
|
function digestResult(result) {
|
|
6
12
|
let hash = 0x811c9dc5;
|
|
7
|
-
const
|
|
13
|
+
const mixByte = (byte) => {
|
|
14
|
+
hash = Math.imul(hash ^ byte, 0x01000193) >>> 0;
|
|
15
|
+
};
|
|
16
|
+
const mixNumber = (value) => {
|
|
17
|
+
digestScratch.setFloat64(0, value);
|
|
18
|
+
for (let index = 0; index < 8; index += 1)
|
|
19
|
+
mixByte(digestScratch.getUint8(index));
|
|
20
|
+
};
|
|
21
|
+
const mixString = (text) => {
|
|
8
22
|
for (let index = 0; index < text.length; index += 1) {
|
|
9
23
|
const code = text.charCodeAt(index);
|
|
10
|
-
|
|
11
|
-
|
|
24
|
+
mixByte(code & 0xff);
|
|
25
|
+
mixByte(code >>> 8);
|
|
12
26
|
}
|
|
13
|
-
|
|
27
|
+
mixByte(0xff);
|
|
14
28
|
};
|
|
15
29
|
for (const column of result.columns)
|
|
16
|
-
|
|
30
|
+
mixString(column);
|
|
17
31
|
for (const row of result.rows) {
|
|
18
32
|
for (const column of result.columns) {
|
|
19
33
|
const value = row[column] ?? null;
|
|
20
34
|
if (value === null)
|
|
21
|
-
|
|
22
|
-
else if (value
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
mixByte(1);
|
|
36
|
+
else if (typeof value === "number") {
|
|
37
|
+
mixByte(2);
|
|
38
|
+
mixNumber(value);
|
|
39
|
+
}
|
|
40
|
+
else if (typeof value === "string") {
|
|
41
|
+
mixByte(3);
|
|
42
|
+
mixString(value);
|
|
43
|
+
}
|
|
44
|
+
else if (typeof value === "boolean")
|
|
45
|
+
mixByte(value ? 4 : 5);
|
|
46
|
+
else {
|
|
47
|
+
mixByte(6);
|
|
48
|
+
mixNumber(value.getTime());
|
|
49
|
+
}
|
|
26
50
|
}
|
|
27
|
-
|
|
51
|
+
mixByte(0xfe);
|
|
28
52
|
}
|
|
29
53
|
return hash;
|
|
30
54
|
}
|
package/dist/engine/live.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,19 @@ import type { QueryResult } from "./query.js";
|
|
|
3
3
|
export declare const RESULT_MEMO_MAX_BYTES: number;
|
|
4
4
|
/** Stable, collision-free memo-key encoding for bound SQL parameters. */
|
|
5
5
|
export declare function queryResultMemoKey(sql: string, params: readonly unknown[]): string;
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* A memo key for a compiled plan: its JSON with the values JSON cannot tell apart made
|
|
8
|
+
* distinct — a Date from its ISO string, -0 from 0, NaN and the infinities from null — so two
|
|
9
|
+
* plans with the same key are the same query over the same literals.
|
|
10
|
+
*/
|
|
11
|
+
export declare function planMemoKey(plan: unknown): string;
|
|
12
|
+
/**
|
|
13
|
+
* Defensive copy because callers own query results and may mutate both rows and Dates. Object
|
|
14
|
+
* spread copies own enumerable properties with define semantics, so a column named `__proto__`
|
|
15
|
+
* stays an own property; only a Date cell needs the explicit define, and only because its
|
|
16
|
+
* value is replaced. This used to define every cell, which made a memo hit on a result of a
|
|
17
|
+
* few thousand rows cost more than re-executing the query.
|
|
18
|
+
*/
|
|
7
19
|
export declare function copyQueryResult(result: QueryResult): QueryResult;
|
|
8
20
|
/** Modeled retained payload for one cached query result. */
|
|
9
21
|
export declare function queryResultRetainedBytes(result: QueryResult): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/engine/query-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAGxD,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAErD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAElF;AAED,
|
|
1
|
+
{"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/engine/query-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAGxD,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAErD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAElF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAUjD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAahE;AAED,4DAA4D;AAC5D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKpE"}
|
|
@@ -5,14 +5,43 @@ export const RESULT_MEMO_MAX_BYTES = 4 * 1024 * 1024;
|
|
|
5
5
|
export function queryResultMemoKey(sql, params) {
|
|
6
6
|
return JSON.stringify([sql, params.map(encodeParameter)]);
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* A memo key for a compiled plan: its JSON with the values JSON cannot tell apart made
|
|
10
|
+
* distinct — a Date from its ISO string, -0 from 0, NaN and the infinities from null — so two
|
|
11
|
+
* plans with the same key are the same query over the same literals.
|
|
12
|
+
*/
|
|
13
|
+
export function planMemoKey(plan) {
|
|
14
|
+
return JSON.stringify(plan, (_key, value) => {
|
|
15
|
+
if (value instanceof Date)
|
|
16
|
+
return { $date: value.getTime() };
|
|
17
|
+
if (typeof value === "bigint")
|
|
18
|
+
return { $bigint: value.toString() };
|
|
19
|
+
if (typeof value === "number") {
|
|
20
|
+
if (Object.is(value, -0))
|
|
21
|
+
return { $number: "-0" };
|
|
22
|
+
if (!Number.isFinite(value))
|
|
23
|
+
return { $number: String(value) };
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Defensive copy because callers own query results and may mutate both rows and Dates. Object
|
|
30
|
+
* spread copies own enumerable properties with define semantics, so a column named `__proto__`
|
|
31
|
+
* stays an own property; only a Date cell needs the explicit define, and only because its
|
|
32
|
+
* value is replaced. This used to define every cell, which made a memo hit on a result of a
|
|
33
|
+
* few thousand rows cost more than re-executing the query.
|
|
34
|
+
*/
|
|
9
35
|
export function copyQueryResult(result) {
|
|
36
|
+
const columns = result.columns;
|
|
10
37
|
return {
|
|
11
|
-
columns: [...
|
|
38
|
+
columns: [...columns],
|
|
12
39
|
rows: result.rows.map((row) => {
|
|
13
|
-
const copy = {};
|
|
14
|
-
for (const
|
|
15
|
-
|
|
40
|
+
const copy = { ...row };
|
|
41
|
+
for (const name of columns) {
|
|
42
|
+
const value = copy[name];
|
|
43
|
+
if (value instanceof Date)
|
|
44
|
+
defineSqlResultProperty(copy, name, new Date(value.getTime()));
|
|
16
45
|
}
|
|
17
46
|
return copy;
|
|
18
47
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../src/engine/query-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,wFAAwF;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,yEAAyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAA0B;IACxE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../src/engine/query-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/query.d.ts
CHANGED
|
@@ -155,6 +155,8 @@ export type Expression = {
|
|
|
155
155
|
*/
|
|
156
156
|
columns: Expression[] | "*";
|
|
157
157
|
query: string;
|
|
158
|
+
/** Placeholder used by parameterized SQL; replaced with `query` before execution. */
|
|
159
|
+
queryParameter?: number;
|
|
158
160
|
/**
|
|
159
161
|
* Corpus statistics for BM25, annotated by the executor onto its cloned plan before
|
|
160
162
|
* evaluation; never set by compilation.
|
|
@@ -553,6 +555,14 @@ export declare function blockHasSubqueries(plan: CompiledQuery): boolean;
|
|
|
553
555
|
/** True when any `?`/`$n` placeholder remains anywhere in the expression tree. */
|
|
554
556
|
export declare function containsParameter(expression: Expression): boolean;
|
|
555
557
|
export declare function blockHasParameters(block: CompiledQuery): boolean;
|
|
558
|
+
/**
|
|
559
|
+
* A deep copy of a compiled plan, statement, or expression tree. Plans are plain data — objects,
|
|
560
|
+
* arrays, primitives, and Date literals — so a direct recursive copy does what structuredClone
|
|
561
|
+
* does at a fraction of its cost (structuredClone was a seventh of a point lookup). Anything the
|
|
562
|
+
* plan is not expected to hold — a typed array, a Map, a class instance — falls back to
|
|
563
|
+
* structuredClone for that value, so the copy is exact whatever arrives.
|
|
564
|
+
*/
|
|
565
|
+
export declare function clonePlanTree<T>(value: T): T;
|
|
556
566
|
/**
|
|
557
567
|
* Replaces every placeholder with its parameter value as a literal. The input plan is never
|
|
558
568
|
* modified — plans come from the compile cache, so binding is copy-on-write. The parameter list
|
|
@@ -670,7 +680,9 @@ export declare function expandFtsColumns(plan: CompiledQuery, searchableColumnsF
|
|
|
670
680
|
* ROW_NUMBER numbers rows per partition, RANK shares ranks across ordering ties with gaps, and
|
|
671
681
|
* DENSE_RANK shares without gaps. Without OVER ordering every partition row is a peer.
|
|
672
682
|
*/
|
|
673
|
-
export declare function applyWindowFunctions(result: QueryResult, windows: readonly WindowSpec[]
|
|
683
|
+
export declare function applyWindowFunctions(result: QueryResult, windows: readonly WindowSpec[], options?: {
|
|
684
|
+
copyRows?: boolean;
|
|
685
|
+
}): QueryResult;
|
|
674
686
|
/** Correctness reference retained while the vector executor matures. */
|
|
675
687
|
export declare function executeRowQuery(plan: CompiledQuery, tables: ReadonlyMap<string, DatabaseRow[]>): QueryResult;
|
|
676
688
|
/** One ORDER BY resolution source: an alias and the columns a wildcard select exposes from it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/engine/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/engine/query.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/query.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SqlCompileError } from "./errors.js";
|
|
2
2
|
import { cachedQueryTerms, ftsBm25Row, FtsStatsAccumulator, ftsMatchTruth, renderDocumentValue, tokenize as ftsTokenize, validateFtsQuery, } from "./fts.js";
|
|
3
3
|
import { QueryMemoryContext } from "./memory.js";
|
|
4
|
-
import { buildSortKeyColumn } from "./sort-keys.js";
|
|
4
|
+
import { buildSortKeyColumn, sortKeyIndexes } from "./sort-keys.js";
|
|
5
5
|
import { stringArgument } from "./sql-semantics.js";
|
|
6
6
|
import { jsonAtPath, jsonConstructor, jsonIsValid, parseJsonPath } from "./sql-json.js";
|
|
7
7
|
import { optimizePlan } from "./optimizer.js";
|
|
@@ -962,7 +962,7 @@ export function evaluateRowExpression(expression, alias, row) {
|
|
|
962
962
|
export function subqueryResolutionSteps(plan) {
|
|
963
963
|
if (!blockHasSubqueries(plan))
|
|
964
964
|
return { plan, steps: [] };
|
|
965
|
-
const clone =
|
|
965
|
+
const clone = clonePlanTree(plan);
|
|
966
966
|
const steps = [];
|
|
967
967
|
const rewrite = (expression, replace) => {
|
|
968
968
|
if (expression.kind === "subquery") {
|
|
@@ -1180,6 +1180,16 @@ function bindExpression(expression, values) {
|
|
|
1180
1180
|
if (expression.kind === "parameter") {
|
|
1181
1181
|
return { kind: "literal", value: values[expression.index] ?? null };
|
|
1182
1182
|
}
|
|
1183
|
+
if (expression.kind === "fts" && expression.queryParameter !== undefined) {
|
|
1184
|
+
const value = values[expression.queryParameter] ?? null;
|
|
1185
|
+
if (typeof value !== "string") {
|
|
1186
|
+
throw new TypeError("A full-text search query parameter must be a string");
|
|
1187
|
+
}
|
|
1188
|
+
validateFtsQuery(value);
|
|
1189
|
+
expression.query = value;
|
|
1190
|
+
delete expression.queryParameter;
|
|
1191
|
+
return expression;
|
|
1192
|
+
}
|
|
1183
1193
|
if (expression.kind === "subquery" || expression.kind === "exists") {
|
|
1184
1194
|
bindBlock(expression.block, values);
|
|
1185
1195
|
return expression;
|
|
@@ -1263,6 +1273,36 @@ function bindBlock(block, values) {
|
|
|
1263
1273
|
}
|
|
1264
1274
|
}
|
|
1265
1275
|
}
|
|
1276
|
+
/**
|
|
1277
|
+
* A deep copy of a compiled plan, statement, or expression tree. Plans are plain data — objects,
|
|
1278
|
+
* arrays, primitives, and Date literals — so a direct recursive copy does what structuredClone
|
|
1279
|
+
* does at a fraction of its cost (structuredClone was a seventh of a point lookup). Anything the
|
|
1280
|
+
* plan is not expected to hold — a typed array, a Map, a class instance — falls back to
|
|
1281
|
+
* structuredClone for that value, so the copy is exact whatever arrives.
|
|
1282
|
+
*/
|
|
1283
|
+
export function clonePlanTree(value) {
|
|
1284
|
+
return cloneTreeValue(value);
|
|
1285
|
+
}
|
|
1286
|
+
function cloneTreeValue(value) {
|
|
1287
|
+
if (typeof value !== "object" || value === null)
|
|
1288
|
+
return value;
|
|
1289
|
+
if (value instanceof Date)
|
|
1290
|
+
return new Date(value.getTime());
|
|
1291
|
+
if (Array.isArray(value)) {
|
|
1292
|
+
const copy = new Array(value.length);
|
|
1293
|
+
for (let index = 0; index < value.length; index += 1)
|
|
1294
|
+
copy[index] = cloneTreeValue(value[index]);
|
|
1295
|
+
return copy;
|
|
1296
|
+
}
|
|
1297
|
+
const prototype = Object.getPrototypeOf(value);
|
|
1298
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
1299
|
+
return structuredClone(value);
|
|
1300
|
+
const copy = {};
|
|
1301
|
+
for (const key of Object.keys(value)) {
|
|
1302
|
+
copy[key] = cloneTreeValue(value[key]);
|
|
1303
|
+
}
|
|
1304
|
+
return copy;
|
|
1305
|
+
}
|
|
1266
1306
|
/**
|
|
1267
1307
|
* Replaces every placeholder with its parameter value as a literal. The input plan is never
|
|
1268
1308
|
* modified — plans come from the compile cache, so binding is copy-on-write. The parameter list
|
|
@@ -1274,7 +1314,7 @@ export function bindPlanParameters(plan, params) {
|
|
|
1274
1314
|
validateParameters(count, params);
|
|
1275
1315
|
if (count === 0)
|
|
1276
1316
|
return plan;
|
|
1277
|
-
const clone =
|
|
1317
|
+
const clone = clonePlanTree(plan);
|
|
1278
1318
|
bindBlock(clone, params ?? []);
|
|
1279
1319
|
delete clone.parameterCount;
|
|
1280
1320
|
return clone;
|
|
@@ -1297,7 +1337,7 @@ export function bindStatementParameters(statement, params) {
|
|
|
1297
1337
|
throw new TypeError("DDL statements take no parameters");
|
|
1298
1338
|
}
|
|
1299
1339
|
const values = params ?? [];
|
|
1300
|
-
const clone =
|
|
1340
|
+
const clone = clonePlanTree(statement);
|
|
1301
1341
|
delete clone.parameterCount;
|
|
1302
1342
|
if (clone.kind === "insert") {
|
|
1303
1343
|
if (clone.query !== undefined)
|
|
@@ -2085,7 +2125,7 @@ export function resolveStatementDatetimes(plan, now = new Date()) {
|
|
|
2085
2125
|
["CURRENT_TIMESTAMP", new Date(now.getTime())],
|
|
2086
2126
|
["LOCALTIME", iso.slice(11, 19)],
|
|
2087
2127
|
]);
|
|
2088
|
-
const resolved =
|
|
2128
|
+
const resolved = clonePlanTree(plan);
|
|
2089
2129
|
const substitute = (expression) => {
|
|
2090
2130
|
if (expression.kind === "subquery" || expression.kind === "exists") {
|
|
2091
2131
|
resolveBlock(expression.block);
|
|
@@ -2188,7 +2228,7 @@ export function planContainsFts(plan, op) {
|
|
|
2188
2228
|
export function expandFtsColumns(plan, searchableColumnsFor) {
|
|
2189
2229
|
if (!planContainsFts(plan))
|
|
2190
2230
|
return plan;
|
|
2191
|
-
plan =
|
|
2231
|
+
plan = clonePlanTree(plan);
|
|
2192
2232
|
const expand = (expression, block) => {
|
|
2193
2233
|
if (expression.kind === "subquery" || expression.kind === "exists") {
|
|
2194
2234
|
expandBlock(expression.block);
|
|
@@ -2543,10 +2583,11 @@ function containsFtsExpression(expression) {
|
|
|
2543
2583
|
* ROW_NUMBER numbers rows per partition, RANK shares ranks across ordering ties with gaps, and
|
|
2544
2584
|
* DENSE_RANK shares without gaps. Without OVER ordering every partition row is a peer.
|
|
2545
2585
|
*/
|
|
2546
|
-
export function applyWindowFunctions(result, windows) {
|
|
2547
|
-
|
|
2586
|
+
export function applyWindowFunctions(result, windows, options = {}) {
|
|
2587
|
+
// The window aliases are written onto the rows. A result that may be shared — one a block
|
|
2588
|
+
// cache also holds — is copied first; one computed for this call alone is written in place.
|
|
2589
|
+
const rows = options.copyRows === false ? result.rows : result.rows.map((row) => ({ ...row }));
|
|
2548
2590
|
for (const window of windows) {
|
|
2549
|
-
const indexes = rows.map((_, index) => index);
|
|
2550
2591
|
// Decorate before sorting: `comparable` was being re-run inside the comparator, so every
|
|
2551
2592
|
// key was converted O(n log n) times per alias instead of once per row. Precomputing the
|
|
2552
2593
|
// comparable value per row per alias makes the comparator pure array reads, and the
|
|
@@ -2559,38 +2600,15 @@ export function applyWindowFunctions(result, windows) {
|
|
|
2559
2600
|
// than re-read and re-dispatched per comparison; see sort-keys.ts.
|
|
2560
2601
|
const partitionColumns = partitionKeys.map((keys) => buildSortKeyColumn(keys.length, (index) => keys[index]));
|
|
2561
2602
|
const orderColumns = orderKeys.map((keys) => buildSortKeyColumn(keys.length, (index) => keys[index]));
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
}
|
|
2572
|
-
for (let index = 0; index < orderColumns.length; index += 1) {
|
|
2573
|
-
const column = orderColumns[index];
|
|
2574
|
-
const term = orderTerms[index];
|
|
2575
|
-
if (column === undefined || term === undefined)
|
|
2576
|
-
continue;
|
|
2577
|
-
if (term.nullPlacement !== 0) {
|
|
2578
|
-
const leftNull = column.isNull(left);
|
|
2579
|
-
const rightNull = column.isNull(right);
|
|
2580
|
-
if (leftNull || rightNull) {
|
|
2581
|
-
if (leftNull && rightNull)
|
|
2582
|
-
continue;
|
|
2583
|
-
return (leftNull ? -1 : 1) * term.nullPlacement;
|
|
2584
|
-
}
|
|
2585
|
-
}
|
|
2586
|
-
const comparison = column.compare(left, right);
|
|
2587
|
-
if (comparison !== 0)
|
|
2588
|
-
return term.descending ? -comparison : comparison;
|
|
2589
|
-
}
|
|
2590
|
-
// Arrival order breaks the remaining ties, which is what makes the walk deterministic.
|
|
2591
|
-
return left - right;
|
|
2592
|
-
};
|
|
2593
|
-
indexes.sort(compare);
|
|
2603
|
+
// The sort is stable, so arrival order breaks the remaining ties, which is what makes the
|
|
2604
|
+
// walk deterministic.
|
|
2605
|
+
const indexes = sortKeyIndexes(rows.length, [
|
|
2606
|
+
...partitionColumns.map((column) => ({ column, descending: false, nulls: undefined })),
|
|
2607
|
+
...orderColumns.map((column, index) => {
|
|
2608
|
+
const term = window.orderAliases[index];
|
|
2609
|
+
return { column, descending: term?.direction === "desc", nulls: term?.nulls };
|
|
2610
|
+
}),
|
|
2611
|
+
]);
|
|
2594
2612
|
const samePartition = (left, right) => {
|
|
2595
2613
|
for (const column of partitionColumns) {
|
|
2596
2614
|
if (column.compare(left, right) !== 0)
|
|
@@ -4507,7 +4525,7 @@ class Parser {
|
|
|
4507
4525
|
this.#keyword("LIMIT");
|
|
4508
4526
|
if (this.#peek().kind === "parameter") {
|
|
4509
4527
|
const parameter = this.#parameterExpression();
|
|
4510
|
-
return
|
|
4528
|
+
return { limitParameter: parameter.index };
|
|
4511
4529
|
}
|
|
4512
4530
|
return { limit: validateLimit(Number(this.#take("number").text)) };
|
|
4513
4531
|
}
|
|
@@ -4525,8 +4543,7 @@ class Parser {
|
|
|
4525
4543
|
let result = { limit: 1 };
|
|
4526
4544
|
if (this.#peek().kind === "parameter") {
|
|
4527
4545
|
const parameter = this.#parameterExpression();
|
|
4528
|
-
|
|
4529
|
-
result = { limitParameter: parameter.index };
|
|
4546
|
+
result = { limitParameter: parameter.index };
|
|
4530
4547
|
}
|
|
4531
4548
|
else if (this.#peek().kind === "number") {
|
|
4532
4549
|
result = { limit: validateLimit(Number(this.#take("number").text)) };
|
|
@@ -4551,7 +4568,7 @@ class Parser {
|
|
|
4551
4568
|
let result;
|
|
4552
4569
|
if (this.#peek().kind === "parameter") {
|
|
4553
4570
|
const parameter = this.#parameterExpression();
|
|
4554
|
-
result =
|
|
4571
|
+
result = { offsetParameter: parameter.index };
|
|
4555
4572
|
}
|
|
4556
4573
|
else {
|
|
4557
4574
|
result = { offset: validateOffset(Number(this.#take("number").text)) };
|
|
@@ -5638,8 +5655,18 @@ class Parser {
|
|
|
5638
5655
|
const columns = this.#ftsColumns();
|
|
5639
5656
|
this.#keyword("AGAINST");
|
|
5640
5657
|
const queryToken = this.#peek();
|
|
5658
|
+
if (queryToken.kind === "parameter") {
|
|
5659
|
+
const parameter = this.#parameterExpression();
|
|
5660
|
+
return {
|
|
5661
|
+
kind: "fts",
|
|
5662
|
+
op: upper === "MATCH" ? "match" : "bm25",
|
|
5663
|
+
columns,
|
|
5664
|
+
query: "",
|
|
5665
|
+
queryParameter: parameter.index,
|
|
5666
|
+
};
|
|
5667
|
+
}
|
|
5641
5668
|
if (queryToken.kind !== "string") {
|
|
5642
|
-
throw new TypeError(`${upper} ... AGAINST requires a string literal query`);
|
|
5669
|
+
throw new TypeError(`${upper} ... AGAINST requires a string literal or parameter query`);
|
|
5643
5670
|
}
|
|
5644
5671
|
this.#index += 1;
|
|
5645
5672
|
validateFtsQuery(queryToken.text);
|