@nifrajs/mcp-db 5.5.0 → 5.6.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/CHANGELOG.md +25 -0
- package/README.md +10 -5
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -37
- package/dist/index.js.map +1 -1
- package/dist/internal/pg-exec.d.ts +4 -0
- package/dist/internal/pg-exec.d.ts.map +1 -1
- package/dist/internal/pg-exec.js +9 -3
- package/dist/internal/pg-exec.js.map +1 -1
- package/dist/internal/pg-lexer.d.ts +10 -0
- package/dist/internal/pg-lexer.d.ts.map +1 -1
- package/dist/internal/pg-lexer.js +103 -0
- package/dist/internal/pg-lexer.js.map +1 -1
- package/dist/internal/shared.d.ts +5 -4
- package/dist/internal/shared.d.ts.map +1 -1
- package/dist/internal/shared.js +91 -113
- package/dist/internal/shared.js.map +1 -1
- package/dist/postgres.d.ts.map +1 -1
- package/dist/postgres.js +14 -5
- package/dist/postgres.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +57 -49
- package/src/internal/pg-exec.ts +9 -3
- package/src/internal/pg-lexer.ts +104 -0
- package/src/internal/shared.ts +88 -107
- package/src/postgres.ts +25 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @nifrajs/mcp-db
|
|
2
2
|
|
|
3
|
+
## 5.6.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e1abda9: Postgres queries and plans run again on Bun 1.4.4. `queryPostgres`, `explainPostgres`, `nifra db query` and the `nifra_db_query` tool had answered every statement with `NIFRA_DB_DRIVER`, because Bun.SQL now refuses a statement whose template object is not shaped like a real one.
|
|
8
|
+
|
|
9
|
+
With `redaction`, a query that gives a table a column alias list (`FROM users AS t(a, b)`) is refused while any relation it reads holds a masked column: the plan names that table's columns by the list, so it cannot show which real column is read. `ts_stat`, `ts_rewrite`, `crosstab` and `connectby` are refused with the other functions that run SQL from a string the plan check cannot see.
|
|
10
|
+
|
|
11
|
+
Every Postgres read runs with JIT off. The schema read's catalog queries crossed the JIT cost threshold, and compiling them ran past the timeout on a stock Ubuntu server, so `nifra db schema` and `nifra_db_schema` answered `NIFRA_DB_TIMEOUT` there.
|
|
12
|
+
- 578f9dd: `run_query` answers a query that gives a table an alias (`SELECT h.name FROM habits h`). It had refused every one as touching the alias, because SQLite's query plan names a scan by its alias; the compiled statement, which names each table it opens, decides alone.
|
|
13
|
+
|
|
14
|
+
The SQLite statement gate, behind both `run_query` and `querySqlite`, reads `` `x` `` and `[x]` identifiers as quoted, so a `;` or `--` inside one no longer refuses or cuts the query. A comment after the statement is dropped before the query is wrapped.
|
|
15
|
+
|
|
16
|
+
`list_tables` counts rows in the same lane as `run_query`, within its time limit, and reuses the counts for 10 seconds. A count past the limit is reported as `null`. Before, every anonymous call counted every table on the serving thread with no limit.
|
|
17
|
+
- Updated dependencies [0b9fed9]
|
|
18
|
+
- Updated dependencies [4bc7d8d]
|
|
19
|
+
- Updated dependencies [4bc7d8d]
|
|
20
|
+
- @nifrajs/mcp@5.6.0
|
|
21
|
+
|
|
22
|
+
## 5.5.1
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- @nifrajs/mcp@5.5.1
|
|
27
|
+
|
|
3
28
|
## 5.5.0
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -18,8 +18,10 @@ const mcp = serveDatabaseAsMcp(new Database("app.db"), {
|
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Only `list_tables` and `describe_table` are exposed by default, restricted to the explicit table
|
|
21
|
-
allowlist. `
|
|
22
|
-
|
|
21
|
+
allowlist. `list_tables` counts rows in the same lane as `run_query`, within its time limit, and
|
|
22
|
+
reuses the counts for 10 seconds. `run_query` requires an authorization hook and is guarded by SQLite
|
|
23
|
+
query-only mode, single-statement/read-only checks, verification of the compiled statement, and
|
|
24
|
+
bounded output. D1 is not supported
|
|
23
25
|
because it cannot provide the same engine-level read-only guarantee.
|
|
24
26
|
|
|
25
27
|
## The engine: `@nifrajs/mcp-db/engine`
|
|
@@ -78,8 +80,9 @@ Each layer refuses on its own, in this order:
|
|
|
78
80
|
1. **Host.** Only loopback, `*.localhost` and unix sockets connect unless `allowHosts` names the host.
|
|
79
81
|
URL parameters other than host, port, user, password, database and `sslmode` are ignored.
|
|
80
82
|
2. **Tokenizer.** One SELECT, WITH, VALUES or TABLE statement; row-locking clauses, unicode-escaped
|
|
81
|
-
identifiers
|
|
82
|
-
|
|
83
|
+
identifiers, functions that reach outside a query (server files, `dblink`, `set_config`, advisory
|
|
84
|
+
locks, `pg_notify`, `nextval`, backend signals) and functions that run SQL from a string the plan
|
|
85
|
+
check cannot see (`query_to_xml`, `ts_stat`, `ts_rewrite`, `crosstab`, `connectby`) are refused.
|
|
83
86
|
3. **Read-only transaction.** `BEGIN READ ONLY` with `statement_timeout`, `lock_timeout` and
|
|
84
87
|
`idle_in_transaction_session_timeout` set to `timeoutMs`, always rolled back. Sessions also start
|
|
85
88
|
with `default_transaction_read_only = on`.
|
|
@@ -94,7 +97,9 @@ Each layer refuses on its own, in this order:
|
|
|
94
97
|
every `pg_catalog` function scanned in FROM must sit in `schemas` (default `public`) and outside
|
|
95
98
|
`exclude`. With `redaction`, a column `redaction.column` matches that any plan expression uses
|
|
96
99
|
(output, filter, join, sort or index condition), or a whole row holding one, is refused
|
|
97
|
-
(`NIFRA_DB_COLUMN_REFUSED`).
|
|
100
|
+
(`NIFRA_DB_COLUMN_REFUSED`). A plan names a scan's columns by the table's column alias list
|
|
101
|
+
(`FROM users AS t(a, b)`), so while any relation the query reads holds a matching column, a query
|
|
102
|
+
that gives a table one is refused as well.
|
|
98
103
|
|
|
99
104
|
`explainPostgres` returns the plan (with `analyze`, executed inside the same transaction),
|
|
100
105
|
`readPostgresSchema` reads tables, columns, keys and indexes from `pg_catalog`, and `postgresRoleSql`
|
package/dist/index.d.ts
CHANGED
|
@@ -47,7 +47,8 @@ export interface RunQueryOptions {
|
|
|
47
47
|
*/
|
|
48
48
|
readonly maxResultBytes?: number;
|
|
49
49
|
/**
|
|
50
|
-
* Maximum wall-clock time for planning, execution, and optional counting (default 5 seconds).
|
|
50
|
+
* Maximum wall-clock time for planning, execution, and optional counting (default 5 seconds). It
|
|
51
|
+
* also bounds `list_tables`' row counts, at the same 5-second default when `runQuery` is omitted.
|
|
51
52
|
* The deadline always bounds the RESPONSE. Whether it also stops the WORK depends on where the
|
|
52
53
|
* query runs: a file-backed database runs it in a reusable read-only worker that is terminated
|
|
53
54
|
* on expiry, while an in-memory database (or a shim with no `filename`) runs it on this thread,
|
|
@@ -75,7 +76,7 @@ export interface ServeDatabaseAsMcpOptions {
|
|
|
75
76
|
/**
|
|
76
77
|
* Set `PRAGMA query_only = ON` on the connection at construction (default true). Disable ONLY
|
|
77
78
|
* when the same connection must also serve writes elsewhere in the app - with it disabled,
|
|
78
|
-
* `run_query` still gates on SELECT/WITH +
|
|
79
|
+
* `run_query` still gates on SELECT/WITH + compiled-statement verification, but the engine-level guarantee is
|
|
79
80
|
* yours to provide (e.g. open a second, read-only connection for the MCP mount - preferred).
|
|
80
81
|
*/
|
|
81
82
|
readonly enforceQueryOnly?: boolean;
|
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,EAML,KAAK,kBAAkB,
|
|
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,EAExB,MAAM,sBAAsB,CAAA;AAG7B,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;;;;;;;;OAQG;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;AA2BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,yBAAyB,GACjC,SAAS,CA2PX"}
|
package/dist/index.js
CHANGED
|
@@ -23,14 +23,17 @@
|
|
|
23
23
|
* app.mount("/mcp", mcp.fetch)
|
|
24
24
|
*/
|
|
25
25
|
import { createMcpServer, defineMcpTool } from "@nifrajs/mcp";
|
|
26
|
-
import { boundedSqliteQuery, cellBoundedSqliteQuery, countSqliteQuery, fitToBytes, gateSqliteStatement,
|
|
27
|
-
import { openQuerySession, QueryTimeoutError
|
|
26
|
+
import { boundedSqliteQuery, cellBoundedSqliteQuery, countSqliteQuery, fitToBytes, gateSqliteStatement, unexposedProgramRelation, } from "./internal/shared.js";
|
|
27
|
+
import { openQuerySession, QueryTimeoutError } from "./internal/sqlite-session.js";
|
|
28
28
|
export class McpDbConfigError extends Error {
|
|
29
29
|
constructor(message) {
|
|
30
30
|
super(`@nifrajs/mcp-db: ${message}`);
|
|
31
31
|
this.name = "McpDbConfigError";
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
// A count reads the whole table and the schema tools answer anyone, so one count per table serves
|
|
35
|
+
// every listing for this long instead of each call scanning again.
|
|
36
|
+
const ROW_COUNT_TTL_MS = 10_000;
|
|
34
37
|
/** A safe SQL identifier - quoting is not enough for PRAGMA args, so reject instead. */
|
|
35
38
|
const SAFE_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
36
39
|
/** Build SQL containing identifiers only after validating every substitution at this boundary. */
|
|
@@ -81,18 +84,43 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
81
84
|
assertResultLimit(queryTimeoutMs, "queryTimeoutMs");
|
|
82
85
|
assertResultLimit(maxConcurrentQueries, "maxConcurrentQueries");
|
|
83
86
|
let activeQueries = 0;
|
|
84
|
-
|
|
87
|
+
// One lane for the life of the server, picked once here and shared by the row counts and run_query.
|
|
88
|
+
const session = openQuerySession(db);
|
|
89
|
+
const countTables = async () => {
|
|
90
|
+
const deadline = Date.now() + queryTimeoutMs;
|
|
91
|
+
const tables = [];
|
|
92
|
+
for (const table of options.tables) {
|
|
93
|
+
let rows = null;
|
|
94
|
+
try {
|
|
95
|
+
const [count] = await session.run(
|
|
96
|
+
// nifra-expect sql-dynamic: table name from the operator-configured allowlist, escaped by sqlIdentifier; SQL cannot bind an identifier as a parameter
|
|
97
|
+
sqlIdentifiers `SELECT count(*) AS n FROM "${table}"`, deadline);
|
|
98
|
+
if (typeof count === "object" && count !== null && "n" in count)
|
|
99
|
+
rows = count.n;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
if (!(error instanceof QueryTimeoutError))
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
tables.push({ table, rows });
|
|
106
|
+
}
|
|
107
|
+
return tables;
|
|
108
|
+
};
|
|
109
|
+
let listing;
|
|
85
110
|
const listTables = defineMcpTool({
|
|
86
111
|
name: "list_tables",
|
|
87
|
-
description: "List the tables this server exposes, with row counts.",
|
|
88
|
-
handler: () => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
112
|
+
description: "List the tables this server exposes, with row counts (refreshed at most every 10 seconds; null when a count runs past the query time limit).",
|
|
113
|
+
handler: async () => {
|
|
114
|
+
if (listing === undefined || Date.now() - listing.at >= ROW_COUNT_TTL_MS) {
|
|
115
|
+
const tables = countTables();
|
|
116
|
+
const current = { at: Date.now(), tables };
|
|
117
|
+
listing = current;
|
|
118
|
+
tables.catch(() => {
|
|
119
|
+
if (listing === current)
|
|
120
|
+
listing = undefined;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
const rows = await listing.tables;
|
|
96
124
|
return { text: JSON.stringify(rows), structuredContent: { tables: rows } };
|
|
97
125
|
},
|
|
98
126
|
});
|
|
@@ -117,9 +145,6 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
117
145
|
});
|
|
118
146
|
const tools = [listTables, describeTable];
|
|
119
147
|
if (options.runQuery !== undefined) {
|
|
120
|
-
// One lane for the life of the server: picked once here, so the handler below always has it.
|
|
121
|
-
const querySession = openQuerySession(db);
|
|
122
|
-
session = querySession;
|
|
123
148
|
const runQuery = defineMcpTool({
|
|
124
149
|
name: "run_query",
|
|
125
150
|
description: "Run one read-only SELECT against the exposed tables. Results are capped by rows and bytes.",
|
|
@@ -141,32 +166,21 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
141
166
|
if (!gate.ok)
|
|
142
167
|
return { isError: true, text: gate.text };
|
|
143
168
|
const deadline = Date.now() + queryTimeoutMs;
|
|
144
|
-
// Verify via the query plan that only allowlisted tables are touched. SQLite names every
|
|
145
|
-
// scanned/searched relation in EXPLAIN QUERY PLAN detail rows.
|
|
146
169
|
const query = gate.query;
|
|
147
|
-
let planRows;
|
|
148
|
-
try {
|
|
149
|
-
planRows = (await querySession.run(`EXPLAIN QUERY PLAN ${query}`, deadline));
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
if (error instanceof QueryTimeoutError)
|
|
153
|
-
return { isError: true, text: error.message };
|
|
154
|
-
return { isError: true, text: `query failed to plan: ${String(error)}` };
|
|
155
|
-
}
|
|
156
170
|
let catalog;
|
|
157
171
|
let program;
|
|
158
172
|
try {
|
|
159
|
-
catalog = await
|
|
160
|
-
program = await
|
|
173
|
+
catalog = await session.run("SELECT tbl_name, rootpage FROM sqlite_master WHERE rootpage > 0", deadline);
|
|
174
|
+
program = await session.run(`EXPLAIN ${query}`, deadline);
|
|
161
175
|
}
|
|
162
176
|
catch (error) {
|
|
163
177
|
if (error instanceof QueryTimeoutError)
|
|
164
178
|
return { isError: true, text: error.message };
|
|
165
179
|
return { isError: true, text: `query failed to plan: ${String(error)}` };
|
|
166
180
|
}
|
|
167
|
-
// The
|
|
168
|
-
|
|
169
|
-
|
|
181
|
+
// The program names each table it opens by root page. EXPLAIN QUERY PLAN cannot stand in:
|
|
182
|
+
// it names a scan by its alias (`FROM habits h` plans as `SCAN h`).
|
|
183
|
+
const unexposed = unexposedProgramRelation(program, catalog, (relation) => allowlist.has(relation));
|
|
170
184
|
if (unexposed !== undefined) {
|
|
171
185
|
return {
|
|
172
186
|
isError: true,
|
|
@@ -180,12 +194,12 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
180
194
|
// cannot make the driver materialize every row. Where the driver names the columns,
|
|
181
195
|
// oversized cells and rows past the byte budget are never copied out either.
|
|
182
196
|
const bounded = boundedSqliteQuery(query, maxRows);
|
|
183
|
-
const columns = await
|
|
197
|
+
const columns = await session.columns(bounded, deadline);
|
|
184
198
|
if (columns.length === 0) {
|
|
185
|
-
limitedRows = await
|
|
199
|
+
limitedRows = await session.run(bounded, deadline);
|
|
186
200
|
}
|
|
187
201
|
else {
|
|
188
|
-
const read = await
|
|
202
|
+
const read = await session.read(cellBoundedSqliteQuery(query, columns, maxRows, maxResultBytes), deadline, maxResultBytes);
|
|
189
203
|
limitedRows = read.rows;
|
|
190
204
|
cut = read.cut;
|
|
191
205
|
}
|
|
@@ -199,7 +213,7 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
199
213
|
let total = limitedRows.length;
|
|
200
214
|
if (wasLimited && options.runQuery?.exactTotal === true) {
|
|
201
215
|
try {
|
|
202
|
-
const countRows = (await
|
|
216
|
+
const countRows = (await session.run(countSqliteQuery(query), deadline));
|
|
203
217
|
const count = countRows[0]?.__nifra_total;
|
|
204
218
|
if (typeof count !== "number" ||
|
|
205
219
|
!Number.isSafeInteger(count) ||
|
|
@@ -240,8 +254,8 @@ export function serveDatabaseAsMcp(db, options) {
|
|
|
240
254
|
...(options.allowedHosts !== undefined ? { allowedHosts: options.allowedHosts } : {}),
|
|
241
255
|
});
|
|
242
256
|
const runQueryOptions = options.runQuery;
|
|
243
|
-
if (
|
|
244
|
-
return server;
|
|
257
|
+
if (runQueryOptions === undefined)
|
|
258
|
+
return { ...server, close: () => session.close() };
|
|
245
259
|
// `run_query` is authorized at the TRANSPORT boundary, where the inbound Request's credentials
|
|
246
260
|
// are visible - the handler itself performs no auth, so every path to it must pass this gate:
|
|
247
261
|
// the wrapped fetch authorizes, and direct handle() dispatch fails closed (no Request → no auth).
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,10 @@ export declare function pgFailure(error: unknown, context?: string): DbRefusal;
|
|
|
38
38
|
* Run `work` inside `BEGIN READ ONLY` on one reserved connection, with the statement, lock and
|
|
39
39
|
* idle-in-transaction timeouts set for this transaction only. Always rolls back, so nothing a call
|
|
40
40
|
* does (a `set_config`, a session setting) outlives it.
|
|
41
|
+
*
|
|
42
|
+
* JIT is off too: the catalog reads' recursive subplans cross `jit_above_cost`, and compiling them
|
|
43
|
+
* took past the timeout on a stock Ubuntu server where running them takes under a millisecond.
|
|
44
|
+
* PostgreSQL 10 has no `jit` setting, so the version is checked first.
|
|
41
45
|
*/
|
|
42
46
|
export declare function inReadOnlyTransaction<T>(client: PostgresClient, timeoutMs: number, work: (connection: PgConnection) => Promise<T | DbRefusal>): Promise<T | DbRefusal>;
|
|
43
47
|
/** A relation (or a function scanned as one) the plan reads, as the plan names it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-exec.d.ts","sourceRoot":"","sources":["../../src/internal/pg-exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,aAAa,CAAA;AAEvD,sGAAsG;AACtG,MAAM,WAAW,OAAQ,SAAQ,WAAW,CAAC,SAAS,OAAO,EAAE,CAAC;IAC9D,MAAM,IAAI,WAAW,CAAC,SAAS,OAAO,EAAE,CAAC,CAAA;CAC1C;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAK3E;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC7B,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,
|
|
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
|
@@ -18,8 +18,10 @@ export function records(rows) {
|
|
|
18
18
|
}
|
|
19
19
|
/** Run caller text as ONE extended-protocol statement with no parameters. */
|
|
20
20
|
export function extended(connection, text) {
|
|
21
|
-
const strings = Object.assign([text], { raw: [text] });
|
|
22
|
-
|
|
21
|
+
const strings = Object.assign([text], { raw: Object.freeze([text]) });
|
|
22
|
+
// Shaped like a real template object: Bun.SQL (1.4.4+) refuses one whose `raw` is enumerable.
|
|
23
|
+
Object.defineProperty(strings, "raw", { enumerable: false });
|
|
24
|
+
return connection(Object.freeze(strings));
|
|
23
25
|
}
|
|
24
26
|
const WRITE_KEYWORD = /at or near "(insert|update|delete|merge|call|do|copy|create|drop|alter|truncate|grant|revoke|lock|vacuum|analyze|cluster|reindex|refresh|comment|security|import|listen|notify|load|discard|reset|set|show|begin|commit|rollback|savepoint|release|prepare|execute|deallocate|declare|fetch|move|close|checkpoint|explain)"/i;
|
|
25
27
|
/** Map a driver error to a refusal by its SQLSTATE; only a genuine query error is a failure. */
|
|
@@ -65,6 +67,10 @@ function millis(timeoutMs) {
|
|
|
65
67
|
* Run `work` inside `BEGIN READ ONLY` on one reserved connection, with the statement, lock and
|
|
66
68
|
* idle-in-transaction timeouts set for this transaction only. Always rolls back, so nothing a call
|
|
67
69
|
* does (a `set_config`, a session setting) outlives it.
|
|
70
|
+
*
|
|
71
|
+
* JIT is off too: the catalog reads' recursive subplans cross `jit_above_cost`, and compiling them
|
|
72
|
+
* took past the timeout on a stock Ubuntu server where running them takes under a millisecond.
|
|
73
|
+
* PostgreSQL 10 has no `jit` setting, so the version is checked first.
|
|
68
74
|
*/
|
|
69
75
|
export async function inReadOnlyTransaction(client, timeoutMs, work) {
|
|
70
76
|
const ms = millis(timeoutMs);
|
|
@@ -77,7 +83,7 @@ export async function inReadOnlyTransaction(client, timeoutMs, work) {
|
|
|
77
83
|
}
|
|
78
84
|
try {
|
|
79
85
|
// nifra-expect sql-dynamic: fixed statements; the one interpolation is a validated integer of milliseconds
|
|
80
|
-
await connection.unsafe(`BEGIN READ ONLY; SET LOCAL statement_timeout = ${ms}; SET LOCAL lock_timeout = ${ms}; SET LOCAL idle_in_transaction_session_timeout = ${ms}`);
|
|
86
|
+
await connection.unsafe(`BEGIN READ ONLY; SET LOCAL statement_timeout = ${ms}; SET LOCAL lock_timeout = ${ms}; SET LOCAL idle_in_transaction_session_timeout = ${ms}; SELECT pg_catalog.set_config('jit', 'off', true) WHERE pg_catalog.current_setting('server_version_num')::int >= 110000`);
|
|
81
87
|
return await work(connection);
|
|
82
88
|
}
|
|
83
89
|
catch (error) {
|
|
@@ -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":"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"}
|
|
@@ -47,6 +47,16 @@ export type PgLintRefusal = {
|
|
|
47
47
|
* identifier and no denied function call. `undefined` when it passes.
|
|
48
48
|
*/
|
|
49
49
|
export declare function lintPostgres(sql: string): PgLintRefusal | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Every table the statement gives a column alias list, as in `FROM users AS t(a, b)`. A verbose plan
|
|
52
|
+
* prints such a scan's columns by the alias names (its partitions' scans too), and the list can hand a
|
|
53
|
+
* real column's name to another one, so no check on the plan's column names can see what is read.
|
|
54
|
+
* A function's or a subquery's alias list is not reported: the plan prints the base columns under them.
|
|
55
|
+
*/
|
|
56
|
+
export declare function tableAliasLists(sql: string): readonly {
|
|
57
|
+
readonly table: string;
|
|
58
|
+
readonly alias: string;
|
|
59
|
+
}[];
|
|
50
60
|
/** The statement without a final `;` (comments after it included), ready to wrap in a subquery. */
|
|
51
61
|
export declare function withoutTerminator(sql: string): string;
|
|
52
62
|
//# sourceMappingURL=pg-lexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-lexer.d.ts","sourceRoot":"","sources":["../../src/internal/pg-lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oFAAoF;AACpF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAMD,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAkIpD;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"pg-lexer.d.ts","sourceRoot":"","sources":["../../src/internal/pg-lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oFAAoF;AACpF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAMD,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAkIpD;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAgCrD,CAAA;AAKD,gDAAgD;AAChD,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA0DnE;AA8DD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GACV,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA8B/D;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD"}
|
|
@@ -183,6 +183,10 @@ export const DENIED_FUNCTION_PREFIXES = [
|
|
|
183
183
|
"pg_try_advisory",
|
|
184
184
|
"pg_notify",
|
|
185
185
|
"query_to_xml",
|
|
186
|
+
"ts_stat",
|
|
187
|
+
"ts_rewrite",
|
|
188
|
+
"crosstab",
|
|
189
|
+
"connectby",
|
|
186
190
|
"table_to_xml",
|
|
187
191
|
"cursor_to_xml",
|
|
188
192
|
"schema_to_xml",
|
|
@@ -265,6 +269,105 @@ export function lintPostgres(sql) {
|
|
|
265
269
|
return { kind: "statement", message: "the statement leaves a parenthesis open" };
|
|
266
270
|
return undefined;
|
|
267
271
|
}
|
|
272
|
+
// Postgres' reserved and type/function-name keywords: none of them can be a bare table name or alias.
|
|
273
|
+
const NOT_A_NAME = new Set(`
|
|
274
|
+
all analyse analyze and any array as asc asymmetric both case cast check collate column
|
|
275
|
+
constraint create current_catalog current_date current_role current_time current_timestamp
|
|
276
|
+
current_user default deferrable desc distinct do else end except false fetch for foreign from
|
|
277
|
+
grant group having in initially intersect into lateral leading limit localtime localtimestamp
|
|
278
|
+
not null offset on only or order placing primary references returning select session_user some
|
|
279
|
+
symmetric system_user table then to trailing true union unique user using variadic when where
|
|
280
|
+
window with authorization binary collation concurrently cross current_schema freeze full ilike
|
|
281
|
+
inner is isnull join left like natural notnull outer overlaps right similar tablesample verbose
|
|
282
|
+
`
|
|
283
|
+
.trim()
|
|
284
|
+
.split(/\s+/));
|
|
285
|
+
// Words that close a FROM list at their own parenthesis depth.
|
|
286
|
+
const FROM_LIST_ENDS = new Set(`
|
|
287
|
+
where group having window order limit offset fetch for union intersect except returning select
|
|
288
|
+
`
|
|
289
|
+
.trim()
|
|
290
|
+
.split(/\s+/));
|
|
291
|
+
const isPunct = (token, value) => token?.kind === "punct" && token.value === value;
|
|
292
|
+
const isKeyword = (token, word) => token?.kind === "word" && token.bare && token.value.toLowerCase() === word;
|
|
293
|
+
const isName = (token) => token?.kind === "word" && !(token.bare && NOT_A_NAME.has(token.value.toLowerCase()));
|
|
294
|
+
/** A table reference starting at `start` that carries a column alias list: `[ONLY] name [*] [AS] alias (`. */
|
|
295
|
+
function aliasListAt(tokens, start) {
|
|
296
|
+
let at = start;
|
|
297
|
+
const only = isKeyword(tokens[at], "only");
|
|
298
|
+
if (only)
|
|
299
|
+
at++;
|
|
300
|
+
const parenthesized = only && isPunct(tokens[at], "(");
|
|
301
|
+
if (parenthesized)
|
|
302
|
+
at++;
|
|
303
|
+
let name = tokens[at];
|
|
304
|
+
if (!isName(name))
|
|
305
|
+
return undefined;
|
|
306
|
+
at++;
|
|
307
|
+
for (let part = tokens[at + 1]; isPunct(tokens[at], ".") && isName(part); part = tokens[at + 1]) {
|
|
308
|
+
name = part;
|
|
309
|
+
at += 2;
|
|
310
|
+
}
|
|
311
|
+
if (parenthesized) {
|
|
312
|
+
if (!isPunct(tokens[at], ")"))
|
|
313
|
+
return undefined;
|
|
314
|
+
at++;
|
|
315
|
+
}
|
|
316
|
+
else if (isPunct(tokens[at], "("))
|
|
317
|
+
return undefined; // a function in FROM, whose alias list is safe
|
|
318
|
+
if (isPunct(tokens[at], "*"))
|
|
319
|
+
at++;
|
|
320
|
+
if (isKeyword(tokens[at], "as"))
|
|
321
|
+
at++;
|
|
322
|
+
const alias = tokens[at];
|
|
323
|
+
if (!isName(alias) || !isPunct(tokens[at + 1], "("))
|
|
324
|
+
return undefined;
|
|
325
|
+
return { table: name.value, alias: alias.value };
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Every table the statement gives a column alias list, as in `FROM users AS t(a, b)`. A verbose plan
|
|
329
|
+
* prints such a scan's columns by the alias names (its partitions' scans too), and the list can hand a
|
|
330
|
+
* real column's name to another one, so no check on the plan's column names can see what is read.
|
|
331
|
+
* A function's or a subquery's alias list is not reported: the plan prints the base columns under them.
|
|
332
|
+
*/
|
|
333
|
+
export function tableAliasLists(sql) {
|
|
334
|
+
const { tokens } = lexPostgres(sql);
|
|
335
|
+
const found = [];
|
|
336
|
+
// Per parenthesis depth: is a FROM list open there.
|
|
337
|
+
const inFromList = [false];
|
|
338
|
+
let itemStart = false;
|
|
339
|
+
for (const [index, token] of tokens.entries()) {
|
|
340
|
+
const starts = itemStart;
|
|
341
|
+
itemStart = false;
|
|
342
|
+
if (starts) {
|
|
343
|
+
const listed = aliasListAt(tokens, index);
|
|
344
|
+
if (listed !== undefined)
|
|
345
|
+
found.push(listed);
|
|
346
|
+
}
|
|
347
|
+
if (isPunct(token, "(")) {
|
|
348
|
+
// A parenthesized join holds a FROM list of its own; a subquery's SELECT closes it.
|
|
349
|
+
inFromList.push(starts);
|
|
350
|
+
itemStart = starts;
|
|
351
|
+
}
|
|
352
|
+
else if (isPunct(token, ")")) {
|
|
353
|
+
if (inFromList.length > 1)
|
|
354
|
+
inFromList.pop();
|
|
355
|
+
}
|
|
356
|
+
else if (isPunct(token, ",")) {
|
|
357
|
+
itemStart = inFromList.at(-1) === true;
|
|
358
|
+
}
|
|
359
|
+
else if (token.kind === "word" && token.bare) {
|
|
360
|
+
const word = token.value.toLowerCase();
|
|
361
|
+
if (word === "from" || word === "join") {
|
|
362
|
+
inFromList[inFromList.length - 1] = true;
|
|
363
|
+
itemStart = true;
|
|
364
|
+
}
|
|
365
|
+
else if (FROM_LIST_ENDS.has(word))
|
|
366
|
+
inFromList[inFromList.length - 1] = false;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
return found;
|
|
370
|
+
}
|
|
268
371
|
/** The statement without a final `;` (comments after it included), ready to wrap in a subquery. */
|
|
269
372
|
export function withoutTerminator(sql) {
|
|
270
373
|
const last = lexPostgres(sql).tokens.at(-1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-lexer.js","sourceRoot":"","sources":["../../src/internal/pg-lexer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pg-lexer.js","sourceRoot":"","sources":["../../src/internal/pg-lexer.ts"],"names":[],"mappings":"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"}
|