@nifrajs/mcp-db 4.0.2 → 5.0.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 +2 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -8
- package/dist/index.js.map +1 -1
- package/dist/internal/pg-exec.d.ts +4 -7
- package/dist/internal/pg-exec.d.ts.map +1 -1
- package/dist/internal/pg-exec.js +13 -9
- package/dist/internal/pg-exec.js.map +1 -1
- package/dist/internal/shared.d.ts +22 -2
- package/dist/internal/shared.d.ts.map +1 -1
- package/dist/internal/shared.js +67 -4
- package/dist/internal/shared.js.map +1 -1
- package/dist/internal/sqlite-session.d.ts +11 -2
- package/dist/internal/sqlite-session.d.ts.map +1 -1
- package/dist/internal/sqlite-session.js +69 -15
- package/dist/internal/sqlite-session.js.map +1 -1
- package/dist/postgres.d.ts +4 -4
- package/dist/postgres.d.ts.map +1 -1
- package/dist/postgres.js +9 -14
- package/dist/postgres.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +47 -8
- package/src/internal/pg-exec.ts +17 -9
- package/src/internal/shared.ts +87 -7
- package/src/internal/sqlite-session.ts +89 -19
- package/src/postgres.ts +16 -20
package/README.md
CHANGED
|
@@ -98,8 +98,8 @@ Each layer refuses on its own, in this order:
|
|
|
98
98
|
|
|
99
99
|
`explainPostgres` returns the plan (with `analyze`, executed inside the same transaction),
|
|
100
100
|
`readPostgresSchema` reads tables, columns, keys and indexes from `pg_catalog`, and `postgresRoleSql`
|
|
101
|
-
writes the SQL for a read-only role (`
|
|
102
|
-
|
|
101
|
+
writes the SQL for a read-only role (`GRANT SELECT` on each allowed schema, with a `REVOKE` for each
|
|
102
|
+
excluded table and its partitions) without running it.
|
|
103
103
|
|
|
104
104
|
The live tests run against a throwaway server: set `NIFRA_TEST_POSTGRES_URL` to its superuser URL.
|
|
105
105
|
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Read-only is enforced in layers, not promised: `PRAGMA query_only = ON` on the connection
|
|
10
10
|
* (SQLite rejects every write at the engine), a single-statement gate, a SELECT/WITH-only gate,
|
|
11
|
-
* and
|
|
11
|
+
* and verification of the compiled statement that a query reads ONLY allowlisted tables. Results are
|
|
12
12
|
* capped by rows and bytes (an LLM does not need 100k rows; a transport does not want them) with
|
|
13
13
|
* an explicit `truncated` marker.
|
|
14
14
|
*
|
|
@@ -40,7 +40,11 @@ export interface RunQueryOptions {
|
|
|
40
40
|
readonly authorize: (context: McpDbAuthorizeContext) => boolean | Promise<boolean>;
|
|
41
41
|
/** Max rows returned per query (default 100). */
|
|
42
42
|
readonly maxRows?: number;
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Max serialized result size in bytes (default 100 KB). It also bounds what is read: a text or
|
|
45
|
+
* blob cell longer than this arrives as `"<n bytes>"`, and rows stop being read once their cells
|
|
46
|
+
* pass it, so a query cannot make the server hold more than about one row past the budget.
|
|
47
|
+
*/
|
|
44
48
|
readonly maxResultBytes?: number;
|
|
45
49
|
/**
|
|
46
50
|
* Maximum wall-clock time for planning, execution, and optional counting (default 5 seconds).
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAwD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAwD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EAML,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAA;AAO7B,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClF,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,mGAAmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;IACnC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAuBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,yBAAyB,GACjC,SAAS,CAmPX"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Read-only is enforced in layers, not promised: `PRAGMA query_only = ON` on the connection
|
|
10
10
|
* (SQLite rejects every write at the engine), a single-statement gate, a SELECT/WITH-only gate,
|
|
11
|
-
* and
|
|
11
|
+
* and verification of the compiled statement that a query reads ONLY allowlisted tables. Results are
|
|
12
12
|
* capped by rows and bytes (an LLM does not need 100k rows; a transport does not want them) with
|
|
13
13
|
* an explicit `truncated` marker.
|
|
14
14
|
*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* app.mount("/mcp", mcp.fetch)
|
|
24
24
|
*/
|
|
25
25
|
import { createMcpServer, defineMcpTool } from "@nifrajs/mcp";
|
|
26
|
-
import { boundedSqliteQuery, countSqliteQuery, fitToBytes, gateSqliteStatement, unexposedPlanRelation, } from "./internal/shared.js";
|
|
26
|
+
import { boundedSqliteQuery, cellBoundedSqliteQuery, countSqliteQuery, fitToBytes, gateSqliteStatement, unexposedPlanRelation, unexposedProgramRelation, } from "./internal/shared.js";
|
|
27
27
|
import { openQuerySession, QueryTimeoutError, } from "./internal/sqlite-session.js";
|
|
28
28
|
export class McpDbConfigError extends Error {
|
|
29
29
|
constructor(message) {
|
|
@@ -153,7 +153,20 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
153
153
|
return { isError: true, text: error.message };
|
|
154
154
|
return { isError: true, text: `query failed to plan: ${String(error)}` };
|
|
155
155
|
}
|
|
156
|
-
|
|
156
|
+
let catalog;
|
|
157
|
+
let program;
|
|
158
|
+
try {
|
|
159
|
+
catalog = await querySession.run("SELECT tbl_name, rootpage FROM sqlite_master WHERE rootpage > 0", deadline);
|
|
160
|
+
program = await querySession.run(`EXPLAIN ${query}`, deadline);
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
if (error instanceof QueryTimeoutError)
|
|
164
|
+
return { isError: true, text: error.message };
|
|
165
|
+
return { isError: true, text: `query failed to plan: ${String(error)}` };
|
|
166
|
+
}
|
|
167
|
+
// The plan names a scan by its alias; the program names the table by its root page.
|
|
168
|
+
const unexposed = unexposedPlanRelation(planRows, (relation) => allowlist.has(relation)) ??
|
|
169
|
+
unexposedProgramRelation(program, catalog, (relation) => allowlist.has(relation));
|
|
157
170
|
if (unexposed !== undefined) {
|
|
158
171
|
return {
|
|
159
172
|
isError: true,
|
|
@@ -161,23 +174,36 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
161
174
|
};
|
|
162
175
|
}
|
|
163
176
|
let limitedRows;
|
|
177
|
+
let cut = false;
|
|
164
178
|
try {
|
|
165
|
-
// Fetch at most one row beyond the advertised cap
|
|
166
|
-
//
|
|
167
|
-
|
|
179
|
+
// Fetch at most one row beyond the advertised cap, so `SELECT * FROM a_huge_table`
|
|
180
|
+
// cannot make the driver materialize every row. Where the driver names the columns,
|
|
181
|
+
// oversized cells and rows past the byte budget are never copied out either.
|
|
182
|
+
const bounded = boundedSqliteQuery(query, maxRows);
|
|
183
|
+
const columns = await querySession.columns(bounded, deadline);
|
|
184
|
+
if (columns.length === 0) {
|
|
185
|
+
limitedRows = await querySession.run(bounded, deadline);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
const read = await querySession.read(cellBoundedSqliteQuery(query, columns, maxRows, maxResultBytes), deadline, maxResultBytes);
|
|
189
|
+
limitedRows = read.rows;
|
|
190
|
+
cut = read.cut;
|
|
191
|
+
}
|
|
168
192
|
}
|
|
169
193
|
catch (error) {
|
|
170
194
|
if (error instanceof QueryTimeoutError)
|
|
171
195
|
return { isError: true, text: error.message };
|
|
172
196
|
return { isError: true, text: `query failed: ${String(error)}` };
|
|
173
197
|
}
|
|
174
|
-
const wasLimited = limitedRows.length > maxRows;
|
|
198
|
+
const wasLimited = limitedRows.length > maxRows || cut;
|
|
175
199
|
let total = limitedRows.length;
|
|
176
200
|
if (wasLimited && options.runQuery?.exactTotal === true) {
|
|
177
201
|
try {
|
|
178
202
|
const countRows = (await querySession.run(countSqliteQuery(query), deadline));
|
|
179
203
|
const count = countRows[0]?.__nifra_total;
|
|
180
|
-
if (typeof count !== "number" ||
|
|
204
|
+
if (typeof count !== "number" ||
|
|
205
|
+
!Number.isSafeInteger(count) ||
|
|
206
|
+
count < limitedRows.length) {
|
|
181
207
|
return { isError: true, text: "query failed: invalid row count" };
|
|
182
208
|
}
|
|
183
209
|
total = count;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAA;AACnG,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EAEnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,11 +87,8 @@ export interface CursorOptions {
|
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Declare the caller's query as a NO SCROLL cursor (the server accepts only SELECT/VALUES there and
|
|
90
|
-
* refuses a data-modifying WITH), check the plan's relations, then FETCH at most `maxRows + 1` rows
|
|
91
|
-
*
|
|
92
|
-
* The query is wrapped as a subquery so each row also carries the result's column names: Bun returns
|
|
93
|
-
* array rows without names, and object rows lose a duplicated name. The wrapper's first column is a
|
|
94
|
-
* JSON array of the names, read from the first row.
|
|
90
|
+
* refuses a data-modifying WITH), check the plan's relations, then FETCH at most `maxRows + 1` rows,
|
|
91
|
+
* the column names read from the first row (see {@link withColumnNames}).
|
|
95
92
|
*/
|
|
96
93
|
export declare function fetchThroughCursor(connection: PgConnection, sql: string, options: CursorOptions): Promise<{
|
|
97
94
|
readonly columns: string[];
|
|
@@ -104,8 +101,8 @@ export interface ExplainOptions {
|
|
|
104
101
|
}
|
|
105
102
|
/**
|
|
106
103
|
* Plan the caller's query. The cursor declaration runs first purely as the statement gate (then is
|
|
107
|
-
* closed), the VERBOSE plan feeds the scope check, and the returned plan
|
|
108
|
-
* with `analyze`, executed inside the same read-only transaction and timeout.
|
|
104
|
+
* closed), the VERBOSE plan of {@link withColumnNames} feeds the scope check, and the returned plan
|
|
105
|
+
* is plain `FORMAT JSON` - with `analyze`, executed inside the same read-only transaction and timeout.
|
|
109
106
|
*/
|
|
110
107
|
export declare function explainThroughServer(connection: PgConnection, sql: string, options: ExplainOptions): Promise<{
|
|
111
108
|
readonly plan: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-exec.d.ts","sourceRoot":"","sources":["../../src/internal/pg-exec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pg-exec.d.ts","sourceRoot":"","sources":["../../src/internal/pg-exec.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/pg-exec.js
CHANGED
|
@@ -242,16 +242,20 @@ export function planDocument(rows) {
|
|
|
242
242
|
const parsed = JSON.parse(value);
|
|
243
243
|
return parsed;
|
|
244
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* The caller's query as a subquery whose rows also carry the result's column names: Bun returns array
|
|
247
|
+
* rows without names, and object rows lose a duplicated name. The first column is a JSON array of the
|
|
248
|
+
* names. It is also what the scope check plans: a plan over one relation leaves its column names
|
|
249
|
+
* unqualified (`password_hash`, not `users.password_hash`), and the subquery makes every one qualified.
|
|
250
|
+
*/
|
|
251
|
+
const withColumnNames = (sql) => `SELECT (SELECT json_agg(nifra_k)::text FROM json_object_keys(row_to_json(nifra_q)) AS nifra_k) AS nifra_columns, nifra_q.* FROM (\n${sql}\n) AS nifra_q`;
|
|
245
252
|
/**
|
|
246
253
|
* Declare the caller's query as a NO SCROLL cursor (the server accepts only SELECT/VALUES there and
|
|
247
|
-
* refuses a data-modifying WITH), check the plan's relations, then FETCH at most `maxRows + 1` rows
|
|
248
|
-
*
|
|
249
|
-
* The query is wrapped as a subquery so each row also carries the result's column names: Bun returns
|
|
250
|
-
* array rows without names, and object rows lose a duplicated name. The wrapper's first column is a
|
|
251
|
-
* JSON array of the names, read from the first row.
|
|
254
|
+
* refuses a data-modifying WITH), check the plan's relations, then FETCH at most `maxRows + 1` rows,
|
|
255
|
+
* the column names read from the first row (see {@link withColumnNames}).
|
|
252
256
|
*/
|
|
253
257
|
export async function fetchThroughCursor(connection, sql, options) {
|
|
254
|
-
const wrapped =
|
|
258
|
+
const wrapped = withColumnNames(sql);
|
|
255
259
|
await extended(connection, `DECLARE nifra_c NO SCROLL CURSOR FOR ${wrapped}`);
|
|
256
260
|
const plan = planDocument(await extended(connection, `EXPLAIN (VERBOSE, FORMAT JSON) ${wrapped}`));
|
|
257
261
|
const refusal = await options.scope(connection, planReads(plan));
|
|
@@ -270,13 +274,13 @@ export async function fetchThroughCursor(connection, sql, options) {
|
|
|
270
274
|
}
|
|
271
275
|
/**
|
|
272
276
|
* Plan the caller's query. The cursor declaration runs first purely as the statement gate (then is
|
|
273
|
-
* closed), the VERBOSE plan feeds the scope check, and the returned plan
|
|
274
|
-
* with `analyze`, executed inside the same read-only transaction and timeout.
|
|
277
|
+
* closed), the VERBOSE plan of {@link withColumnNames} feeds the scope check, and the returned plan
|
|
278
|
+
* is plain `FORMAT JSON` - with `analyze`, executed inside the same read-only transaction and timeout.
|
|
275
279
|
*/
|
|
276
280
|
export async function explainThroughServer(connection, sql, options) {
|
|
277
281
|
await extended(connection, `DECLARE nifra_c NO SCROLL CURSOR FOR ${sql}`);
|
|
278
282
|
await connection.unsafe("CLOSE nifra_c");
|
|
279
|
-
const verbose = planDocument(await extended(connection, `EXPLAIN (VERBOSE, FORMAT JSON) ${sql}`));
|
|
283
|
+
const verbose = planDocument(await extended(connection, `EXPLAIN (VERBOSE, FORMAT JSON) ${withColumnNames(sql)}`));
|
|
280
284
|
const refusal = await options.scope(connection, planReads(verbose));
|
|
281
285
|
if (refusal !== undefined)
|
|
282
286
|
return refusal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-exec.js","sourceRoot":"","sources":["../../src/internal/pg-exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pg-exec.js","sourceRoot":"","sources":["../../src/internal/pg-exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAkB,SAAS,EAAE,MAAM,aAAa,CAAA;AAOvD,kFAAkF;AAClF,MAAM,UAAU,OAAO,CAAC,IAAwB;IAC9C,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAkC,EAAE,CACtC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CACjE,CAAA;AACH,CAAC;AAeD,6EAA6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,UAAwB,EAAE,IAAY;IAC7D,MAAM,OAAO,GAAyB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5E,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,aAAa,GACjB,8TAA8T,CAAA;AAEhU,gGAAgG;AAChG,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,OAAO,GAAG,cAAc;IAChE,wCAAwC;IACxC,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3F,MAAM,OAAO,GAAG,GAAG,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACxD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;IAC/F,IAAI,KAAK,KAAK,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IACD,IACE,KAAK,KAAK,OAAO;QACjB,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC3B,CAAC;QACD,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,CACd,8EAA8E,CAAC,IAAI,CAAC,IAAI,CAAC;YACvF,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,2BAA2B,EAC/B,OAAO,CACR,CAAA;IACH,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACrF,OAAO,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC;AAED,iGAAiG;AACjG,SAAS,MAAM,CAAC,SAAiB;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAsB,EACtB,SAAiB,EACjB,IAA0D;IAE1D,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5B,IAAI,UAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,CAAC;QACH,2GAA2G;QAC3G,MAAM,UAAU,CAAC,MAAM,CACrB,kDAAkD,EAAE,8BAA8B,EAAE,qDAAqD,EAAE,EAAE,CAC9I,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;QACD,UAAU,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAwCD,sGAAsG;AACtG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,OAAO;IACP,MAAM;IACN,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,MAAM;IACN,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,UAAU;CACX,CAAC,CAAA;AAEF,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,WAAW;IACX,OAAO;IACP,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;CACb,CAAC,CAAA;AAEF,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,WAAW;IACX,eAAe;IACf,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,UAAU;IACV,eAAe;IACf,cAAc;IACd,qBAAqB;CACtB,CAAC,CAAA;AAEF,wGAAwG;AACxG,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAA;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAA;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,yEAAyE;IACzE,MAAM,eAAe,GAA0B,EAAE,CAAA;IACjD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,KAAa,EAAE,SAAkB,EAAQ,EAAE;QACvE,IAAI,KAAK,GAAG,GAAG,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAM;QACpE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI;YACzB,CAAC,eAAe,EAAE,SAAS,CAAC;YAC5B,CAAC,eAAe,EAAE,SAAS,CAAC;SACpB,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,6FAA6F;QAC7F,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAA;QAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;iBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAA;gBAC9E,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG;oBAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;oBACnD,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;QACvC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACtC,KAAK,CACH,KAAK,CAAC,OAAO,CAAC,EACd,KAAK,GAAG,CAAC,EACT,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAChE,CAAA;IACH,CAAC,CAAA;IACD,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAErB,MAAM,OAAO,GAAiB,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,0FAA0F;QAC1F,IAAI,QAAkC,CAAA;QACtC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YACvC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;YACvC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;YACvC,MAAM,KAAK,GAAG,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnF,IACE,MAAM,CAAC,MAAM,KAAK,CAAC;gBACnB,KAAK,KAAK,SAAS;gBACnB,GAAG,EAAE,KAAK,KAAK,GAAG;gBAClB,MAAM,EAAE,IAAI,KAAK,MAAM;gBACvB,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,EAC9C,CAAC;gBACD,QAAQ,GAAG,SAAS,CAAA;gBACpB,MAAK;YACP,CAAC;YACD,QAAQ,GAAG,KAAK,CAAA;YAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;;YAClE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1E,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG;gBAAE,SAAQ;YACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAQ;YAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE;oBACjE,QAAQ;oBACR,MAAM,EAAE,MAAM,CAAC,KAAK;iBACrB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAClC,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO;KACR,CAAA;AACH,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAAC,IAAwB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,MAAM,CAAA;AACf,CAAC;AAcD;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE,CAC9C,sIAAsI,GAAG,gBAAgB,CAAA;AAE3J;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAwB,EACxB,GAAW,EACX,OAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,QAAQ,CAAC,UAAU,EAAE,wCAAwC,OAAO,EAAE,CAAC,CAAA;IAC7E,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,kCAAkC,OAAO,EAAE,CAAC,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;IAClC,MAAM,OAAO;IACX,yFAAyF;IACzF,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,iBAAiB,MAAM,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC/E,CAAC,GAAG,EAAoB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAC9C,CAAA;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAY,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAClE,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9D,CAAC;AAQD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAwB,EACxB,GAAW,EACX,OAAuB;IAEvB,MAAM,QAAQ,CAAC,UAAU,EAAE,wCAAwC,GAAG,EAAE,CAAC,CAAA;IACzE,MAAM,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,YAAY,CAC1B,MAAM,QAAQ,CAAC,UAAU,EAAE,kCAAkC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CACrF,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa,CAAA;IACrE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,YAAY,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAA;AACvF,CAAC"}
|
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/** The structural slice of `bun:sqlite`'s `Database` this package needs. */
|
|
7
7
|
export interface SqliteDatabaseLike {
|
|
8
|
-
/** Prepare a statement; `all` runs it and returns row objects.
|
|
8
|
+
/** Prepare a statement; `all` runs it and returns row objects. `columnNames` and `iterate`, which
|
|
9
|
+
* bun:sqlite has, let `run_query` bound cell bytes and stop reading rows once the budget is spent. */
|
|
9
10
|
prepare(sql: string): {
|
|
10
11
|
all(...params: unknown[]): unknown[];
|
|
12
|
+
readonly columnNames?: readonly string[];
|
|
13
|
+
iterate?(): Iterable<unknown>;
|
|
11
14
|
};
|
|
12
15
|
/** Execute a statement for its side effect (used only for `PRAGMA query_only`). */
|
|
13
16
|
run(sql: string): unknown;
|
|
@@ -48,7 +51,7 @@ export type SqliteGate = {
|
|
|
48
51
|
};
|
|
49
52
|
/**
|
|
50
53
|
* Gate one statement before SQLite sees it: non-empty, a single statement, SELECT/WITH only, and every
|
|
51
|
-
* relation it names after `FROM`/`JOIN` exposed. Returns the statement without its terminator, ready
|
|
54
|
+
* relation it names after `FROM`/`JOIN`/`IN` exposed. Returns the statement without its terminator, ready
|
|
52
55
|
* to wrap. Relation names are checked here as well as in the plan because SQLite's plan names an
|
|
53
56
|
* alias as the scan target (`users AS habits` plans as `SCAN habits`).
|
|
54
57
|
*/
|
|
@@ -60,8 +63,25 @@ export declare function gateSqliteStatement(input: string, exposed: (relation: s
|
|
|
60
63
|
export declare function unexposedPlanRelation(planRows: readonly {
|
|
61
64
|
readonly detail?: unknown;
|
|
62
65
|
}[], exposed: (relation: string) => boolean): string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* The first table a compiled statement opens that `exposed` rejects, or `undefined` when every b-tree
|
|
68
|
+
* it opens belongs to an exposed table (an index counts as its table). `program` is the statement's
|
|
69
|
+
* `EXPLAIN` rows and `catalog` is `SELECT tbl_name, rootpage FROM sqlite_master WHERE rootpage > 0`.
|
|
70
|
+
* The program names what SQLite will read by root page, so no alias, CTE name or quoting changes it.
|
|
71
|
+
* A virtual table or table-valued function (`VOpen`) names no table at all and is never exposed.
|
|
72
|
+
*/
|
|
73
|
+
export declare function unexposedProgramRelation(program: readonly unknown[], catalog: readonly unknown[], exposed: (relation: string) => boolean): string | undefined;
|
|
63
74
|
/** Wrap a gated query so SQLite materializes at most one row beyond `maxRows`. */
|
|
64
75
|
export declare function boundedSqliteQuery(query: string, maxRows: number): string;
|
|
76
|
+
/** The column {@link cellBoundedSqliteQuery} adds to carry each row's cell bytes. */
|
|
77
|
+
export declare const ROW_BYTES_COLUMN = "__nifra_row_bytes";
|
|
78
|
+
/**
|
|
79
|
+
* {@link boundedSqliteQuery}, plus two bounds the driver cannot apply itself: a text or blob cell
|
|
80
|
+
* longer than `maxCellBytes` arrives as `"<n bytes>"` instead of being copied out, and each row
|
|
81
|
+
* carries its cells' byte total in {@link ROW_BYTES_COLUMN} so a reader can stop once the result
|
|
82
|
+
* budget is spent. `columns` are the result column names of the bounded query.
|
|
83
|
+
*/
|
|
84
|
+
export declare function cellBoundedSqliteQuery(query: string, columns: readonly string[], maxRows: number, maxCellBytes: number): string;
|
|
65
85
|
/** Wrap a gated query to count its rows (re-executes it). */
|
|
66
86
|
export declare function countSqliteQuery(query: string): string;
|
|
67
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/shared.js
CHANGED
|
@@ -144,7 +144,7 @@ function tokenizeSql(sql) {
|
|
|
144
144
|
/** True when `token` is the unquoted keyword `word` (case-insensitive). */
|
|
145
145
|
const isKeyword = (token, word) => token?.bare === true && token.value.toLowerCase() === word;
|
|
146
146
|
/**
|
|
147
|
-
* Every relation the statement names after `FROM`/`JOIN`, lowercased, with CTE names excluded.
|
|
147
|
+
* Every relation the statement names after `FROM`/`JOIN`/`IN`, lowercased, with CTE names excluded.
|
|
148
148
|
* A schema qualifier resolves to its table (`main.habits` -> `habits`); a subquery contributes
|
|
149
149
|
* nothing of its own because its inner `FROM` is tokenized alongside everything else.
|
|
150
150
|
*/
|
|
@@ -167,14 +167,16 @@ function relationNames(sql) {
|
|
|
167
167
|
// A qualified reference names the table second; an unqualified one names it first.
|
|
168
168
|
const qualified = tokens[index + 1]?.value === "." && tokens[index + 2]?.kind === "word";
|
|
169
169
|
const table = qualified ? tokens[index + 2].value : first.value;
|
|
170
|
-
return { name: table.toLowerCase(), next: qualified ? index + 3 : index + 1 };
|
|
170
|
+
return { name: table.toLowerCase(), qualified, next: qualified ? index + 3 : index + 1 };
|
|
171
171
|
};
|
|
172
172
|
const addRelation = (index) => {
|
|
173
173
|
const relation = relationAt(index);
|
|
174
174
|
if (relation === undefined)
|
|
175
175
|
return undefined;
|
|
176
|
-
|
|
176
|
+
// A CTE is never schema-qualified: `main.users` is the table even beside a CTE named `users`.
|
|
177
|
+
if (relation.name !== "" && (relation.qualified || !ctes.has(relation.name))) {
|
|
177
178
|
names.push(relation.name);
|
|
179
|
+
}
|
|
178
180
|
return relation.next;
|
|
179
181
|
};
|
|
180
182
|
// Comma joins are part of the FROM table-source grammar but do not have a JOIN keyword. Walk the
|
|
@@ -195,6 +197,11 @@ function relationNames(sql) {
|
|
|
195
197
|
"returning",
|
|
196
198
|
]);
|
|
197
199
|
for (let i = 0; i < tokens.length; i++) {
|
|
200
|
+
// `x IN users` and `x IN json_each(...)` read a relation without a FROM.
|
|
201
|
+
if (isKeyword(tokens[i], "in")) {
|
|
202
|
+
addRelation(i + 1);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
198
205
|
const from = isKeyword(tokens[i], "from");
|
|
199
206
|
const join = isKeyword(tokens[i], "join");
|
|
200
207
|
if (!from && !join)
|
|
@@ -379,7 +386,7 @@ function executableSql(sql) {
|
|
|
379
386
|
}
|
|
380
387
|
/**
|
|
381
388
|
* Gate one statement before SQLite sees it: non-empty, a single statement, SELECT/WITH only, and every
|
|
382
|
-
* relation it names after `FROM`/`JOIN` exposed. Returns the statement without its terminator, ready
|
|
389
|
+
* relation it names after `FROM`/`JOIN`/`IN` exposed. Returns the statement without its terminator, ready
|
|
383
390
|
* to wrap. Relation names are checked here as well as in the plan because SQLite's plan names an
|
|
384
391
|
* alias as the scan target (`users AS habits` plans as `SCAN habits`).
|
|
385
392
|
*/
|
|
@@ -435,11 +442,67 @@ export function unexposedPlanRelation(planRows, exposed) {
|
|
|
435
442
|
}
|
|
436
443
|
return undefined;
|
|
437
444
|
}
|
|
445
|
+
// The opcodes that open a b-tree cursor.
|
|
446
|
+
const BTREE_OPEN_OPCODES = new Set(["OpenRead", "OpenWrite", "ReopenIdx"]);
|
|
447
|
+
const field = (row, key) => typeof row === "object" && row !== null ? Reflect.get(row, key) : undefined;
|
|
448
|
+
/**
|
|
449
|
+
* The first table a compiled statement opens that `exposed` rejects, or `undefined` when every b-tree
|
|
450
|
+
* it opens belongs to an exposed table (an index counts as its table). `program` is the statement's
|
|
451
|
+
* `EXPLAIN` rows and `catalog` is `SELECT tbl_name, rootpage FROM sqlite_master WHERE rootpage > 0`.
|
|
452
|
+
* The program names what SQLite will read by root page, so no alias, CTE name or quoting changes it.
|
|
453
|
+
* A virtual table or table-valued function (`VOpen`) names no table at all and is never exposed.
|
|
454
|
+
*/
|
|
455
|
+
export function unexposedProgramRelation(program, catalog, exposed) {
|
|
456
|
+
const tables = new Map([[1, "sqlite_master"]]);
|
|
457
|
+
for (const entry of catalog) {
|
|
458
|
+
const table = field(entry, "tbl_name");
|
|
459
|
+
if (typeof table === "string")
|
|
460
|
+
tables.set(Number(field(entry, "rootpage")), table);
|
|
461
|
+
}
|
|
462
|
+
for (const step of program) {
|
|
463
|
+
const opcode = field(step, "opcode");
|
|
464
|
+
if (opcode === "VOpen")
|
|
465
|
+
return "<virtual table>";
|
|
466
|
+
if (typeof opcode !== "string" || !BTREE_OPEN_OPCODES.has(opcode))
|
|
467
|
+
continue;
|
|
468
|
+
// P3 is the schema: 0 is main; temp (1) and attached databases (2+) are not in this catalog.
|
|
469
|
+
const schema = Number(field(step, "p3"));
|
|
470
|
+
if (schema !== 0)
|
|
471
|
+
return `<schema ${schema}>`;
|
|
472
|
+
const page = Number(field(step, "p2"));
|
|
473
|
+
const table = tables.get(page);
|
|
474
|
+
if (table === undefined)
|
|
475
|
+
return `<root page ${page}>`;
|
|
476
|
+
if (!exposed(table.toLowerCase()))
|
|
477
|
+
return table;
|
|
478
|
+
}
|
|
479
|
+
return undefined;
|
|
480
|
+
}
|
|
438
481
|
/** Wrap a gated query so SQLite materializes at most one row beyond `maxRows`. */
|
|
439
482
|
export function boundedSqliteQuery(query, maxRows) {
|
|
440
483
|
// nifra-expect sql-dynamic: wraps a query already through gateSqliteStatement in a bounding subselect; it runs on a query-only connection
|
|
441
484
|
return `SELECT * FROM (${query}) AS "__nifra_result" LIMIT ${maxRows + 1}`;
|
|
442
485
|
}
|
|
486
|
+
/** The column {@link cellBoundedSqliteQuery} adds to carry each row's cell bytes. */
|
|
487
|
+
export const ROW_BYTES_COLUMN = "__nifra_row_bytes";
|
|
488
|
+
/**
|
|
489
|
+
* {@link boundedSqliteQuery}, plus two bounds the driver cannot apply itself: a text or blob cell
|
|
490
|
+
* longer than `maxCellBytes` arrives as `"<n bytes>"` instead of being copied out, and each row
|
|
491
|
+
* carries its cells' byte total in {@link ROW_BYTES_COLUMN} so a reader can stop once the result
|
|
492
|
+
* budget is spent. `columns` are the result column names of the bounded query.
|
|
493
|
+
*/
|
|
494
|
+
export function cellBoundedSqliteQuery(query, columns, maxRows, maxCellBytes) {
|
|
495
|
+
const selected = [];
|
|
496
|
+
const sizes = [];
|
|
497
|
+
for (const name of columns) {
|
|
498
|
+
const column = `"${name.replaceAll('"', '""')}"`;
|
|
499
|
+
const bytes = `length(CAST(${column} AS BLOB))`;
|
|
500
|
+
selected.push(`CASE WHEN typeof(${column}) IN ('text', 'blob') AND ${bytes} > ${maxCellBytes} THEN '<' || ${bytes} || ' bytes>' ELSE ${column} END AS ${column}`);
|
|
501
|
+
sizes.push(`min(coalesce(${bytes}, 0), ${maxCellBytes})`);
|
|
502
|
+
}
|
|
503
|
+
// nifra-expect sql-dynamic: wraps a query already through gateSqliteStatement; column names are quoted identifiers and the bounds are validated integers
|
|
504
|
+
return `SELECT ${selected.join(", ")}, ${sizes.join(" + ")} AS "${ROW_BYTES_COLUMN}" FROM (${query}) AS "__nifra_result" LIMIT ${maxRows + 1}`;
|
|
505
|
+
}
|
|
443
506
|
/** Wrap a gated query to count its rows (re-executes it). */
|
|
444
507
|
export function countSqliteQuery(query) {
|
|
445
508
|
// nifra-expect sql-dynamic: wraps a query already through gateSqliteStatement in a counting subselect; it runs on a query-only connection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,22 @@
|
|
|
3
3
|
* in-process lane for one that cannot be reopened. Not part of the public engine - the CLI's database
|
|
4
4
|
* tool runs each query in its own subprocess instead, which bounds the work by killing the process.
|
|
5
5
|
*/
|
|
6
|
-
import type
|
|
6
|
+
import { type SqliteDatabaseLike } from "./shared.js";
|
|
7
7
|
export declare class QueryTimeoutError extends Error {
|
|
8
8
|
constructor();
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
10
|
+
/** Rows read until their bytes passed the budget; `cut` says reading stopped early. */
|
|
11
|
+
export interface BoundedRows {
|
|
12
|
+
readonly rows: unknown[];
|
|
13
|
+
readonly cut: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** One execution lane for `run_query`: each call resolves, or rejects once the deadline passes. */
|
|
11
16
|
export interface QuerySession {
|
|
12
17
|
run(sql: string, deadline: number): Promise<unknown[]>;
|
|
18
|
+
/** The result column names of `sql`, without running it. Empty when the driver cannot say. */
|
|
19
|
+
columns(sql: string, deadline: number): Promise<readonly string[]>;
|
|
20
|
+
/** Rows of a `cellBoundedSqliteQuery`, read one at a time until their bytes pass `maxBytes`. */
|
|
21
|
+
read(sql: string, deadline: number, maxBytes: number): Promise<BoundedRows>;
|
|
13
22
|
close(): Promise<void>;
|
|
14
23
|
}
|
|
15
24
|
/**
|