ponder 0.11.21 → 0.11.22
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 +6 -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/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/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/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
package/src/utils/wait.ts
CHANGED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { NonRetryableError, ShutdownError, TransactionError, } from '../internal/errors.js';
|
|
2
|
-
import { BigIntSerializationError, CheckConstraintError, NotNullConstraintError, UniqueConstraintError, getBaseError, } from '../internal/errors.js';
|
|
3
|
-
import { startClock } from '../utils/timer.js';
|
|
4
|
-
import { wait } from '../utils/wait.js';
|
|
5
|
-
import { PgDialect, } from "drizzle-orm/pg-core";
|
|
6
|
-
import pg from "pg";
|
|
7
|
-
const RETRY_COUNT = 9;
|
|
8
|
-
const BASE_DURATION = 125;
|
|
9
|
-
const SQL_LENGTH_LIMIT = 50;
|
|
10
|
-
export const parseSqlError = (e) => {
|
|
11
|
-
let error = getBaseError(e);
|
|
12
|
-
if (error?.message?.includes("violates not-null constraint")) {
|
|
13
|
-
error = new NotNullConstraintError(error.message);
|
|
14
|
-
}
|
|
15
|
-
else if (error?.message?.includes("violates unique constraint")) {
|
|
16
|
-
error = new UniqueConstraintError(error.message);
|
|
17
|
-
}
|
|
18
|
-
else if (error?.message?.includes("violates check constraint")) {
|
|
19
|
-
error = new CheckConstraintError(error.message);
|
|
20
|
-
}
|
|
21
|
-
else if (error?.message?.includes("Do not know how to serialize a BigInt")) {
|
|
22
|
-
error = new BigIntSerializationError(error.message);
|
|
23
|
-
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");
|
|
24
|
-
}
|
|
25
|
-
else if (error?.message?.includes("does not exist")) {
|
|
26
|
-
error = new NonRetryableError(error.message);
|
|
27
|
-
}
|
|
28
|
-
return error;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Create a query builder.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```ts
|
|
35
|
-
* const qb = createQB(common, drizzle(pool, { casing: "snake_case" }));
|
|
36
|
-
* const result = await qb.label("test").select().from(accounts);
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
export const createQB = (createDb, { common, isAdmin }) => {
|
|
40
|
-
const dialect = new PgDialect({ casing: "snake_case" });
|
|
41
|
-
let txLabel = undefined;
|
|
42
|
-
const wrap = async (label, fn, sql) => {
|
|
43
|
-
// First error thrown is often the most useful
|
|
44
|
-
let firstError;
|
|
45
|
-
let hasError = false;
|
|
46
|
-
for (let i = 0; i <= RETRY_COUNT; i++) {
|
|
47
|
-
const endClock = startClock();
|
|
48
|
-
const id = crypto.randomUUID().slice(0, 8);
|
|
49
|
-
if (label) {
|
|
50
|
-
common.logger.trace({
|
|
51
|
-
service: "database",
|
|
52
|
-
msg: `Started '${label}' database method (id=${id})`,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
if (common.shutdown.isKilled && isAdmin === false) {
|
|
57
|
-
throw new ShutdownError();
|
|
58
|
-
}
|
|
59
|
-
const result = await fn();
|
|
60
|
-
if (label) {
|
|
61
|
-
common.metrics.ponder_database_method_duration.observe({ method: label }, endClock());
|
|
62
|
-
}
|
|
63
|
-
if (common.shutdown.isKilled && isAdmin === false) {
|
|
64
|
-
throw new ShutdownError();
|
|
65
|
-
}
|
|
66
|
-
return result;
|
|
67
|
-
}
|
|
68
|
-
catch (e) {
|
|
69
|
-
const error = parseSqlError(e);
|
|
70
|
-
if (common.shutdown.isKilled) {
|
|
71
|
-
throw new ShutdownError();
|
|
72
|
-
}
|
|
73
|
-
if (label) {
|
|
74
|
-
common.metrics.ponder_database_method_duration.observe({ method: label }, endClock());
|
|
75
|
-
common.metrics.ponder_database_method_error_total.inc({
|
|
76
|
-
method: label,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
if (!hasError) {
|
|
80
|
-
hasError = true;
|
|
81
|
-
firstError = error;
|
|
82
|
-
}
|
|
83
|
-
if (error instanceof NonRetryableError &&
|
|
84
|
-
error instanceof TransactionError === false) {
|
|
85
|
-
common.logger.warn({
|
|
86
|
-
service: "database",
|
|
87
|
-
msg: `Failed '${label ?? sql}' database query (id=${id})`,
|
|
88
|
-
error,
|
|
89
|
-
});
|
|
90
|
-
throw error;
|
|
91
|
-
}
|
|
92
|
-
if (i === RETRY_COUNT) {
|
|
93
|
-
common.logger.warn({
|
|
94
|
-
service: "database",
|
|
95
|
-
msg: `Failed '${label ?? sql}' database query after '${i + 1}' attempts (id=${id})`,
|
|
96
|
-
error,
|
|
97
|
-
});
|
|
98
|
-
throw firstError;
|
|
99
|
-
}
|
|
100
|
-
const duration = BASE_DURATION * 2 ** i;
|
|
101
|
-
common.logger.debug({
|
|
102
|
-
service: "database",
|
|
103
|
-
msg: `Failed '${label ?? sql}' database query, retrying after ${duration} milliseconds (id=${id})`,
|
|
104
|
-
error,
|
|
105
|
-
});
|
|
106
|
-
await wait(duration);
|
|
107
|
-
}
|
|
108
|
-
finally {
|
|
109
|
-
if (label) {
|
|
110
|
-
common.logger.trace({
|
|
111
|
-
service: "database",
|
|
112
|
-
msg: `Completed '${label}' database method in ${Math.round(endClock())}ms (id=${id})`,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
throw "unreachable";
|
|
118
|
-
};
|
|
119
|
-
const assignClient = (qb, client) => {
|
|
120
|
-
if (client instanceof pg.Pool || client instanceof pg.Client) {
|
|
121
|
-
Object.assign(qb, { $dialect: "postgres" });
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
Object.assign(qb, { $dialect: "pglite" });
|
|
125
|
-
}
|
|
126
|
-
Object.assign(qb, { $client: client });
|
|
127
|
-
};
|
|
128
|
-
const wrapTx = (db) => {
|
|
129
|
-
const _transaction = db.transaction.bind(db);
|
|
130
|
-
db.transaction = async (...args) => {
|
|
131
|
-
const callback = args[0];
|
|
132
|
-
args[0] = async (_tx) => {
|
|
133
|
-
wrapTx(_tx);
|
|
134
|
-
const previousLabel = txLabel;
|
|
135
|
-
const tx = (label) => {
|
|
136
|
-
txLabel = label;
|
|
137
|
-
return _tx;
|
|
138
|
-
};
|
|
139
|
-
// @ts-expect-error
|
|
140
|
-
assignClient(tx, _tx.session.client);
|
|
141
|
-
// @ts-expect-error
|
|
142
|
-
const result = await callback(tx);
|
|
143
|
-
txLabel = previousLabel;
|
|
144
|
-
return result;
|
|
145
|
-
};
|
|
146
|
-
return _transaction(...args);
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
const qb = ((label) => {
|
|
150
|
-
const db = createDb();
|
|
151
|
-
const isClient = db.$client instanceof pg.Client;
|
|
152
|
-
// non-transaction queries (retryable)
|
|
153
|
-
const execute = db._.session.execute.bind(db._.session);
|
|
154
|
-
db._.session.execute = async (...args) => {
|
|
155
|
-
return wrap(label, () => execute(...args), dialect.sqlToQuery(args[0]).sql.slice(0, SQL_LENGTH_LIMIT));
|
|
156
|
-
};
|
|
157
|
-
const prepareQuery = db._.session.prepareQuery.bind(db._.session);
|
|
158
|
-
db._.session.prepareQuery = (...args) => {
|
|
159
|
-
const result = prepareQuery(...args);
|
|
160
|
-
const execute = result.execute.bind(result);
|
|
161
|
-
result.execute = async (..._args) => {
|
|
162
|
-
return wrap(label, () => execute(..._args), args[0].sql.slice(0, SQL_LENGTH_LIMIT));
|
|
163
|
-
};
|
|
164
|
-
return result;
|
|
165
|
-
};
|
|
166
|
-
// transaction queries (non-retryable)
|
|
167
|
-
wrapTx(db);
|
|
168
|
-
txLabel = label;
|
|
169
|
-
const transaction = db._.session.transaction.bind(db._.session);
|
|
170
|
-
db._.session.transaction = async (...args) => {
|
|
171
|
-
const callback = args[0];
|
|
172
|
-
args[0] = async (..._args) => {
|
|
173
|
-
const tx = _args[0];
|
|
174
|
-
const txExecute = isClient
|
|
175
|
-
? execute
|
|
176
|
-
: tx._.session.execute.bind(tx._.session);
|
|
177
|
-
// @ts-expect-error
|
|
178
|
-
tx._.session.execute = async (...args) => {
|
|
179
|
-
return wrap(txLabel, () => txExecute(...args).catch((error) => {
|
|
180
|
-
throw new TransactionError(error.message);
|
|
181
|
-
}), dialect.sqlToQuery(args[0]).sql.slice(0, SQL_LENGTH_LIMIT));
|
|
182
|
-
};
|
|
183
|
-
const txPrepareQuery = isClient
|
|
184
|
-
? prepareQuery
|
|
185
|
-
: tx._.session.prepareQuery.bind(tx._.session);
|
|
186
|
-
// @ts-ignore
|
|
187
|
-
tx._.session.prepareQuery = (...args) => {
|
|
188
|
-
const result = txPrepareQuery(...args);
|
|
189
|
-
const execute = result.execute.bind(result);
|
|
190
|
-
result.execute = async (..._args) => {
|
|
191
|
-
return wrap(txLabel, () => execute(..._args).catch((error) => {
|
|
192
|
-
throw new TransactionError(error.message);
|
|
193
|
-
}), args[0].sql.slice(0, SQL_LENGTH_LIMIT));
|
|
194
|
-
};
|
|
195
|
-
return result;
|
|
196
|
-
};
|
|
197
|
-
return callback(..._args);
|
|
198
|
-
};
|
|
199
|
-
return wrap(label, () => transaction(...args), "begin");
|
|
200
|
-
};
|
|
201
|
-
return db;
|
|
202
|
-
});
|
|
203
|
-
assignClient(qb, createDb().$client);
|
|
204
|
-
return qb;
|
|
205
|
-
};
|
|
206
|
-
//# sourceMappingURL=queryBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../../../src/database/queryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { getPrimaryKeyColumns } from '../drizzle/index.js';
|
|
2
|
-
import { getTableNames } from '../drizzle/index.js';
|
|
3
|
-
import { getColumnCasing, getReorgTable } from '../drizzle/kit/index.js';
|
|
4
|
-
import { MAX_CHECKPOINT_STRING } from '../utils/checkpoint.js';
|
|
5
|
-
import { eq, getTableColumns, getTableName, lte, sql } from "drizzle-orm";
|
|
6
|
-
import { getTableConfig } from "drizzle-orm/pg-core";
|
|
7
|
-
export const createIndexes = async (qb, { statements }) => {
|
|
8
|
-
for (const statement of statements.indexes.sql) {
|
|
9
|
-
await qb("create_indexes").transaction(async (tx) => {
|
|
10
|
-
// 60 minutes
|
|
11
|
-
await tx().execute("SET statement_timeout = 3600000;");
|
|
12
|
-
await tx().execute(statement);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
export const createTrigger = async (qb, { table }) => {
|
|
17
|
-
const schema = getTableConfig(table).schema ?? "public";
|
|
18
|
-
const columns = getTableColumns(table);
|
|
19
|
-
const columnNames = Object.values(columns).map((column) => `"${getColumnCasing(column, "snake_case")}"`);
|
|
20
|
-
await qb("create_trigger_function").execute(sql.raw(`
|
|
21
|
-
CREATE OR REPLACE FUNCTION "${schema}".${getTableNames(table).triggerFn}
|
|
22
|
-
RETURNS TRIGGER AS $$
|
|
23
|
-
BEGIN
|
|
24
|
-
IF TG_OP = 'INSERT' THEN
|
|
25
|
-
INSERT INTO "${schema}"."${getTableName(getReorgTable(table))}" (${columnNames.join(",")}, operation, checkpoint)
|
|
26
|
-
VALUES (${columnNames.map((name) => `NEW.${name}`).join(",")}, 0, '${MAX_CHECKPOINT_STRING}');
|
|
27
|
-
ELSIF TG_OP = 'UPDATE' THEN
|
|
28
|
-
INSERT INTO "${schema}"."${getTableName(getReorgTable(table))}" (${columnNames.join(",")}, operation, checkpoint)
|
|
29
|
-
VALUES (${columnNames.map((name) => `OLD.${name}`).join(",")}, 1, '${MAX_CHECKPOINT_STRING}');
|
|
30
|
-
ELSIF TG_OP = 'DELETE' THEN
|
|
31
|
-
INSERT INTO "${schema}"."${getTableName(getReorgTable(table))}" (${columnNames.join(",")}, operation, checkpoint)
|
|
32
|
-
VALUES (${columnNames.map((name) => `OLD.${name}`).join(",")}, 2, '${MAX_CHECKPOINT_STRING}');
|
|
33
|
-
END IF;
|
|
34
|
-
RETURN NULL;
|
|
35
|
-
END;
|
|
36
|
-
$$ LANGUAGE plpgsql`));
|
|
37
|
-
await qb("create_trigger").execute(sql.raw(`
|
|
38
|
-
CREATE OR REPLACE TRIGGER "${getTableNames(table).trigger}"
|
|
39
|
-
AFTER INSERT OR UPDATE OR DELETE ON "${schema}"."${getTableName(table)}"
|
|
40
|
-
FOR EACH ROW EXECUTE FUNCTION "${schema}".${getTableNames(table).triggerFn};
|
|
41
|
-
`));
|
|
42
|
-
};
|
|
43
|
-
export const dropTrigger = async (qb, { table }) => {
|
|
44
|
-
const schema = getTableConfig(table).schema ?? "public";
|
|
45
|
-
await qb("drop_trigger").execute(sql.raw(`DROP TRIGGER IF EXISTS "${getTableNames(table).trigger}" ON "${schema}"."${getTableName(table)}"`));
|
|
46
|
-
};
|
|
47
|
-
export const revert = async (qb, { checkpoint, table }) => {
|
|
48
|
-
const primaryKeyColumns = getPrimaryKeyColumns(table);
|
|
49
|
-
const schema = getTableConfig(table).schema ?? "public";
|
|
50
|
-
const result = await qb("revert").execute(sql.raw(`
|
|
51
|
-
WITH reverted1 AS (
|
|
52
|
-
DELETE FROM "${schema}"."${getTableName(getReorgTable(table))}"
|
|
53
|
-
WHERE checkpoint > '${checkpoint}' RETURNING *
|
|
54
|
-
), reverted2 AS (
|
|
55
|
-
SELECT ${primaryKeyColumns.map(({ sql }) => `"${sql}"`).join(", ")}, MIN(operation_id) AS operation_id FROM reverted1
|
|
56
|
-
GROUP BY ${primaryKeyColumns.map(({ sql }) => `"${sql}"`).join(", ")}
|
|
57
|
-
), reverted3 AS (
|
|
58
|
-
SELECT ${Object.values(getTableColumns(table))
|
|
59
|
-
.map((column) => `reverted1."${getColumnCasing(column, "snake_case")}"`)
|
|
60
|
-
.join(", ")}, reverted1.operation FROM reverted2
|
|
61
|
-
INNER JOIN reverted1
|
|
62
|
-
ON ${primaryKeyColumns.map(({ sql }) => `reverted2."${sql}" = reverted1."${sql}"`).join("AND ")}
|
|
63
|
-
AND reverted2.operation_id = reverted1.operation_id
|
|
64
|
-
), inserted AS (
|
|
65
|
-
DELETE FROM "${schema}"."${getTableName(table)}" as t
|
|
66
|
-
WHERE EXISTS (
|
|
67
|
-
SELECT * FROM reverted3
|
|
68
|
-
WHERE ${primaryKeyColumns.map(({ sql }) => `t."${sql}" = reverted3."${sql}"`).join("AND ")}
|
|
69
|
-
AND OPERATION = 0
|
|
70
|
-
)
|
|
71
|
-
RETURNING *
|
|
72
|
-
), updated_or_deleted AS (
|
|
73
|
-
INSERT INTO "${schema}"."${getTableName(table)}"
|
|
74
|
-
SELECT ${Object.values(getTableColumns(table))
|
|
75
|
-
.map((column) => `"${getColumnCasing(column, "snake_case")}"`)
|
|
76
|
-
.join(", ")} FROM reverted3
|
|
77
|
-
WHERE operation = 1 OR operation = 2
|
|
78
|
-
ON CONFLICT (${primaryKeyColumns.map(({ sql }) => `"${sql}"`).join(", ")})
|
|
79
|
-
DO UPDATE SET
|
|
80
|
-
${Object.values(getTableColumns(table))
|
|
81
|
-
.map((column) => `"${getColumnCasing(column, "snake_case")}" = EXCLUDED."${getColumnCasing(column, "snake_case")}"`)
|
|
82
|
-
.join(", ")}
|
|
83
|
-
RETURNING *
|
|
84
|
-
) SELECT COUNT(*) FROM reverted1 as count;
|
|
85
|
-
`));
|
|
86
|
-
return result.rows[0].count;
|
|
87
|
-
};
|
|
88
|
-
export const finalize = async (qb, { checkpoint, table }) => {
|
|
89
|
-
await qb("finalize")
|
|
90
|
-
.delete(getReorgTable(table))
|
|
91
|
-
.where(lte(getReorgTable(table).checkpoint, checkpoint));
|
|
92
|
-
};
|
|
93
|
-
export const commitBlock = async (qb, { checkpoint, table }) => {
|
|
94
|
-
const reorgTable = getReorgTable(table);
|
|
95
|
-
await qb("commit_block")
|
|
96
|
-
.update(reorgTable)
|
|
97
|
-
.set({ checkpoint })
|
|
98
|
-
.where(eq(reorgTable.checkpoint, MAX_CHECKPOINT_STRING));
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/database/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAgB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGnE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,EAAM,EACN,EAAE,UAAU,EAA6C,EACzD,EAAE;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9C,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClD,aAAa;YACb,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACvD,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC;IACxD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CACzD,CAAC;IAEF,MAAM,EAAE,CAAC,yBAAyB,CAAC,CAAC,OAAO,CACzC,GAAG,CAAC,GAAG,CAAC;8BACkB,MAAM,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS;;;;eAIxD,MAAM,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;UAC9E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,qBAAqB;;eAE3E,MAAM,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;UAC9E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,qBAAqB;;eAE3E,MAAM,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;UAC9E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,qBAAqB;;;;oBAItE,CAAC,CAClB,CAAC;IAEF,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAChC,GAAG,CAAC,GAAG,CAAC;6BACiB,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO;uCAClB,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC;iCACrC,MAAM,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS;CACzE,CAAC,CACC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IACzE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC;IAExD,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,OAAO,CAC9B,GAAG,CAAC,GAAG,CACL,2BAA2B,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,SAAS,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CACnG,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,EAAM,EACN,EAAE,UAAU,EAAE,KAAK,EAA0C,EAC5C,EAAE;IACnB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,CACvC,GAAG,CAAC,GAAG,CAAC;;eAEG,MAAM,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;sBACvC,UAAU;;SAEvB,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;WACvD,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;SAE3D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;SACvE,IAAI,CAAC,IAAI,CAAC;;KAEZ,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,cAAc,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;eAGhF,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC;;;QAGtC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;gBAK1E,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC;SACtC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC;;eAEF,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEtE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACpC,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CACT,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CACrG;SACA,IAAI,CAAC,IAAI,CAAC;;;CAGZ,CAAC,CACC,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAe,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAM,EACN,EAAE,UAAU,EAAE,KAAK,EAA0C,EAC7D,EAAE;IACF,MAAM,EAAE,CAAC,UAAU,CAAC;SACjB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,EAAM,EACN,EAAE,UAAU,EAAE,KAAK,EAA0C,EAC7D,EAAE;IACF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,cAAc,CAAC;SACrB,MAAM,CAAC,UAAU,CAAC;SAClB,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;SACnB,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
package/dist/esm/drizzle/json.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
var _a, _b, _c, _d;
|
|
2
|
-
import { BigIntSerializationError, getBaseError } from '../internal/errors.js';
|
|
3
|
-
import { entityKind } from "drizzle-orm";
|
|
4
|
-
import { PgColumn, PgColumnBuilder, } from "drizzle-orm/pg-core";
|
|
5
|
-
class PgJsonBuilder extends PgColumnBuilder {
|
|
6
|
-
constructor(name) {
|
|
7
|
-
super(name, "json", "PgJson");
|
|
8
|
-
}
|
|
9
|
-
/** @internal */
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
build(table) {
|
|
12
|
-
return new PgJson(table, this.config);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
_a = entityKind;
|
|
16
|
-
Object.defineProperty(PgJsonBuilder, _a, {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true,
|
|
20
|
-
value: "PgJsonBuilder"
|
|
21
|
-
});
|
|
22
|
-
export { PgJsonBuilder };
|
|
23
|
-
class PgJson extends PgColumn {
|
|
24
|
-
getSQLType() {
|
|
25
|
-
return "json";
|
|
26
|
-
}
|
|
27
|
-
mapToDriverValue(value) {
|
|
28
|
-
try {
|
|
29
|
-
return JSON.stringify(value);
|
|
30
|
-
}
|
|
31
|
-
catch (_error) {
|
|
32
|
-
let error = getBaseError(_error);
|
|
33
|
-
if (error?.message?.includes("Do not know how to serialize a BigInt")) {
|
|
34
|
-
error = new BigIntSerializationError(error.message);
|
|
35
|
-
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");
|
|
36
|
-
}
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
mapFromDriverValue(value) {
|
|
41
|
-
if (typeof value === "string") {
|
|
42
|
-
try {
|
|
43
|
-
return JSON.parse(value);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
_b = entityKind;
|
|
53
|
-
Object.defineProperty(PgJson, _b, {
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: true,
|
|
56
|
-
writable: true,
|
|
57
|
-
value: "PgJson"
|
|
58
|
-
});
|
|
59
|
-
export { PgJson };
|
|
60
|
-
class PgJsonbBuilder extends PgColumnBuilder {
|
|
61
|
-
constructor(name) {
|
|
62
|
-
super(name, "json", "PgJsonb");
|
|
63
|
-
}
|
|
64
|
-
/** @internal */
|
|
65
|
-
// @ts-ignore
|
|
66
|
-
build(table) {
|
|
67
|
-
return new PgJsonb(table, this.config);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
_c = entityKind;
|
|
71
|
-
Object.defineProperty(PgJsonbBuilder, _c, {
|
|
72
|
-
enumerable: true,
|
|
73
|
-
configurable: true,
|
|
74
|
-
writable: true,
|
|
75
|
-
value: "PgJsonbBuilder"
|
|
76
|
-
});
|
|
77
|
-
export { PgJsonbBuilder };
|
|
78
|
-
class PgJsonb extends PgColumn {
|
|
79
|
-
// biome-ignore lint/complexity/noUselessConstructor: <explanation>
|
|
80
|
-
constructor(table, config) {
|
|
81
|
-
super(table, config);
|
|
82
|
-
}
|
|
83
|
-
getSQLType() {
|
|
84
|
-
return "jsonb";
|
|
85
|
-
}
|
|
86
|
-
mapToDriverValue(value) {
|
|
87
|
-
try {
|
|
88
|
-
return JSON.stringify(value);
|
|
89
|
-
}
|
|
90
|
-
catch (_error) {
|
|
91
|
-
let error = getBaseError(_error);
|
|
92
|
-
if (error?.message?.includes("Do not know how to serialize a BigInt")) {
|
|
93
|
-
error = new BigIntSerializationError(error.message);
|
|
94
|
-
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");
|
|
95
|
-
}
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
mapFromDriverValue(value) {
|
|
100
|
-
if (typeof value === "string") {
|
|
101
|
-
try {
|
|
102
|
-
return JSON.parse(value);
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
return value;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return value;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
_d = entityKind;
|
|
112
|
-
Object.defineProperty(PgJsonb, _d, {
|
|
113
|
-
enumerable: true,
|
|
114
|
-
configurable: true,
|
|
115
|
-
writable: true,
|
|
116
|
-
value: "PgJsonb"
|
|
117
|
-
});
|
|
118
|
-
export { PgJsonb };
|
|
119
|
-
//# sourceMappingURL=json.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/drizzle/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { Common } from '../internal/common.js';
|
|
2
|
-
import type { Schema } from '../internal/types.js';
|
|
3
|
-
import type { Drizzle } from '../types/db.js';
|
|
4
|
-
import type { PGlite } from "@electric-sql/pglite";
|
|
5
|
-
import { type PgDatabase, type PgQueryResultHKT, type PgTransactionConfig } from "drizzle-orm/pg-core";
|
|
6
|
-
import pg from "pg";
|
|
7
|
-
/**
|
|
8
|
-
* Query builder with built-in retry logic, logging, and metrics.
|
|
9
|
-
*/
|
|
10
|
-
export type QB<TSchema extends Schema = Schema, TClient extends PGlite | pg.Pool | pg.PoolClient = PGlite | pg.Pool | pg.PoolClient> = ((label?: string) => Omit<Drizzle<TSchema>, "transaction"> & {
|
|
11
|
-
transaction<T>(transaction: (tx: QB<TSchema, TClient>) => Promise<T>, config?: PgTransactionConfig): Promise<T>;
|
|
12
|
-
}) & ({
|
|
13
|
-
$dialect: "pglite";
|
|
14
|
-
$client: PGlite;
|
|
15
|
-
} | {
|
|
16
|
-
$dialect: "postgres";
|
|
17
|
-
$client: pg.Pool | pg.PoolClient;
|
|
18
|
-
});
|
|
19
|
-
export declare const parseSqlError: (e: any) => Error;
|
|
20
|
-
/**
|
|
21
|
-
* Create a query builder.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```ts
|
|
25
|
-
* const qb = createQB(common, drizzle(pool, { casing: "snake_case" }));
|
|
26
|
-
* const result = await qb.label("test").select().from(accounts);
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export declare const createQB: <TSchema extends Schema = {
|
|
30
|
-
[name: string]: never;
|
|
31
|
-
}, TClient extends pg.Pool | pg.PoolClient | PGlite = pg.Pool | pg.PoolClient | PGlite>(createDb: () => PgDatabase<PgQueryResultHKT, TSchema, import("drizzle-orm").ExtractTablesWithRelations<TSchema>> & {
|
|
32
|
-
$client: TClient;
|
|
33
|
-
}, { common, isAdmin }: {
|
|
34
|
-
common: Common;
|
|
35
|
-
isAdmin?: boolean | undefined;
|
|
36
|
-
}) => QB<TSchema, TClient>;
|
|
37
|
-
//# sourceMappingURL=queryBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryBuilder.d.ts","sourceRoot":"","sources":["../../../src/database/queryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAanD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAMpB;;GAEG;AACH,MAAM,MAAM,EAAE,CACZ,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,OAAO,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,GAC5C,MAAM,GACN,EAAE,CAAC,IAAI,GACP,EAAE,CAAC,UAAU,IACf,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG;IAC/D,WAAW,CAAC,CAAC,EACX,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACrD,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;CACf,CAAC,GACA,CACI;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAA;CAAE,CAC7D,CAAC;AAEJ,eAAO,MAAM,aAAa,MAAO,GAAG,KAAG,KAqBtC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;;;;;YAQY,MAAM;;0BAoOtC,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { SchemaBuild } from '../internal/types.js';
|
|
2
|
-
import { type PgTable } from "drizzle-orm/pg-core";
|
|
3
|
-
import type { QB } from "./queryBuilder.js";
|
|
4
|
-
export declare const createIndexes: (qb: QB, { statements }: {
|
|
5
|
-
statements: SchemaBuild["statements"];
|
|
6
|
-
}) => Promise<void>;
|
|
7
|
-
export declare const createTrigger: (qb: QB, { table }: {
|
|
8
|
-
table: PgTable;
|
|
9
|
-
}) => Promise<void>;
|
|
10
|
-
export declare const dropTrigger: (qb: QB, { table }: {
|
|
11
|
-
table: PgTable;
|
|
12
|
-
}) => Promise<void>;
|
|
13
|
-
export declare const revert: (qb: QB, { checkpoint, table }: {
|
|
14
|
-
checkpoint: string;
|
|
15
|
-
table: PgTable;
|
|
16
|
-
}) => Promise<number>;
|
|
17
|
-
export declare const finalize: (qb: QB, { checkpoint, table }: {
|
|
18
|
-
checkpoint: string;
|
|
19
|
-
table: PgTable;
|
|
20
|
-
}) => Promise<void>;
|
|
21
|
-
export declare const commitBlock: (qb: QB, { checkpoint, table }: {
|
|
22
|
-
checkpoint: string;
|
|
23
|
-
table: PgTable;
|
|
24
|
-
}) => Promise<void>;
|
|
25
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/database/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE5C,eAAO,MAAM,aAAa,OACpB,EAAE;gBACwB,WAAW,CAAC,YAAY,CAAC;mBASxD,CAAC;AAEF,eAAO,MAAM,aAAa,OAAc,EAAE;WAAsB,OAAO;mBAmCtE,CAAC;AAEF,eAAO,MAAM,WAAW,OAAc,EAAE;WAAsB,OAAO;mBAQpE,CAAC;AAEF,eAAO,MAAM,MAAM,OACb,EAAE;gBAC+B,MAAM;WAAS,OAAO;MAC1D,QAAQ,MAAM,CA+ChB,CAAC;AAEF,eAAO,MAAM,QAAQ,OACf,EAAE;gBAC+B,MAAM;WAAS,OAAO;mBAK5D,CAAC;AAEF,eAAO,MAAM,WAAW,OAClB,EAAE;gBAC+B,MAAM;WAAS,OAAO;mBAO5D,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { type ColumnBaseConfig, entityKind } from "drizzle-orm";
|
|
2
|
-
import type { ColumnBuilderBaseConfig, MakeColumnConfig } from "drizzle-orm/column-builder";
|
|
3
|
-
import { type AnyPgTable, PgColumn, PgColumnBuilder } from "drizzle-orm/pg-core";
|
|
4
|
-
export type PgJsonBuilderInitial<TName extends string> = PgJsonBuilder<{
|
|
5
|
-
name: TName;
|
|
6
|
-
dataType: "json";
|
|
7
|
-
columnType: "PgJson";
|
|
8
|
-
data: unknown;
|
|
9
|
-
driverParam: string;
|
|
10
|
-
enumValues: undefined;
|
|
11
|
-
}>;
|
|
12
|
-
export declare class PgJsonBuilder<T extends ColumnBuilderBaseConfig<"json", "PgJson">> extends PgColumnBuilder<T> {
|
|
13
|
-
static readonly [entityKind]: string;
|
|
14
|
-
constructor(name: T["name"]);
|
|
15
|
-
/** @internal */
|
|
16
|
-
build<TTableName extends string>(table: AnyPgTable<{
|
|
17
|
-
name: TTableName;
|
|
18
|
-
}>): PgJson<MakeColumnConfig<T, TTableName>>;
|
|
19
|
-
}
|
|
20
|
-
export declare class PgJson<T extends ColumnBaseConfig<"json", "PgJson">> extends PgColumn<T> {
|
|
21
|
-
static readonly [entityKind]: string;
|
|
22
|
-
getSQLType(): string;
|
|
23
|
-
mapToDriverValue(value: T["data"]): string;
|
|
24
|
-
mapFromDriverValue(value: T["data"] | string): T["data"];
|
|
25
|
-
}
|
|
26
|
-
export type PgJsonbBuilderInitial<TName extends string> = PgJsonbBuilder<{
|
|
27
|
-
name: TName;
|
|
28
|
-
dataType: "json";
|
|
29
|
-
columnType: "PgJsonb";
|
|
30
|
-
data: unknown;
|
|
31
|
-
driverParam: unknown;
|
|
32
|
-
enumValues: undefined;
|
|
33
|
-
}>;
|
|
34
|
-
export declare class PgJsonbBuilder<T extends ColumnBuilderBaseConfig<"json", "PgJsonb">> extends PgColumnBuilder<T> {
|
|
35
|
-
static readonly [entityKind]: string;
|
|
36
|
-
constructor(name: T["name"]);
|
|
37
|
-
/** @internal */
|
|
38
|
-
build<TTableName extends string>(table: AnyPgTable<{
|
|
39
|
-
name: TTableName;
|
|
40
|
-
}>): PgJsonb<MakeColumnConfig<T, TTableName>>;
|
|
41
|
-
}
|
|
42
|
-
export declare class PgJsonb<T extends ColumnBaseConfig<"json", "PgJsonb">> extends PgColumn<T> {
|
|
43
|
-
static readonly [entityKind]: string;
|
|
44
|
-
constructor(table: AnyPgTable<{
|
|
45
|
-
name: T["tableName"];
|
|
46
|
-
}>, config: PgJsonbBuilder<T>["config"]);
|
|
47
|
-
getSQLType(): string;
|
|
48
|
-
mapToDriverValue(value: T["data"]): string;
|
|
49
|
-
mapFromDriverValue(value: T["data"] | string): T["data"];
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=json.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/drizzle/json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,uBAAuB,EAEvB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,MAAM,IAAI,aAAa,CAAC;IACrE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC,CAAC;AAEH,qBAAa,aAAa,CACxB,CAAC,SAAS,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnD,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAmB;gBAE3C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAI3B,gBAAgB;IAEP,KAAK,CAAC,UAAU,SAAS,MAAM,EACtC,KAAK,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,GACtC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CAM3C;AAED,qBAAa,MAAM,CACjB,CAAC,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC5C,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAY;IAEhD,UAAU,IAAI,MAAM;IAIX,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM;IAgB1C,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;CAUlE;AAED,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC;IACvE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC,CAAC;AAEH,qBAAa,cAAc,CACzB,CAAC,SAAS,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CACpD,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAoB;gBAErD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAI3B,gBAAgB;IAEP,KAAK,CAAC,UAAU,SAAS,MAAM,EACtC,KAAK,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CAM5C;AAED,qBAAa,OAAO,CAClB,CAAC,SAAS,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAC7C,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAa;gBAIxD,KAAK,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,EAC3C,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAKrC,UAAU,IAAI,MAAM;IAIX,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM;IAgB1C,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;CAUlE"}
|