hazo_connect 2.4.7 → 2.7.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 +167 -3
- package/dist/adapters/clause-builder.d.ts +49 -0
- package/dist/adapters/clause-builder.d.ts.map +1 -0
- package/dist/adapters/clause-builder.js +192 -0
- package/dist/adapters/clause-builder.js.map +1 -0
- package/dist/adapters/file-adapter.d.ts +2 -1
- package/dist/adapters/file-adapter.d.ts.map +1 -1
- package/dist/adapters/file-adapter.js +3 -0
- package/dist/adapters/file-adapter.js.map +1 -1
- package/dist/adapters/pg-adapter.d.ts +64 -0
- package/dist/adapters/pg-adapter.d.ts.map +1 -0
- package/dist/adapters/pg-adapter.js +120 -0
- package/dist/adapters/pg-adapter.js.map +1 -0
- package/dist/adapters/postgrest-adapter.d.ts +30 -1
- package/dist/adapters/postgrest-adapter.d.ts.map +1 -1
- package/dist/adapters/postgrest-adapter.js +104 -0
- package/dist/adapters/postgrest-adapter.js.map +1 -1
- package/dist/adapters/sqlite-adapter.d.ts +43 -1
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +131 -0
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/adapters/supabase-adapter.d.ts +2 -1
- package/dist/adapters/supabase-adapter.d.ts.map +1 -1
- package/dist/adapters/supabase-adapter.js +3 -0
- package/dist/adapters/supabase-adapter.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +7 -3
- package/dist/factory.js.map +1 -1
- package/dist/migrations/runner.d.ts +39 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +87 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/nextjs/setup-helpers.d.ts.map +1 -1
- package/dist/nextjs/setup-helpers.js +15 -4
- package/dist/nextjs/setup-helpers.js.map +1 -1
- package/dist/query-builder.d.ts +65 -0
- package/dist/query-builder.d.ts.map +1 -1
- package/dist/query-builder.js +148 -0
- package/dist/query-builder.js.map +1 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/server/index.js.map +1 -1
- package/dist/sqlite/query-translator.d.ts.map +1 -1
- package/dist/sqlite/query-translator.js +39 -2
- package/dist/sqlite/query-translator.js.map +1 -1
- package/dist/types.d.ts +65 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/database-url.d.ts +20 -0
- package/dist/utils/database-url.d.ts.map +1 -0
- package/dist/utils/database-url.js +44 -0
- package/dist/utils/database-url.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Purpose: PostgreSQL adapter powered by the `postgres` (postgres.js) driver.
|
|
4
|
+
*
|
|
5
|
+
* Supports raw SQL execution via sql.unsafe(), which is required for advanced
|
|
6
|
+
* Postgres features (e.g., SELECT … FOR UPDATE SKIP LOCKED) that PostgREST
|
|
7
|
+
* does not expose. The query(builder) method intentionally throws until Task 1.3
|
|
8
|
+
* adds toPgSql() to the QueryBuilder.
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.PgAdapter = void 0;
|
|
15
|
+
const postgres_1 = __importDefault(require("postgres"));
|
|
16
|
+
const base_adapter_js_1 = require("./base-adapter.js");
|
|
17
|
+
const types_js_1 = require("../types.js");
|
|
18
|
+
const clause_builder_js_1 = require("./clause-builder.js");
|
|
19
|
+
class PgAdapter extends base_adapter_js_1.BaseAdapter {
|
|
20
|
+
constructor(config, logger) {
|
|
21
|
+
super(config, logger);
|
|
22
|
+
this.validateConfig(['connectionString']);
|
|
23
|
+
this.sql = (0, postgres_1.default)(config.connectionString, {
|
|
24
|
+
max: config.poolMax ?? 10,
|
|
25
|
+
ssl: config.ssl ?? false,
|
|
26
|
+
onnotice: () => { },
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Execute a query using the QueryBuilder.
|
|
31
|
+
* Not yet implemented — toPgSql() is added in Task 1.3.
|
|
32
|
+
* hazo_jobs should use raw() directly until then.
|
|
33
|
+
*/
|
|
34
|
+
async query(_builder, _method = 'GET', _body) {
|
|
35
|
+
this.throwError(types_js_1.ErrorCode.NOT_IMPLEMENTED, 'PgAdapter.query: use raw() for direct SQL; toPgSql() support is added in Task 1.3');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Not applicable for the pg adapter (no HTTP layer).
|
|
39
|
+
* Satisfies the HazoConnectAdapter interface — use raw() for direct SQL.
|
|
40
|
+
*/
|
|
41
|
+
async rawQuery(_endpoint, _options) {
|
|
42
|
+
this.throwError(types_js_1.ErrorCode.NOT_IMPLEMENTED, 'PgAdapter.rawQuery: not supported — use raw() for direct SQL execution');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Execute a raw SQL statement with positional parameters.
|
|
46
|
+
* Uses sql.unsafe() so that the caller controls the full query text.
|
|
47
|
+
* Parameters are passed as a plain array and forwarded to postgres.js.
|
|
48
|
+
*
|
|
49
|
+
* @param text - SQL text, e.g. "SELECT * FROM jobs WHERE id = $1"
|
|
50
|
+
* @param values - Positional parameter values
|
|
51
|
+
* @returns Array of row objects
|
|
52
|
+
*/
|
|
53
|
+
async raw(text, values = []) {
|
|
54
|
+
try {
|
|
55
|
+
this.logQuery('PgAdapter raw', { sql: text, params: values });
|
|
56
|
+
return (await this.sql.unsafe(text, values));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.handleConnectionError(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Atomically claim rows from a queue table using FOR UPDATE SKIP LOCKED.
|
|
64
|
+
*
|
|
65
|
+
* A CTE selects candidate rows matching `where`, locks them with
|
|
66
|
+
* SKIP LOCKED so concurrent callers never contend, then UPDATE sets
|
|
67
|
+
* the requested fields and returns the RETURNING projection.
|
|
68
|
+
*
|
|
69
|
+
* @param opts - Table, where filter, set patch, optional orderBy/limit/returning
|
|
70
|
+
* @returns Array of updated row objects (empty when no rows match)
|
|
71
|
+
*/
|
|
72
|
+
async claimRows(opts) {
|
|
73
|
+
(0, clause_builder_js_1.validateClaimRowsOptions)(opts);
|
|
74
|
+
(0, clause_builder_js_1.validateColumnName)(opts.table);
|
|
75
|
+
const returning = (opts.returning ?? ['*']).map((c) => {
|
|
76
|
+
if (c !== '*')
|
|
77
|
+
(0, clause_builder_js_1.validateColumnName)(c);
|
|
78
|
+
return c;
|
|
79
|
+
});
|
|
80
|
+
if (opts.orderBy)
|
|
81
|
+
(0, clause_builder_js_1.validateColumnName)(opts.orderBy.column);
|
|
82
|
+
const limit = opts.limit ?? 1;
|
|
83
|
+
const whereFrag = (0, clause_builder_js_1.serializeWhereToPgSql)(opts.where, 1);
|
|
84
|
+
const orderByClause = opts.orderBy
|
|
85
|
+
? `ORDER BY ${opts.orderBy.column} ${opts.orderBy.direction.toUpperCase()}`
|
|
86
|
+
: '';
|
|
87
|
+
const setFrag = (0, clause_builder_js_1.serializeSetToPgSql)(opts.set, whereFrag.nextParamIndex);
|
|
88
|
+
const sql = `
|
|
89
|
+
WITH claimed AS (
|
|
90
|
+
SELECT id FROM ${opts.table}
|
|
91
|
+
WHERE ${whereFrag.fragment}
|
|
92
|
+
${orderByClause}
|
|
93
|
+
LIMIT ${limit}
|
|
94
|
+
FOR UPDATE SKIP LOCKED
|
|
95
|
+
)
|
|
96
|
+
UPDATE ${opts.table} t
|
|
97
|
+
SET ${setFrag.fragment}
|
|
98
|
+
FROM claimed
|
|
99
|
+
WHERE t.id = claimed.id
|
|
100
|
+
RETURNING ${returning.map((c) => `t.${c === '*' ? '*' : c}`).join(', ')}
|
|
101
|
+
`;
|
|
102
|
+
const params = [...whereFrag.params, ...setFrag.params];
|
|
103
|
+
return await this.raw(sql, params);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Drain the connection pool and release all Postgres connections.
|
|
107
|
+
* Call this on process shutdown or when the adapter is no longer needed.
|
|
108
|
+
*/
|
|
109
|
+
async close() {
|
|
110
|
+
await this.sql.end();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Return the resolved adapter configuration.
|
|
114
|
+
*/
|
|
115
|
+
async getConfig() {
|
|
116
|
+
return { ...this.config };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.PgAdapter = PgAdapter;
|
|
120
|
+
//# sourceMappingURL=pg-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/pg-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses injected config and logger (no file reading or project dependencies).
|
|
6
6
|
* Zero dependencies - only Node.js built-ins (fetch) and types.
|
|
7
7
|
*/
|
|
8
|
-
import type { HazoConnectAdapter, Logger } from '../types.js';
|
|
8
|
+
import type { ClaimRowsOptions, HazoConnectAdapter, Logger } from '../types.js';
|
|
9
9
|
import { BaseAdapter } from './base-adapter.js';
|
|
10
10
|
import { QueryBuilder } from '../query-builder.js';
|
|
11
11
|
/**
|
|
@@ -59,6 +59,35 @@ export declare class PostgrestAdapter extends BaseAdapter implements HazoConnect
|
|
|
59
59
|
getConfig(): Promise<PostgrestConfig>;
|
|
60
60
|
private parseErrorPayload;
|
|
61
61
|
private buildFriendlyErrorMessage;
|
|
62
|
+
/**
|
|
63
|
+
* Claim rows from a queue table using an optimistic Compare-And-Swap (CAS) pattern.
|
|
64
|
+
*
|
|
65
|
+
* Phase 1 — GET candidates: fetch rows matching `where` (plus the incremented columns so we
|
|
66
|
+
* can record their current values as witnesses).
|
|
67
|
+
*
|
|
68
|
+
* Phase 2 — PATCH with witness: for each candidate, issue a conditional PATCH whose WHERE
|
|
69
|
+
* clause includes both the original `where` filters AND a `col=eq.<observed>` guard for every
|
|
70
|
+
* incremented column. The CAS witness is what makes this safe under concurrency: if two
|
|
71
|
+
* workers both GET the same row with `attempt_count=0`, only the first PATCH succeeds because
|
|
72
|
+
* it bumps attempt_count to 1; the second worker's PATCH carries `attempt_count=eq.0` but that
|
|
73
|
+
* condition no longer holds, so PostgREST returns [] — the row was not claimed.
|
|
74
|
+
*
|
|
75
|
+
* @remarks CAS safety guarantee: only holds when `set` contains at least one
|
|
76
|
+
* `{ increment: N }` column, or when every `set` column also appears in `where`
|
|
77
|
+
* (so the PATCH's WHERE clause becomes false once any worker claims the row).
|
|
78
|
+
* If neither condition holds, concurrent claims may both succeed.
|
|
79
|
+
*/
|
|
80
|
+
claimRows<T = Record<string, unknown>>(opts: ClaimRowsOptions): Promise<T[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Build a full PostgREST URL for claimRows (table + flat key=value params).
|
|
83
|
+
* Separate from buildPostgrestUrl which takes a QueryBuilder instance.
|
|
84
|
+
*/
|
|
85
|
+
private buildClaimRowsUrl;
|
|
86
|
+
/**
|
|
87
|
+
* Build headers for claimRows fetch calls, matching the Authorization pattern
|
|
88
|
+
* used by rawQuery throughout this adapter.
|
|
89
|
+
*/
|
|
90
|
+
private claimRowsHeaders;
|
|
62
91
|
private sanitizeUrl;
|
|
63
92
|
}
|
|
64
93
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"postgrest-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAUlD;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAY,YAAW,kBAAkB;IAC7E,OAAO,CAAC,eAAe,CAAiB;IAExC;;;;OAIG;gBACS,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAoBxC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAuGzB;;;;;;OAMG;IACG,KAAK,CACT,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,GAAG,CAAC;IAoBf;;;;;OAKG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAwFzE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAG3C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,yBAAyB;IAyBjC;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAgFlF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;CAKpB"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.PostgrestAdapter = void 0;
|
|
11
11
|
const base_adapter_js_1 = require("./base-adapter.js");
|
|
12
12
|
const types_js_1 = require("../types.js");
|
|
13
|
+
const clause_builder_js_1 = require("./clause-builder.js");
|
|
13
14
|
/**
|
|
14
15
|
* PostgREST adapter implementation
|
|
15
16
|
*/
|
|
@@ -255,6 +256,109 @@ class PostgrestAdapter extends base_adapter_js_1.BaseAdapter {
|
|
|
255
256
|
}
|
|
256
257
|
return `PostgREST request failed (${status} ${statusText}).${detailMessage}${requestInfo}`;
|
|
257
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Claim rows from a queue table using an optimistic Compare-And-Swap (CAS) pattern.
|
|
261
|
+
*
|
|
262
|
+
* Phase 1 — GET candidates: fetch rows matching `where` (plus the incremented columns so we
|
|
263
|
+
* can record their current values as witnesses).
|
|
264
|
+
*
|
|
265
|
+
* Phase 2 — PATCH with witness: for each candidate, issue a conditional PATCH whose WHERE
|
|
266
|
+
* clause includes both the original `where` filters AND a `col=eq.<observed>` guard for every
|
|
267
|
+
* incremented column. The CAS witness is what makes this safe under concurrency: if two
|
|
268
|
+
* workers both GET the same row with `attempt_count=0`, only the first PATCH succeeds because
|
|
269
|
+
* it bumps attempt_count to 1; the second worker's PATCH carries `attempt_count=eq.0` but that
|
|
270
|
+
* condition no longer holds, so PostgREST returns [] — the row was not claimed.
|
|
271
|
+
*
|
|
272
|
+
* @remarks CAS safety guarantee: only holds when `set` contains at least one
|
|
273
|
+
* `{ increment: N }` column, or when every `set` column also appears in `where`
|
|
274
|
+
* (so the PATCH's WHERE clause becomes false once any worker claims the row).
|
|
275
|
+
* If neither condition holds, concurrent claims may both succeed.
|
|
276
|
+
*/
|
|
277
|
+
async claimRows(opts) {
|
|
278
|
+
(0, clause_builder_js_1.validateClaimRowsOptions)(opts);
|
|
279
|
+
(0, clause_builder_js_1.validateColumnName)(opts.table);
|
|
280
|
+
const returning = (opts.returning ?? ['*']).map((col) => {
|
|
281
|
+
if (col !== '*')
|
|
282
|
+
(0, clause_builder_js_1.validateColumnName)(col);
|
|
283
|
+
return col;
|
|
284
|
+
});
|
|
285
|
+
if (opts.orderBy)
|
|
286
|
+
(0, clause_builder_js_1.validateColumnName)(opts.orderBy.column);
|
|
287
|
+
const limit = opts.limit ?? 1;
|
|
288
|
+
const incCols = (0, clause_builder_js_1.incrementedColumns)(opts.set);
|
|
289
|
+
const whereParams = (0, clause_builder_js_1.serializeWhereToPostgrest)(opts.where);
|
|
290
|
+
// Always fetch `id` plus every incremented column so we can build CAS witnesses.
|
|
291
|
+
const candidateSelectCols = ['id', ...incCols].join(',');
|
|
292
|
+
const orderClause = opts.orderBy ? `${opts.orderBy.column}.${opts.orderBy.direction}` : undefined;
|
|
293
|
+
const getUrl = this.buildClaimRowsUrl(opts.table, {
|
|
294
|
+
...whereParams,
|
|
295
|
+
select: candidateSelectCols,
|
|
296
|
+
limit: String(limit),
|
|
297
|
+
...(orderClause ? { order: orderClause } : {}),
|
|
298
|
+
});
|
|
299
|
+
const candidatesRes = await fetch(getUrl, { headers: this.claimRowsHeaders() });
|
|
300
|
+
if (!candidatesRes.ok) {
|
|
301
|
+
const body = await candidatesRes.text();
|
|
302
|
+
throw new Error(`claimRows: GET candidates failed (${candidatesRes.status}): ${body}`);
|
|
303
|
+
}
|
|
304
|
+
const candidates = (await candidatesRes.json());
|
|
305
|
+
if (candidates.length === 0)
|
|
306
|
+
return [];
|
|
307
|
+
const claimed = (await Promise.all(candidates.map(async (cand) => {
|
|
308
|
+
// Build CAS witness: for each incremented column, lock its observed value so that
|
|
309
|
+
// only the first concurrent PATCH (the one that actually bumps the column) succeeds.
|
|
310
|
+
const casWitness = {};
|
|
311
|
+
for (const col of incCols) {
|
|
312
|
+
casWitness[col] = `eq.${String(cand[col])}`;
|
|
313
|
+
}
|
|
314
|
+
const patchUrl = this.buildClaimRowsUrl(opts.table, {
|
|
315
|
+
id: `eq.${String(cand.id)}`,
|
|
316
|
+
...whereParams, // original WHERE conditions
|
|
317
|
+
...casWitness, // CAS guard — MUST be included; omitting it destroys the safety contract
|
|
318
|
+
select: returning.join(','),
|
|
319
|
+
});
|
|
320
|
+
const body = (0, clause_builder_js_1.serializeSetToPostgrestBody)(opts.set, cand);
|
|
321
|
+
const patchRes = await fetch(patchUrl, {
|
|
322
|
+
method: 'PATCH',
|
|
323
|
+
headers: this.claimRowsHeaders({
|
|
324
|
+
'Content-Type': 'application/json',
|
|
325
|
+
Prefer: 'return=representation',
|
|
326
|
+
}),
|
|
327
|
+
body: JSON.stringify(body),
|
|
328
|
+
});
|
|
329
|
+
// 4xx/5xx are real errors — throw rather than silently swallow.
|
|
330
|
+
if (!patchRes.ok) {
|
|
331
|
+
const errBody = await patchRes.text();
|
|
332
|
+
throw new Error(`claimRows: PATCH failed (${patchRes.status}): ${errBody}`);
|
|
333
|
+
}
|
|
334
|
+
// 2xx with empty array means the CAS witness failed — another worker claimed this row first.
|
|
335
|
+
const patched = (await patchRes.json());
|
|
336
|
+
return patched.length > 0 ? patched[0] : null;
|
|
337
|
+
})));
|
|
338
|
+
return claimed.filter((r) => r !== null);
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Build a full PostgREST URL for claimRows (table + flat key=value params).
|
|
342
|
+
* Separate from buildPostgrestUrl which takes a QueryBuilder instance.
|
|
343
|
+
*/
|
|
344
|
+
buildClaimRowsUrl(table, params) {
|
|
345
|
+
const url = new URL(`${this.postgrestConfig.base_url}/${table}`);
|
|
346
|
+
for (const [key, value] of Object.entries(params)) {
|
|
347
|
+
url.searchParams.append(key, value);
|
|
348
|
+
}
|
|
349
|
+
return url.toString();
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Build headers for claimRows fetch calls, matching the Authorization pattern
|
|
353
|
+
* used by rawQuery throughout this adapter.
|
|
354
|
+
*/
|
|
355
|
+
claimRowsHeaders(extra) {
|
|
356
|
+
return {
|
|
357
|
+
Authorization: `Bearer ${this.postgrestConfig.api_key}`,
|
|
358
|
+
Accept: 'application/json',
|
|
359
|
+
...(extra ?? {}),
|
|
360
|
+
};
|
|
361
|
+
}
|
|
258
362
|
sanitizeUrl(url) {
|
|
259
363
|
return this.postgrestConfig.api_key
|
|
260
364
|
? url.replace(this.postgrestConfig.api_key, '...REDACTED...')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgrest-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,26 @@
|
|
|
4
4
|
* The adapter supports in-memory and file-backed databases, translating QueryBuilder
|
|
5
5
|
* instructions into parameterised SQL statements and persisting results when required.
|
|
6
6
|
*/
|
|
7
|
-
import type { HazoConnectAdapter, Logger } from '../types.js';
|
|
7
|
+
import type { ClaimRowsOptions, HazoConnectAdapter, Logger } from '../types.js';
|
|
8
8
|
import { BaseAdapter } from './base-adapter.js';
|
|
9
9
|
import { QueryBuilder } from '../query-builder.js';
|
|
10
|
+
/**
|
|
11
|
+
* A thin facade passed to `adapter.transaction(fn)`. It exposes the same
|
|
12
|
+
* `query` and `rawQuery` shape as the adapter, but with per-statement
|
|
13
|
+
* persistence suppressed — the adapter persists the whole DB exactly once
|
|
14
|
+
* when the transaction commits.
|
|
15
|
+
*/
|
|
16
|
+
export interface SqliteTransactionContext {
|
|
17
|
+
query: (builder: QueryBuilder, method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', body?: unknown) => Promise<any>;
|
|
18
|
+
rawQuery: (sql: string, options?: RequestInit & {
|
|
19
|
+
params?: unknown[];
|
|
20
|
+
}) => Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* Execute one or more SQL statements separated by semicolons.
|
|
23
|
+
* Intended for migration scripts; does not return rows.
|
|
24
|
+
*/
|
|
25
|
+
execScript: (sql: string) => Promise<void>;
|
|
26
|
+
}
|
|
10
27
|
export declare class SqliteAdapter extends BaseAdapter implements HazoConnectAdapter {
|
|
11
28
|
private readonly sqliteConfig;
|
|
12
29
|
private readonly isReadOnlyMode;
|
|
@@ -15,12 +32,37 @@ export declare class SqliteAdapter extends BaseAdapter implements HazoConnectAda
|
|
|
15
32
|
private readonly databasePromise;
|
|
16
33
|
private dbInstance?;
|
|
17
34
|
private readonly databasePath?;
|
|
35
|
+
private inTransaction;
|
|
36
|
+
private _claimQueue;
|
|
18
37
|
constructor(config: any, logger?: Logger);
|
|
19
38
|
query(builder: QueryBuilder, method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', body?: unknown): Promise<any>;
|
|
20
39
|
rawQuery(sql: string, options?: RequestInit & {
|
|
21
40
|
params?: unknown[];
|
|
22
41
|
}): Promise<any>;
|
|
23
42
|
getConfig(): Promise<any>;
|
|
43
|
+
/**
|
|
44
|
+
* Execute one or more SQL statements separated by semicolons. Use for
|
|
45
|
+
* migration scripts or other DDL where parameterisation isn't needed.
|
|
46
|
+
* Persists the database afterwards unless inside a transaction.
|
|
47
|
+
*/
|
|
48
|
+
execScript(sql: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Atomically claim up to `limit` rows matching `where`, apply `set`, and
|
|
51
|
+
* return the updated rows. Wrapped in transaction() so concurrent callers on
|
|
52
|
+
* the same adapter instance are serialized by sql.js's single-process event loop.
|
|
53
|
+
*/
|
|
54
|
+
claimRows<T = Record<string, unknown>>(opts: ClaimRowsOptions): Promise<T[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Run a sequence of writes atomically. Wraps the callback in
|
|
57
|
+
* BEGIN/COMMIT/ROLLBACK and suppresses per-statement persistence until
|
|
58
|
+
* COMMIT, at which point the database is persisted to disk exactly once.
|
|
59
|
+
*
|
|
60
|
+
* Nested transactions are not supported and will throw.
|
|
61
|
+
*
|
|
62
|
+
* @param fn - Callback receiving a `tx` facade. Throw to roll back.
|
|
63
|
+
* @returns Whatever `fn` returned.
|
|
64
|
+
*/
|
|
65
|
+
transaction<T>(fn: (tx: SqliteTransactionContext) => Promise<T>): Promise<T>;
|
|
24
66
|
private executeSelect;
|
|
25
67
|
private executeInsert;
|
|
26
68
|
private executeUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/sqlite-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/sqlite-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAkDlD;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,CACL,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EACpD,IAAI,CAAC,EAAE,OAAO,KACX,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACvF;;;OAGG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C;AAED,qBAAa,aAAc,SAAQ,WAAY,YAAW,kBAAkB;IAC1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,UAAU,CAAC,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAQ;IACtC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAsC;gBAE7C,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAmBlC,KAAK,CACT,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,GAAG,CAAC;IA4BT,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAO,GACjD,OAAO,CAAC,GAAG,CAAC;IA4BT,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/B;;;;OAIG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C;;;;OAIG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsClF;;;;;;;;;OASG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YA2CpE,aAAa;YAcb,aAAa;YAmBb,aAAa;YAoBb,aAAa;IAiB3B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,SAAS;YAKH,kBAAkB;YAmClB,WAAW;IAWzB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;YAsBV,eAAe;IAoD7B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,iBAAiB;CAY1B"}
|
|
@@ -18,9 +18,34 @@ const sqlite_utils_js_1 = require("../utils/sqlite-utils.js");
|
|
|
18
18
|
const base_adapter_js_1 = require("./base-adapter.js");
|
|
19
19
|
const types_js_1 = require("../types.js");
|
|
20
20
|
const query_translator_js_1 = require("../sqlite/query-translator.js");
|
|
21
|
+
const clause_builder_js_1 = require("./clause-builder.js");
|
|
22
|
+
// nodeRequire and WASM resolution moved to wasm-resolver utility
|
|
23
|
+
/**
|
|
24
|
+
* Rewrite a pg-style fragment ($1, $2, ...) to unnamed sqlite positional placeholders (?).
|
|
25
|
+
* The params array retains the same order; sql.js binds `?` slots sequentially.
|
|
26
|
+
*/
|
|
27
|
+
function sqliteSerializeWhere(where, startIndex) {
|
|
28
|
+
const pg = (0, clause_builder_js_1.serializeWhereToPgSql)(where, startIndex);
|
|
29
|
+
return { ...pg, fragment: pg.fragment.replace(/\$\d+/g, "?") };
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Rewrite a pg-style SET fragment to unnamed sqlite positional placeholders and datetime sentinel.
|
|
33
|
+
* Increment expressions (col = col + N) have no placeholder and are unaffected.
|
|
34
|
+
*/
|
|
35
|
+
function sqliteSerializeSet(set, startIndex) {
|
|
36
|
+
const pg = (0, clause_builder_js_1.serializeSetToPgSql)(set, startIndex);
|
|
37
|
+
return {
|
|
38
|
+
...pg,
|
|
39
|
+
fragment: pg.fragment
|
|
40
|
+
.replace(/now\(\)/g, "datetime('now')")
|
|
41
|
+
.replace(/\$\d+/g, "?"),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
21
44
|
class SqliteAdapter extends base_adapter_js_1.BaseAdapter {
|
|
22
45
|
constructor(config, logger) {
|
|
23
46
|
super(config, logger);
|
|
47
|
+
this.inTransaction = false;
|
|
48
|
+
this._claimQueue = Promise.resolve();
|
|
24
49
|
this.sqliteConfig = this.normalizeConfig(config);
|
|
25
50
|
this.isReadOnlyMode = Boolean(this.sqliteConfig.read_only);
|
|
26
51
|
this.databasePath = this.sqliteConfig.database_path;
|
|
@@ -81,6 +106,107 @@ class SqliteAdapter extends base_adapter_js_1.BaseAdapter {
|
|
|
81
106
|
async getConfig() {
|
|
82
107
|
return { ...this.sqliteConfig };
|
|
83
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Execute one or more SQL statements separated by semicolons. Use for
|
|
111
|
+
* migration scripts or other DDL where parameterisation isn't needed.
|
|
112
|
+
* Persists the database afterwards unless inside a transaction.
|
|
113
|
+
*/
|
|
114
|
+
async execScript(sql) {
|
|
115
|
+
this.ensureWritable();
|
|
116
|
+
try {
|
|
117
|
+
const database = await this.getDatabase();
|
|
118
|
+
database.exec(sql);
|
|
119
|
+
await this.persistDatabase(database);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
return this.handleSqliteError(error);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Atomically claim up to `limit` rows matching `where`, apply `set`, and
|
|
127
|
+
* return the updated rows. Wrapped in transaction() so concurrent callers on
|
|
128
|
+
* the same adapter instance are serialized by sql.js's single-process event loop.
|
|
129
|
+
*/
|
|
130
|
+
async claimRows(opts) {
|
|
131
|
+
// Validate eagerly so callers get errors immediately (not queued).
|
|
132
|
+
(0, clause_builder_js_1.validateClaimRowsOptions)(opts);
|
|
133
|
+
(0, clause_builder_js_1.validateColumnName)(opts.table);
|
|
134
|
+
const returning = (opts.returning ?? ["*"]).map((c) => {
|
|
135
|
+
if (c !== "*")
|
|
136
|
+
(0, clause_builder_js_1.validateColumnName)(c);
|
|
137
|
+
return c;
|
|
138
|
+
});
|
|
139
|
+
if (opts.orderBy)
|
|
140
|
+
(0, clause_builder_js_1.validateColumnName)(opts.orderBy.column);
|
|
141
|
+
const limit = opts.limit ?? 1;
|
|
142
|
+
// Serialize concurrent claimRows calls through a promise chain so that a
|
|
143
|
+
// second call waits for the first transaction to commit before starting its
|
|
144
|
+
// own BEGIN, preventing sql.js "cannot start a transaction within a
|
|
145
|
+
// transaction" errors.
|
|
146
|
+
const result = this._claimQueue.then(() => this.transaction(async (tx) => {
|
|
147
|
+
const whereClause = sqliteSerializeWhere(opts.where, 1);
|
|
148
|
+
const orderByClause = opts.orderBy
|
|
149
|
+
? ` ORDER BY ${opts.orderBy.column} ${opts.orderBy.direction.toUpperCase()}`
|
|
150
|
+
: "";
|
|
151
|
+
const selectSql = `SELECT id FROM ${opts.table} WHERE ${whereClause.fragment}${orderByClause} LIMIT ${limit}`;
|
|
152
|
+
const candidates = (await tx.rawQuery(selectSql, { params: whereClause.params }));
|
|
153
|
+
if (candidates.length === 0)
|
|
154
|
+
return [];
|
|
155
|
+
const setClause = sqliteSerializeSet(opts.set, whereClause.nextParamIndex);
|
|
156
|
+
const idPlaceholders = candidates.map(() => "?").join(", ");
|
|
157
|
+
const idParams = candidates.map((c) => c.id);
|
|
158
|
+
const updateSql = `UPDATE ${opts.table} SET ${setClause.fragment} WHERE id IN (${idPlaceholders}) RETURNING ${returning.join(", ")}`;
|
|
159
|
+
const updated = await tx.rawQuery(updateSql, { params: [...setClause.params, ...idParams] });
|
|
160
|
+
return updated;
|
|
161
|
+
}));
|
|
162
|
+
// Advance the queue tail regardless of whether this call succeeded or failed.
|
|
163
|
+
this._claimQueue = result.catch(() => undefined);
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Run a sequence of writes atomically. Wraps the callback in
|
|
168
|
+
* BEGIN/COMMIT/ROLLBACK and suppresses per-statement persistence until
|
|
169
|
+
* COMMIT, at which point the database is persisted to disk exactly once.
|
|
170
|
+
*
|
|
171
|
+
* Nested transactions are not supported and will throw.
|
|
172
|
+
*
|
|
173
|
+
* @param fn - Callback receiving a `tx` facade. Throw to roll back.
|
|
174
|
+
* @returns Whatever `fn` returned.
|
|
175
|
+
*/
|
|
176
|
+
async transaction(fn) {
|
|
177
|
+
this.ensureWritable();
|
|
178
|
+
if (this.inTransaction) {
|
|
179
|
+
this.throwError(types_js_1.ErrorCode.VALIDATION_ERROR, 'Nested transactions are not supported by SqliteAdapter');
|
|
180
|
+
}
|
|
181
|
+
const database = await this.getDatabase();
|
|
182
|
+
const runSql = (sql) => { database.exec(sql); };
|
|
183
|
+
runSql('BEGIN');
|
|
184
|
+
this.inTransaction = true;
|
|
185
|
+
const tx = {
|
|
186
|
+
query: (builder, method, body) => this.query(builder, method, body),
|
|
187
|
+
rawQuery: (sql, options) => this.rawQuery(sql, options),
|
|
188
|
+
execScript: (sql) => this.execScript(sql)
|
|
189
|
+
};
|
|
190
|
+
try {
|
|
191
|
+
const result = await fn(tx);
|
|
192
|
+
runSql('COMMIT');
|
|
193
|
+
this.inTransaction = false;
|
|
194
|
+
await this.persistDatabase(database);
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
try {
|
|
199
|
+
runSql('ROLLBACK');
|
|
200
|
+
}
|
|
201
|
+
catch (rollbackError) {
|
|
202
|
+
this.logger?.warn?.('SQLite ROLLBACK failed; transaction state may be inconsistent', {
|
|
203
|
+
error: rollbackError instanceof Error ? rollbackError.message : String(rollbackError)
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
this.inTransaction = false;
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
84
210
|
// Query execution ---------------------------------------------------------------------------
|
|
85
211
|
async executeSelect(builder) {
|
|
86
212
|
const translation = this.translateWithHandling(() => (0, query_translator_js_1.translateSelect)(builder));
|
|
@@ -213,6 +339,11 @@ class SqliteAdapter extends base_adapter_js_1.BaseAdapter {
|
|
|
213
339
|
}
|
|
214
340
|
}
|
|
215
341
|
async persistDatabase(database) {
|
|
342
|
+
if (this.inTransaction) {
|
|
343
|
+
// Defer until COMMIT so a multi-statement transaction triggers a single
|
|
344
|
+
// disk write rather than one per statement.
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
216
347
|
if (!this.databasePath || this.isReadOnlyMode) {
|
|
217
348
|
return;
|
|
218
349
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/sqlite-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/sqlite-adapter.ts"],"names":[],"mappings":"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"}
|