ponder 0.11.21 → 0.11.23
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 +12 -0
- package/dist/esm/bin/commands/createViews.js +9 -20
- package/dist/esm/bin/commands/createViews.js.map +1 -1
- package/dist/esm/bin/commands/dev.js +1 -1
- package/dist/esm/bin/commands/dev.js.map +1 -1
- package/dist/esm/bin/commands/list.js +4 -7
- package/dist/esm/bin/commands/list.js.map +1 -1
- package/dist/esm/bin/commands/prune.js +9 -21
- package/dist/esm/bin/commands/prune.js.map +1 -1
- package/dist/esm/bin/commands/serve.js +1 -1
- package/dist/esm/bin/commands/serve.js.map +1 -1
- package/dist/esm/bin/commands/start.js +3 -3
- package/dist/esm/bin/commands/start.js.map +1 -1
- package/dist/esm/bin/utils/run.js +159 -180
- package/dist/esm/bin/utils/run.js.map +1 -1
- package/dist/esm/build/index.js +1 -48
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/plugin.js +1 -1
- package/dist/esm/client/index.js +9 -13
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/database/index.js +429 -141
- package/dist/esm/database/index.js.map +1 -1
- package/dist/esm/drizzle/index.js.map +1 -1
- package/dist/esm/drizzle/kit/index.js.map +1 -1
- package/dist/esm/drizzle/onchain.js +1 -8
- package/dist/esm/drizzle/onchain.js.map +1 -1
- package/dist/esm/graphql/index.js +16 -19
- package/dist/esm/graphql/index.js.map +1 -1
- package/dist/esm/graphql/middleware.js +7 -3
- package/dist/esm/graphql/middleware.js.map +1 -1
- package/dist/esm/indexing-store/cache.js +32 -26
- package/dist/esm/indexing-store/cache.js.map +1 -1
- package/dist/esm/indexing-store/historical.js +32 -23
- package/dist/esm/indexing-store/historical.js.map +1 -1
- package/dist/esm/indexing-store/index.js +18 -1
- package/dist/esm/indexing-store/index.js.map +1 -1
- package/dist/esm/indexing-store/realtime.js +140 -89
- package/dist/esm/indexing-store/realtime.js.map +1 -1
- package/dist/esm/internal/errors.js +0 -12
- package/dist/esm/internal/errors.js.map +1 -1
- package/dist/esm/server/index.js +2 -10
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/sync-store/index.js +432 -403
- package/dist/esm/sync-store/index.js.map +1 -1
- package/dist/esm/utils/rpc.js +3 -3
- package/dist/esm/utils/rpc.js.map +1 -1
- package/dist/esm/utils/wait.js +0 -2
- package/dist/esm/utils/wait.js.map +1 -1
- package/dist/types/bin/commands/createViews.d.ts.map +1 -1
- package/dist/types/bin/commands/list.d.ts.map +1 -1
- package/dist/types/bin/commands/prune.d.ts.map +1 -1
- package/dist/types/bin/commands/start.d.ts +0 -2
- package/dist/types/bin/commands/start.d.ts.map +1 -1
- package/dist/types/bin/utils/run.d.ts +1 -1
- package/dist/types/bin/utils/run.d.ts.map +1 -1
- package/dist/types/build/index.d.ts +1 -1
- package/dist/types/build/index.d.ts.map +1 -1
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/database/index.d.ts +73 -25
- package/dist/types/database/index.d.ts.map +1 -1
- package/dist/types/drizzle/index.d.ts +3 -2
- package/dist/types/drizzle/index.d.ts.map +1 -1
- package/dist/types/drizzle/kit/index.d.ts +4 -3
- package/dist/types/drizzle/kit/index.d.ts.map +1 -1
- package/dist/types/drizzle/onchain.d.ts +5 -12
- package/dist/types/drizzle/onchain.d.ts.map +1 -1
- package/dist/types/graphql/index.d.ts +4 -2
- package/dist/types/graphql/index.d.ts.map +1 -1
- package/dist/types/graphql/middleware.d.ts +1 -1
- package/dist/types/graphql/middleware.d.ts.map +1 -1
- package/dist/types/indexing-store/cache.d.ts +12 -5
- package/dist/types/indexing-store/cache.d.ts.map +1 -1
- package/dist/types/indexing-store/historical.d.ts +7 -2
- package/dist/types/indexing-store/historical.d.ts.map +1 -1
- package/dist/types/indexing-store/index.d.ts +2 -4
- package/dist/types/indexing-store/index.d.ts.map +1 -1
- package/dist/types/indexing-store/realtime.d.ts +3 -1
- package/dist/types/indexing-store/realtime.d.ts.map +1 -1
- package/dist/types/internal/errors.d.ts +0 -4
- package/dist/types/internal/errors.d.ts.map +1 -1
- package/dist/types/server/index.d.ts +1 -1
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/sync/index.d.ts +1 -1
- package/dist/types/sync-store/index.d.ts.map +1 -1
- package/dist/types/utils/rpc.d.ts.map +1 -1
- package/dist/types/utils/wait.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/bin/commands/createViews.ts +26 -37
- package/src/bin/commands/dev.ts +1 -1
- package/src/bin/commands/list.ts +4 -7
- package/src/bin/commands/prune.ts +17 -31
- package/src/bin/commands/serve.ts +1 -1
- package/src/bin/commands/start.ts +3 -4
- package/src/bin/utils/run.ts +210 -256
- package/src/build/index.ts +2 -53
- package/src/build/plugin.ts +1 -1
- package/src/client/index.ts +10 -21
- package/src/database/index.ts +742 -331
- package/src/drizzle/index.ts +3 -2
- package/src/drizzle/kit/index.ts +5 -2
- package/src/drizzle/onchain.ts +2 -26
- package/src/graphql/index.ts +26 -31
- package/src/graphql/middleware.ts +7 -5
- package/src/indexing-store/cache.ts +52 -35
- package/src/indexing-store/historical.ts +40 -28
- package/src/indexing-store/index.ts +27 -2
- package/src/indexing-store/realtime.ts +220 -176
- package/src/internal/errors.ts +0 -9
- package/src/server/index.ts +3 -14
- package/src/sync-store/index.ts +997 -870
- package/src/utils/rpc.ts +7 -6
- package/src/utils/wait.ts +0 -1
- package/dist/esm/database/queryBuilder.js +0 -206
- package/dist/esm/database/queryBuilder.js.map +0 -1
- package/dist/esm/database/utils.js +0 -100
- package/dist/esm/database/utils.js.map +0 -1
- package/dist/esm/drizzle/json.js +0 -119
- package/dist/esm/drizzle/json.js.map +0 -1
- package/dist/types/database/queryBuilder.d.ts +0 -37
- package/dist/types/database/queryBuilder.d.ts.map +0 -1
- package/dist/types/database/utils.d.ts +0 -25
- package/dist/types/database/utils.d.ts.map +0 -1
- package/dist/types/drizzle/json.d.ts +0 -51
- package/dist/types/drizzle/json.d.ts.map +0 -1
- package/src/database/queryBuilder.ts +0 -319
- package/src/database/utils.ts +0 -140
- package/src/drizzle/json.ts +0 -154
|
@@ -7,7 +7,8 @@ import { FlushError } from '../internal/errors.js';
|
|
|
7
7
|
import { dedupe } from '../utils/dedupe.js';
|
|
8
8
|
import { prettyPrint } from '../utils/print.js';
|
|
9
9
|
import { startClock } from '../utils/timer.js';
|
|
10
|
-
import {
|
|
10
|
+
import { PGlite } from "@electric-sql/pglite";
|
|
11
|
+
import { getTableColumns, getTableName, is, or, } from "drizzle-orm";
|
|
11
12
|
import { PgTable, getTableConfig, } from "drizzle-orm/pg-core";
|
|
12
13
|
import copy from "pg-copy-streams";
|
|
13
14
|
import { getProfilePatternKey, recordProfilePattern, recoverProfilePattern, } from "./profile.js";
|
|
@@ -72,13 +73,13 @@ export const getCopyText = (table, rows) => {
|
|
|
72
73
|
}
|
|
73
74
|
return results.join("\n");
|
|
74
75
|
};
|
|
75
|
-
export const getCopyHelper = (
|
|
76
|
-
if (
|
|
76
|
+
export const getCopyHelper = ({ client }) => {
|
|
77
|
+
if (client instanceof PGlite) {
|
|
77
78
|
return async (table, text, includeSchema = true) => {
|
|
78
79
|
const target = includeSchema
|
|
79
80
|
? `"${getTableConfig(table).schema ?? "public"}"."${getTableName(table)}"`
|
|
80
81
|
: `"${getTableName(table)}"`;
|
|
81
|
-
await
|
|
82
|
+
await client.query(`COPY ${target} FROM '/dev/blob'`, [], {
|
|
82
83
|
blob: new Blob([text]),
|
|
83
84
|
});
|
|
84
85
|
};
|
|
@@ -88,7 +89,7 @@ export const getCopyHelper = (qb) => {
|
|
|
88
89
|
const target = includeSchema
|
|
89
90
|
? `"${getTableConfig(table).schema ?? "public"}"."${getTableName(table)}"`
|
|
90
91
|
: `"${getTableName(table)}"`;
|
|
91
|
-
await pipeline(Readable.from(text),
|
|
92
|
+
await pipeline(Readable.from(text), client.query(copy.from(`COPY ${target} FROM STDIN`)));
|
|
92
93
|
};
|
|
93
94
|
}
|
|
94
95
|
};
|
|
@@ -122,7 +123,6 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
122
123
|
*/
|
|
123
124
|
let cacheBytes = 0;
|
|
124
125
|
let event;
|
|
125
|
-
let qb = undefined;
|
|
126
126
|
let isCacheComplete = crashRecoveryCheckpoint === undefined;
|
|
127
127
|
const primaryKeyCache = new Map();
|
|
128
128
|
const cache = new Map();
|
|
@@ -152,7 +152,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
152
152
|
insertBuffer.get(table).has(ck) ??
|
|
153
153
|
updateBuffer.get(table).has(ck));
|
|
154
154
|
},
|
|
155
|
-
async get({ table, key }) {
|
|
155
|
+
async get({ table, key, db }) {
|
|
156
156
|
if (event && eventCount[event.name] % SAMPLING_RATE === 1) {
|
|
157
157
|
if (profile.has(event.name) === false) {
|
|
158
158
|
profile.set(event.name, new Map());
|
|
@@ -206,7 +206,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
206
206
|
type: "miss",
|
|
207
207
|
});
|
|
208
208
|
const endClock = startClock();
|
|
209
|
-
const result = await
|
|
209
|
+
const result = await db
|
|
210
210
|
.select()
|
|
211
211
|
.from(table)
|
|
212
212
|
.where(getWhereCondition(table, key))
|
|
@@ -240,20 +240,20 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
240
240
|
}
|
|
241
241
|
return row;
|
|
242
242
|
},
|
|
243
|
-
async delete({ table, key }) {
|
|
243
|
+
async delete({ table, key, db }) {
|
|
244
244
|
const ck = getCacheKey(table, key);
|
|
245
245
|
const inInsertBuffer = insertBuffer.get(table).delete(ck);
|
|
246
246
|
const inUpdateBuffer = updateBuffer.get(table).delete(ck);
|
|
247
247
|
cache.get(table).delete(ck);
|
|
248
|
-
const inDb = await
|
|
248
|
+
const inDb = await db
|
|
249
249
|
.delete(table)
|
|
250
250
|
.where(getWhereCondition(table, key))
|
|
251
251
|
.returning()
|
|
252
252
|
.then((result) => result.length > 0);
|
|
253
253
|
return inInsertBuffer || inUpdateBuffer || inDb;
|
|
254
254
|
},
|
|
255
|
-
async flush({ tableNames }
|
|
256
|
-
const copy = getCopyHelper(
|
|
255
|
+
async flush({ client, tableNames }) {
|
|
256
|
+
const copy = getCopyHelper({ client });
|
|
257
257
|
const shouldRecordBytes = isCacheComplete;
|
|
258
258
|
for (const table of cache.keys()) {
|
|
259
259
|
if (tableNames !== undefined &&
|
|
@@ -265,7 +265,8 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
265
265
|
const updateValues = Array.from(updateBuffer.get(table).values());
|
|
266
266
|
if (insertValues.length > 0) {
|
|
267
267
|
const endClock = startClock();
|
|
268
|
-
|
|
268
|
+
// @ts-ignore
|
|
269
|
+
await client.query("SAVEPOINT flush");
|
|
269
270
|
try {
|
|
270
271
|
const text = getCopyText(table, insertValues.map(({ row }) => row));
|
|
271
272
|
await new Promise(setImmediate);
|
|
@@ -274,10 +275,12 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
274
275
|
catch (_error) {
|
|
275
276
|
let error = _error;
|
|
276
277
|
const result = await recoverBatchError(insertValues, async (values) => {
|
|
277
|
-
|
|
278
|
+
// @ts-ignore
|
|
279
|
+
await client.query("ROLLBACK to flush");
|
|
278
280
|
const text = getCopyText(table, values.map(({ row }) => row));
|
|
279
281
|
await copy(table, text);
|
|
280
|
-
|
|
282
|
+
// @ts-ignore
|
|
283
|
+
await client.query("SAVEPOINT flush");
|
|
281
284
|
});
|
|
282
285
|
if (result.status === "error") {
|
|
283
286
|
error = new FlushError(result.error.message);
|
|
@@ -359,8 +362,10 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
359
362
|
.join(" AND ")};
|
|
360
363
|
`;
|
|
361
364
|
const endClock = startClock();
|
|
362
|
-
|
|
363
|
-
await
|
|
365
|
+
// @ts-ignore
|
|
366
|
+
await client.query(createTempTableQuery);
|
|
367
|
+
// @ts-ignore
|
|
368
|
+
await client.query("SAVEPOINT flush");
|
|
364
369
|
try {
|
|
365
370
|
const text = getCopyText(table, updateValues.map(({ row }) => row));
|
|
366
371
|
await new Promise(setImmediate);
|
|
@@ -369,10 +374,12 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
369
374
|
catch (_error) {
|
|
370
375
|
let error = _error;
|
|
371
376
|
const result = await recoverBatchError(updateValues, async (values) => {
|
|
372
|
-
|
|
377
|
+
// @ts-ignore
|
|
378
|
+
await client.query("ROLLBACK to flush");
|
|
373
379
|
const text = getCopyText(table, values.map(({ row }) => row));
|
|
374
380
|
await copy(table, text, false);
|
|
375
|
-
|
|
381
|
+
// @ts-ignore
|
|
382
|
+
await client.query("SAVEPOINT flush");
|
|
376
383
|
});
|
|
377
384
|
if (result.status === "error") {
|
|
378
385
|
error = new FlushError(result.error.message);
|
|
@@ -413,7 +420,8 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
413
420
|
method: "flush",
|
|
414
421
|
}, endClock());
|
|
415
422
|
}
|
|
416
|
-
|
|
423
|
+
// @ts-ignore
|
|
424
|
+
await client.query(updateQuery);
|
|
417
425
|
common.metrics.ponder_indexing_cache_query_duration.observe({
|
|
418
426
|
table: getTableName(table),
|
|
419
427
|
method: "flush",
|
|
@@ -432,11 +440,12 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
432
440
|
await new Promise(setImmediate);
|
|
433
441
|
}
|
|
434
442
|
if (insertValues.length > 0 || updateValues.length > 0) {
|
|
435
|
-
|
|
443
|
+
// @ts-ignore
|
|
444
|
+
await client.query("RELEASE flush");
|
|
436
445
|
}
|
|
437
446
|
}
|
|
438
447
|
},
|
|
439
|
-
async prefetch({ events }) {
|
|
448
|
+
async prefetch({ events, db }) {
|
|
440
449
|
if (isCacheComplete) {
|
|
441
450
|
if (cacheBytes < common.options.indexingCacheMaxBytes) {
|
|
442
451
|
return;
|
|
@@ -499,7 +508,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
499
508
|
if (conditions.length === 0)
|
|
500
509
|
return;
|
|
501
510
|
const endClock = startClock();
|
|
502
|
-
await
|
|
511
|
+
await db
|
|
503
512
|
.select()
|
|
504
513
|
.from(table)
|
|
505
514
|
.where(or(...conditions))
|
|
@@ -563,9 +572,6 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
|
|
|
563
572
|
set event(_event) {
|
|
564
573
|
event = _event;
|
|
565
574
|
},
|
|
566
|
-
set qb(_qb) {
|
|
567
|
-
qb = _qb;
|
|
568
|
-
},
|
|
569
575
|
};
|
|
570
576
|
};
|
|
571
577
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/indexing-store/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/indexing-store/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,17 @@ import { prettyPrint } from '../utils/print.js';
|
|
|
4
4
|
import { startClock } from '../utils/timer.js';
|
|
5
5
|
import { getTableName } from "drizzle-orm";
|
|
6
6
|
import { drizzle } from "drizzle-orm/pg-proxy";
|
|
7
|
-
import { checkOnchainTable, validateUpdateSet, } from "./index.js";
|
|
8
|
-
export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema }, indexingCache, }) => {
|
|
9
|
-
let qb = undefined;
|
|
7
|
+
import { checkOnchainTable, parseSqlError, validateUpdateSet, } from "./index.js";
|
|
8
|
+
export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema }, indexingCache, db, client, }) => {
|
|
10
9
|
return {
|
|
11
10
|
// @ts-ignore
|
|
12
|
-
find:
|
|
11
|
+
find: (table, key) => {
|
|
13
12
|
common.metrics.ponder_indexing_store_queries_total.inc({
|
|
14
13
|
table: getTableName(table),
|
|
15
14
|
method: "find",
|
|
16
15
|
});
|
|
17
16
|
checkOnchainTable(table, "find");
|
|
18
|
-
return indexingCache.get({ table, key });
|
|
17
|
+
return indexingCache.get({ table, key, db });
|
|
19
18
|
},
|
|
20
19
|
// @ts-ignore
|
|
21
20
|
insert(table) {
|
|
@@ -32,7 +31,11 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
32
31
|
if (Array.isArray(values)) {
|
|
33
32
|
const rows = [];
|
|
34
33
|
for (const value of values) {
|
|
35
|
-
const row = await indexingCache.get({
|
|
34
|
+
const row = await indexingCache.get({
|
|
35
|
+
table,
|
|
36
|
+
key: value,
|
|
37
|
+
db,
|
|
38
|
+
});
|
|
36
39
|
if (row) {
|
|
37
40
|
rows.push(null);
|
|
38
41
|
}
|
|
@@ -48,7 +51,11 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
48
51
|
return rows;
|
|
49
52
|
}
|
|
50
53
|
else {
|
|
51
|
-
const row = await indexingCache.get({
|
|
54
|
+
const row = await indexingCache.get({
|
|
55
|
+
table,
|
|
56
|
+
key: values,
|
|
57
|
+
db,
|
|
58
|
+
});
|
|
52
59
|
if (row) {
|
|
53
60
|
return null;
|
|
54
61
|
}
|
|
@@ -69,7 +76,11 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
69
76
|
if (Array.isArray(values)) {
|
|
70
77
|
const rows = [];
|
|
71
78
|
for (const value of values) {
|
|
72
|
-
const row = await indexingCache.get({
|
|
79
|
+
const row = await indexingCache.get({
|
|
80
|
+
table,
|
|
81
|
+
key: value,
|
|
82
|
+
db,
|
|
83
|
+
});
|
|
73
84
|
if (row) {
|
|
74
85
|
if (typeof valuesU === "function") {
|
|
75
86
|
const set = validateUpdateSet(table, valuesU(row));
|
|
@@ -106,7 +117,7 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
106
117
|
return rows;
|
|
107
118
|
}
|
|
108
119
|
else {
|
|
109
|
-
const row = await indexingCache.get({ table, key: values });
|
|
120
|
+
const row = await indexingCache.get({ table, key: values, db });
|
|
110
121
|
if (row) {
|
|
111
122
|
if (typeof valuesU === "function") {
|
|
112
123
|
const set = validateUpdateSet(table, valuesU(row));
|
|
@@ -195,7 +206,7 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
195
206
|
method: "update",
|
|
196
207
|
});
|
|
197
208
|
checkOnchainTable(table, "update");
|
|
198
|
-
const row = await indexingCache.get({ table, key });
|
|
209
|
+
const row = await indexingCache.get({ table, key, db });
|
|
199
210
|
if (row === null) {
|
|
200
211
|
const error = new RecordNotFoundError(`No existing record found in table '${getTableName(table)}'`);
|
|
201
212
|
error.meta.push(`db.update arguments:\n${prettyPrint(key)}`);
|
|
@@ -228,7 +239,7 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
228
239
|
method: "delete",
|
|
229
240
|
});
|
|
230
241
|
checkOnchainTable(table, "delete");
|
|
231
|
-
return indexingCache.delete({ table, key });
|
|
242
|
+
return indexingCache.delete({ table, key, db });
|
|
232
243
|
},
|
|
233
244
|
// @ts-ignore
|
|
234
245
|
sql: drizzle(async (_sql, params, method, typings) => {
|
|
@@ -239,7 +250,7 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
239
250
|
}
|
|
240
251
|
catch { }
|
|
241
252
|
if (isSelectOnly === false) {
|
|
242
|
-
await indexingCache.flush();
|
|
253
|
+
await indexingCache.flush({ client });
|
|
243
254
|
indexingCache.invalidate();
|
|
244
255
|
indexingCache.clear();
|
|
245
256
|
}
|
|
@@ -251,26 +262,24 @@ export const createHistoricalIndexingStore = ({ common, schemaBuild: { schema },
|
|
|
251
262
|
tableNames = await findTableNames(_sql);
|
|
252
263
|
}
|
|
253
264
|
catch { }
|
|
254
|
-
await indexingCache.flush({ tableNames });
|
|
265
|
+
await indexingCache.flush({ client, tableNames });
|
|
255
266
|
}
|
|
256
267
|
const query = { sql: _sql, params, typings };
|
|
257
268
|
const endClock = startClock();
|
|
258
269
|
try {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
270
|
+
const result = await db._.session
|
|
271
|
+
.prepareQuery(query, undefined, undefined, method === "all")
|
|
272
|
+
.execute();
|
|
273
|
+
// @ts-ignore
|
|
274
|
+
return { rows: result.rows.map((row) => Object.values(row)) };
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
throw parseSqlError(error);
|
|
266
278
|
}
|
|
267
279
|
finally {
|
|
268
280
|
common.metrics.ponder_indexing_store_raw_sql_duration.observe(endClock());
|
|
269
281
|
}
|
|
270
282
|
}, { schema, casing: "snake_case" }),
|
|
271
|
-
set qb(_qb) {
|
|
272
|
-
qb = _qb;
|
|
273
|
-
},
|
|
274
283
|
};
|
|
275
284
|
};
|
|
276
285
|
//# sourceMappingURL=historical.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical.js","sourceRoot":"","sources":["../../../src/indexing-store/historical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"historical.js","sourceRoot":"","sources":["../../../src/indexing-store/historical.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { getPrimaryKeyColumns } from '../drizzle/index.js';
|
|
2
2
|
import { onchain } from '../drizzle/onchain.js';
|
|
3
|
-
import { InvalidStoreMethodError, NonRetryableError, UndefinedTableError, } from '../internal/errors.js';
|
|
3
|
+
import { BigIntSerializationError, CheckConstraintError, InvalidStoreMethodError, NonRetryableError, NotNullConstraintError, UndefinedTableError, UniqueConstraintError, getBaseError, } from '../internal/errors.js';
|
|
4
4
|
import { getTableConfig } from "drizzle-orm/pg-core";
|
|
5
|
+
export const parseSqlError = (e) => {
|
|
6
|
+
let error = getBaseError(e);
|
|
7
|
+
if (error?.message?.includes("violates not-null constraint")) {
|
|
8
|
+
error = new NotNullConstraintError(error.message);
|
|
9
|
+
}
|
|
10
|
+
else if (error?.message?.includes("violates unique constraint")) {
|
|
11
|
+
error = new UniqueConstraintError(error.message);
|
|
12
|
+
}
|
|
13
|
+
else if (error?.message?.includes("violates check constraint")) {
|
|
14
|
+
error = new CheckConstraintError(error.message);
|
|
15
|
+
}
|
|
16
|
+
else if (error?.message?.includes("Do not know how to serialize a BigInt")) {
|
|
17
|
+
error = new BigIntSerializationError(error.message);
|
|
18
|
+
error.meta.push("Hint:\n The JSON column type does not support BigInt values. Use the replaceBigInts() helper function before inserting into the database. Docs: https://ponder.sh/docs/api-reference/ponder-utils#replacebigints");
|
|
19
|
+
}
|
|
20
|
+
return error;
|
|
21
|
+
};
|
|
5
22
|
export const validateUpdateSet = (table, set) => {
|
|
6
23
|
const primaryKeys = getPrimaryKeyColumns(table);
|
|
7
24
|
for (const { js } of primaryKeys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexing-store/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexing-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAM,EAAS,EAAE;IAC7C,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EAAE;QAC5D,KAAK,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACnD;SAAM,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAAE;QACjE,KAAK,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAClD;SAAM,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAAE;QAChE,KAAK,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACjD;SAAM,IACL,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,uCAAuC,CAAC,EACjE;QACA,KAAK,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CACb,mNAAmN,CACpN,CAAC;KACH;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,GAAW,EAAU,EAAE;IACrE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEhD,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,WAAW,EAAE;QAChC,IAAI,EAAE,IAAI,GAAG,EAAE;YACb,MAAM,IAAI,iBAAiB,CACzB,uBAAuB,EAAE,qBAAqB,CAC/C,CAAC;SACH;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,MAA+C,EAC/C,EAAE;IACF,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,mBAAmB,CAC3B,6BAA6B,MAAM,iBAAiB,CACrD,CAAC;IAEJ,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO;IAE7B,MAAM,IAAI,uBAAuB,CAC/B,MAAM,KAAK,MAAM;QACf,CAAC,CAAC,wDAAwD,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,yBAAyB;QAC7G,CAAC,CAAC,6DAA6D,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,yBAAyB,CACrH,CAAC;AACJ,CAAC,CAAC"}
|