@minnowdb/core 0.1.0 → 0.2.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/README.md +32 -18
- package/dist/engine/client.d.ts +9 -1
- package/dist/engine/client.d.ts.map +1 -1
- package/dist/engine/client.js +29 -5
- package/dist/engine/client.js.map +1 -1
- package/dist/engine/database.d.ts +51 -6
- package/dist/engine/database.d.ts.map +1 -1
- package/dist/engine/database.js +2597 -865
- package/dist/engine/database.js.map +1 -1
- 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 +11 -1
- package/dist/engine/query.d.ts.map +1 -1
- package/dist/engine/query.js +49 -41
- 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 +83 -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/dist/engine/dsl/db.d.ts +0 -137
- package/dist/engine/dsl/db.d.ts.map +0 -1
- package/dist/engine/dsl/db.js +0 -161
- package/dist/engine/dsl/db.js.map +0 -1
- package/dist/engine/dsl/expression.d.ts +0 -172
- package/dist/engine/dsl/expression.d.ts.map +0 -1
- package/dist/engine/dsl/expression.js +0 -397
- package/dist/engine/dsl/expression.js.map +0 -1
- package/dist/engine/dsl/index.d.ts +0 -8
- package/dist/engine/dsl/index.d.ts.map +0 -1
- package/dist/engine/dsl/index.js +0 -7
- package/dist/engine/dsl/index.js.map +0 -1
- package/dist/engine/dsl/live-query.d.ts +0 -45
- package/dist/engine/dsl/live-query.d.ts.map +0 -1
- package/dist/engine/dsl/live-query.js +0 -116
- package/dist/engine/dsl/live-query.js.map +0 -1
- package/dist/engine/dsl/mutations.d.ts +0 -123
- package/dist/engine/dsl/mutations.d.ts.map +0 -1
- package/dist/engine/dsl/mutations.js +0 -241
- package/dist/engine/dsl/mutations.js.map +0 -1
- package/dist/engine/dsl/select-query-builder.d.ts +0 -148
- package/dist/engine/dsl/select-query-builder.d.ts.map +0 -1
- package/dist/engine/dsl/select-query-builder.js +0 -377
- package/dist/engine/dsl/select-query-builder.js.map +0 -1
- package/dist/engine/dsl/sql-tag.d.ts +0 -46
- package/dist/engine/dsl/sql-tag.d.ts.map +0 -1
- package/dist/engine/dsl/sql-tag.js +0 -85
- package/dist/engine/dsl/sql-tag.js.map +0 -1
- package/dist/engine/dsl/types.d.ts +0 -133
- package/dist/engine/dsl/types.d.ts.map +0 -1
- package/dist/engine/dsl/types.js +0 -9
- package/dist/engine/dsl/types.js.map +0 -1
|
@@ -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,EAAmB,MAAM,YAAY,CAAC;AAEnF;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9D,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,yFAAyF;IACzF,UAAU,CAAC,IAAI,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAEnF,UAAU,aAAa;IACrB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,eAAe,CAAC,CACd,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;
|
|
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":"AAmGA,yEAAyE;AACzE,SAAS,oBAAoB,CAAC,YAA0B;IACtD,OAAO,YAAY,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB;IACvC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,MAAM,
|
|
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
|
@@ -553,6 +553,14 @@ export declare function blockHasSubqueries(plan: CompiledQuery): boolean;
|
|
|
553
553
|
/** True when any `?`/`$n` placeholder remains anywhere in the expression tree. */
|
|
554
554
|
export declare function containsParameter(expression: Expression): boolean;
|
|
555
555
|
export declare function blockHasParameters(block: CompiledQuery): boolean;
|
|
556
|
+
/**
|
|
557
|
+
* A deep copy of a compiled plan, statement, or expression tree. Plans are plain data — objects,
|
|
558
|
+
* arrays, primitives, and Date literals — so a direct recursive copy does what structuredClone
|
|
559
|
+
* does at a fraction of its cost (structuredClone was a seventh of a point lookup). Anything the
|
|
560
|
+
* plan is not expected to hold — a typed array, a Map, a class instance — falls back to
|
|
561
|
+
* structuredClone for that value, so the copy is exact whatever arrives.
|
|
562
|
+
*/
|
|
563
|
+
export declare function clonePlanTree<T>(value: T): T;
|
|
556
564
|
/**
|
|
557
565
|
* Replaces every placeholder with its parameter value as a literal. The input plan is never
|
|
558
566
|
* modified — plans come from the compile cache, so binding is copy-on-write. The parameter list
|
|
@@ -670,7 +678,9 @@ export declare function expandFtsColumns(plan: CompiledQuery, searchableColumnsF
|
|
|
670
678
|
* ROW_NUMBER numbers rows per partition, RANK shares ranks across ordering ties with gaps, and
|
|
671
679
|
* DENSE_RANK shares without gaps. Without OVER ordering every partition row is a peer.
|
|
672
680
|
*/
|
|
673
|
-
export declare function applyWindowFunctions(result: QueryResult, windows: readonly WindowSpec[]
|
|
681
|
+
export declare function applyWindowFunctions(result: QueryResult, windows: readonly WindowSpec[], options?: {
|
|
682
|
+
copyRows?: boolean;
|
|
683
|
+
}): QueryResult;
|
|
674
684
|
/** Correctness reference retained while the vector executor matures. */
|
|
675
685
|
export declare function executeRowQuery(plan: CompiledQuery, tables: ReadonlyMap<string, DatabaseRow[]>): QueryResult;
|
|
676
686
|
/** 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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWxE,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAEhC,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,OAAO,IAAI,WAAW,CAAC;IACvB,YAAY,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAC7E,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,UAAU,GACV,YAAY,GACZ,UAAU,GACV,OAAO,GACP,OAAO,GACP,QAAQ,GACR,KAAK,GACL,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,UAAU,GACV,OAAO,GACP,OAAO,GACP,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,GACT,MAAM,GACN,cAAc,GACd,MAAM,GACN,MAAM,GACN,SAAS,GACT,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,YAAY,GACZ,SAAS,CAAC;AAEd,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAuCnB,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAIrD,CAAC;AAuBH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,GAAG,kBAAkB,GACvC,IAAI,IAAI,kBAAkB,CAE5B;AAmFD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAC7C,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,OAAO,CAkMT;AAED,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAS7C,CAAC;AAkBH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAkBtF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAehG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CA0CzE;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE;AACxC,yFAAyF;GACvF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACvC;;;;GAIG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACjF;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,kBAAkB,CAAC;IACzC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC1C;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC1D;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC1B,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,cAAc,GACd,WAAW,GACX,OAAO,GACP,KAAK,GACL,MAAM,GACN,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,CAAC;AAElB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,qBAAqB,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,qBAAqB,CAAC;IAChG,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAElF,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,gBAAgB,CAAC;IACtB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,SAAS,eAAe,EAAE,GACtC,aAAa,CAaf;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,+FAA+F;IAC/F,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAAC,GAAG,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IACxD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAC3D;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,+FAA+F;IAC/F,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GACrB,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElF;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;CACd;AAKD,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,GAAG,kBAAkB,MAAM,GAC3B,GAAG,kBAAkB,MAAM,GAC3B,IAAI,GACJ,QAAQ,GACR,SAAS,GACT,aAAa,GACb,MAAM,GACN,UAAU,GACV,OAAO,GACP,WAAW,GACX,kBAAkB,GAClB,sBAAsB,GACtB,SAAS,CAAC;AAEd,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B;;;WAGG;QACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkBD;;;;GAIG;AACH,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAE7C;AAyDD,MAAM,WAAW,mBAAmB;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuCD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,aAAa,CAwB1F;AAuBD;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,MAAM,EACF;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,UAAU,CAAA;SAAE,CAAC,CAAA;KAAE,GAClF;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;CACxB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;CACrE,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CAC/C;AAED,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;IACtB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;QACzC,kFAAkF;QAClF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACxF,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACxF,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACtC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC3B,UAAU,EAAE,KAAK,CAAC;YAChB,sFAAsF;YACtF,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,KAAK,CAAC;gBAAE,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC5D,CAAC,CAAC;KACJ,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACzF;IACE,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD;;;;OAIG;IACH,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAiCN;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAO5E;AA+ID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAiF/D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,GACtD,UAAU,CAEZ;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,GACf,UAAU,CAEZ;AAED,MAAM,WAAW,sBAAsB;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,uEAAuE;IACvE,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG;IAC5D,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC,CA0JA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAqB/D;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAMjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAehE;AAkHD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE5C;AAoBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GACxC,aAAa,CAQf;AAMD,iGAAiG;AACjG,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GACxC,iBAAiB,CA8DnB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,GACvD,eAAe,EAAE,CA0NnB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAC9C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAwDvB;AA2ED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAC1C,OAAO,GAAE,qBAA0B,GAClC,aAAa,CAoCf;AAED,8FAA8F;AAC9F,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,MAAM,GAAE,kBAA6C,EACrD,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAO,GACzD,aAAa,CAmDf;AAiDD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAC1C,OAAO,GAAE,qBAA0B,GAClC,WAAW,CAOb;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,GAAG,EAAE,SAAS,WAAW,EAAE,GAC1B,WAAW,CAkEb;AAWD,UAAU,iBAAiB;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,iBAAiB,CA8C1F;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAuBrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,GACrC,UAAU,CAuBZ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GACtC,IAAI,CAaN;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GACrC,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,GAC1C,IAAI,CAaN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,IAAiB,GACrB,aAAa,CAkCf;AAED,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,EAAE,CASjF;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CActE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAmBnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GACzE,aAAa,CAmCf;AAuVD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,WAAW,CAoFb;AA2ED,wEAAwE;AACxE,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GACzC,WAAW,CAiGb;AAED,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,MAAM,CAKR;AAiVD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACrC,cAAc,GAAG,IAAI,CAiBvB;AAED,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5F;AA4DD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,eAAe,UAAQ,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAST;AA0BD,oFAAoF;AACpF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG,SAAS,CAQ3E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,KAAK,GAAG,KAAK,EACzB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,OAAO,GAAG,IAAI,CAehB;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK7E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,GACjD,OAAO,GAAG,IAAI,CAyGhB;AAgHD,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAK5D;AAmCD,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAIlE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAMrE;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAOpB;AA4zFD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,4EAA4E;IAC5E,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;CAC/B;AA2MD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,MAAM,GACzB,aAAa,CAqGf;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GAC9D,aAAa,CAiBf;AAED;;;;GAIG;AACH,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAY9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,EACzD,QAAQ,SAAK,GACZ,aAAa,CA2Bf;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAOvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG;IACjD,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,WAAW,CAAC;CAC5C,CA0CA;AAiBD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAOhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GAC9D,aAAa,CAiDf;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GAC9D,aAAa,CAqDf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GAC9D,aAAa,CAsCf;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EAAE,EACvB,GAAG,EAAE,WAAW,EAAE,EAClB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,MAAM,GACzB,aAAa,CAoBf;AA+FD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,GAClB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAoCzD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CASjG;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,MAAM,GACzB,WAAW,CAEb;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAsBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAYnD;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIrD;AAkJD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,EAAE,CAelE"}
|
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") {
|
|
@@ -1263,6 +1263,36 @@ function bindBlock(block, values) {
|
|
|
1263
1263
|
}
|
|
1264
1264
|
}
|
|
1265
1265
|
}
|
|
1266
|
+
/**
|
|
1267
|
+
* A deep copy of a compiled plan, statement, or expression tree. Plans are plain data — objects,
|
|
1268
|
+
* arrays, primitives, and Date literals — so a direct recursive copy does what structuredClone
|
|
1269
|
+
* does at a fraction of its cost (structuredClone was a seventh of a point lookup). Anything the
|
|
1270
|
+
* plan is not expected to hold — a typed array, a Map, a class instance — falls back to
|
|
1271
|
+
* structuredClone for that value, so the copy is exact whatever arrives.
|
|
1272
|
+
*/
|
|
1273
|
+
export function clonePlanTree(value) {
|
|
1274
|
+
return cloneTreeValue(value);
|
|
1275
|
+
}
|
|
1276
|
+
function cloneTreeValue(value) {
|
|
1277
|
+
if (typeof value !== "object" || value === null)
|
|
1278
|
+
return value;
|
|
1279
|
+
if (value instanceof Date)
|
|
1280
|
+
return new Date(value.getTime());
|
|
1281
|
+
if (Array.isArray(value)) {
|
|
1282
|
+
const copy = new Array(value.length);
|
|
1283
|
+
for (let index = 0; index < value.length; index += 1)
|
|
1284
|
+
copy[index] = cloneTreeValue(value[index]);
|
|
1285
|
+
return copy;
|
|
1286
|
+
}
|
|
1287
|
+
const prototype = Object.getPrototypeOf(value);
|
|
1288
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
1289
|
+
return structuredClone(value);
|
|
1290
|
+
const copy = {};
|
|
1291
|
+
for (const key of Object.keys(value)) {
|
|
1292
|
+
copy[key] = cloneTreeValue(value[key]);
|
|
1293
|
+
}
|
|
1294
|
+
return copy;
|
|
1295
|
+
}
|
|
1266
1296
|
/**
|
|
1267
1297
|
* Replaces every placeholder with its parameter value as a literal. The input plan is never
|
|
1268
1298
|
* modified — plans come from the compile cache, so binding is copy-on-write. The parameter list
|
|
@@ -1274,7 +1304,7 @@ export function bindPlanParameters(plan, params) {
|
|
|
1274
1304
|
validateParameters(count, params);
|
|
1275
1305
|
if (count === 0)
|
|
1276
1306
|
return plan;
|
|
1277
|
-
const clone =
|
|
1307
|
+
const clone = clonePlanTree(plan);
|
|
1278
1308
|
bindBlock(clone, params ?? []);
|
|
1279
1309
|
delete clone.parameterCount;
|
|
1280
1310
|
return clone;
|
|
@@ -1297,7 +1327,7 @@ export function bindStatementParameters(statement, params) {
|
|
|
1297
1327
|
throw new TypeError("DDL statements take no parameters");
|
|
1298
1328
|
}
|
|
1299
1329
|
const values = params ?? [];
|
|
1300
|
-
const clone =
|
|
1330
|
+
const clone = clonePlanTree(statement);
|
|
1301
1331
|
delete clone.parameterCount;
|
|
1302
1332
|
if (clone.kind === "insert") {
|
|
1303
1333
|
if (clone.query !== undefined)
|
|
@@ -2085,7 +2115,7 @@ export function resolveStatementDatetimes(plan, now = new Date()) {
|
|
|
2085
2115
|
["CURRENT_TIMESTAMP", new Date(now.getTime())],
|
|
2086
2116
|
["LOCALTIME", iso.slice(11, 19)],
|
|
2087
2117
|
]);
|
|
2088
|
-
const resolved =
|
|
2118
|
+
const resolved = clonePlanTree(plan);
|
|
2089
2119
|
const substitute = (expression) => {
|
|
2090
2120
|
if (expression.kind === "subquery" || expression.kind === "exists") {
|
|
2091
2121
|
resolveBlock(expression.block);
|
|
@@ -2188,7 +2218,7 @@ export function planContainsFts(plan, op) {
|
|
|
2188
2218
|
export function expandFtsColumns(plan, searchableColumnsFor) {
|
|
2189
2219
|
if (!planContainsFts(plan))
|
|
2190
2220
|
return plan;
|
|
2191
|
-
plan =
|
|
2221
|
+
plan = clonePlanTree(plan);
|
|
2192
2222
|
const expand = (expression, block) => {
|
|
2193
2223
|
if (expression.kind === "subquery" || expression.kind === "exists") {
|
|
2194
2224
|
expandBlock(expression.block);
|
|
@@ -2543,10 +2573,11 @@ function containsFtsExpression(expression) {
|
|
|
2543
2573
|
* ROW_NUMBER numbers rows per partition, RANK shares ranks across ordering ties with gaps, and
|
|
2544
2574
|
* DENSE_RANK shares without gaps. Without OVER ordering every partition row is a peer.
|
|
2545
2575
|
*/
|
|
2546
|
-
export function applyWindowFunctions(result, windows) {
|
|
2547
|
-
|
|
2576
|
+
export function applyWindowFunctions(result, windows, options = {}) {
|
|
2577
|
+
// The window aliases are written onto the rows. A result that may be shared — one a block
|
|
2578
|
+
// cache also holds — is copied first; one computed for this call alone is written in place.
|
|
2579
|
+
const rows = options.copyRows === false ? result.rows : result.rows.map((row) => ({ ...row }));
|
|
2548
2580
|
for (const window of windows) {
|
|
2549
|
-
const indexes = rows.map((_, index) => index);
|
|
2550
2581
|
// Decorate before sorting: `comparable` was being re-run inside the comparator, so every
|
|
2551
2582
|
// key was converted O(n log n) times per alias instead of once per row. Precomputing the
|
|
2552
2583
|
// comparable value per row per alias makes the comparator pure array reads, and the
|
|
@@ -2559,38 +2590,15 @@ export function applyWindowFunctions(result, windows) {
|
|
|
2559
2590
|
// than re-read and re-dispatched per comparison; see sort-keys.ts.
|
|
2560
2591
|
const partitionColumns = partitionKeys.map((keys) => buildSortKeyColumn(keys.length, (index) => keys[index]));
|
|
2561
2592
|
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);
|
|
2593
|
+
// The sort is stable, so arrival order breaks the remaining ties, which is what makes the
|
|
2594
|
+
// walk deterministic.
|
|
2595
|
+
const indexes = sortKeyIndexes(rows.length, [
|
|
2596
|
+
...partitionColumns.map((column) => ({ column, descending: false, nulls: undefined })),
|
|
2597
|
+
...orderColumns.map((column, index) => {
|
|
2598
|
+
const term = window.orderAliases[index];
|
|
2599
|
+
return { column, descending: term?.direction === "desc", nulls: term?.nulls };
|
|
2600
|
+
}),
|
|
2601
|
+
]);
|
|
2594
2602
|
const samePartition = (left, right) => {
|
|
2595
2603
|
for (const column of partitionColumns) {
|
|
2596
2604
|
if (column.compare(left, right) !== 0)
|