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.
Files changed (123) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/esm/bin/commands/createViews.js +9 -20
  3. package/dist/esm/bin/commands/createViews.js.map +1 -1
  4. package/dist/esm/bin/commands/dev.js +1 -1
  5. package/dist/esm/bin/commands/dev.js.map +1 -1
  6. package/dist/esm/bin/commands/list.js +4 -7
  7. package/dist/esm/bin/commands/list.js.map +1 -1
  8. package/dist/esm/bin/commands/prune.js +9 -21
  9. package/dist/esm/bin/commands/prune.js.map +1 -1
  10. package/dist/esm/bin/commands/serve.js +1 -1
  11. package/dist/esm/bin/commands/serve.js.map +1 -1
  12. package/dist/esm/bin/commands/start.js +3 -3
  13. package/dist/esm/bin/commands/start.js.map +1 -1
  14. package/dist/esm/bin/utils/run.js +159 -180
  15. package/dist/esm/bin/utils/run.js.map +1 -1
  16. package/dist/esm/build/index.js +1 -48
  17. package/dist/esm/build/index.js.map +1 -1
  18. package/dist/esm/build/plugin.js +1 -1
  19. package/dist/esm/client/index.js +9 -13
  20. package/dist/esm/client/index.js.map +1 -1
  21. package/dist/esm/database/index.js +429 -141
  22. package/dist/esm/database/index.js.map +1 -1
  23. package/dist/esm/drizzle/index.js.map +1 -1
  24. package/dist/esm/drizzle/kit/index.js.map +1 -1
  25. package/dist/esm/drizzle/onchain.js +1 -8
  26. package/dist/esm/drizzle/onchain.js.map +1 -1
  27. package/dist/esm/graphql/index.js +16 -19
  28. package/dist/esm/graphql/index.js.map +1 -1
  29. package/dist/esm/graphql/middleware.js +7 -3
  30. package/dist/esm/graphql/middleware.js.map +1 -1
  31. package/dist/esm/indexing-store/cache.js +32 -26
  32. package/dist/esm/indexing-store/cache.js.map +1 -1
  33. package/dist/esm/indexing-store/historical.js +32 -23
  34. package/dist/esm/indexing-store/historical.js.map +1 -1
  35. package/dist/esm/indexing-store/index.js +18 -1
  36. package/dist/esm/indexing-store/index.js.map +1 -1
  37. package/dist/esm/indexing-store/realtime.js +140 -89
  38. package/dist/esm/indexing-store/realtime.js.map +1 -1
  39. package/dist/esm/internal/errors.js +0 -12
  40. package/dist/esm/internal/errors.js.map +1 -1
  41. package/dist/esm/server/index.js +2 -10
  42. package/dist/esm/server/index.js.map +1 -1
  43. package/dist/esm/sync-store/index.js +432 -403
  44. package/dist/esm/sync-store/index.js.map +1 -1
  45. package/dist/esm/utils/wait.js +0 -2
  46. package/dist/esm/utils/wait.js.map +1 -1
  47. package/dist/types/bin/commands/createViews.d.ts.map +1 -1
  48. package/dist/types/bin/commands/list.d.ts.map +1 -1
  49. package/dist/types/bin/commands/prune.d.ts.map +1 -1
  50. package/dist/types/bin/commands/start.d.ts +0 -2
  51. package/dist/types/bin/commands/start.d.ts.map +1 -1
  52. package/dist/types/bin/utils/run.d.ts +1 -1
  53. package/dist/types/bin/utils/run.d.ts.map +1 -1
  54. package/dist/types/build/index.d.ts +1 -1
  55. package/dist/types/build/index.d.ts.map +1 -1
  56. package/dist/types/client/index.d.ts.map +1 -1
  57. package/dist/types/database/index.d.ts +73 -25
  58. package/dist/types/database/index.d.ts.map +1 -1
  59. package/dist/types/drizzle/index.d.ts +3 -2
  60. package/dist/types/drizzle/index.d.ts.map +1 -1
  61. package/dist/types/drizzle/kit/index.d.ts +4 -3
  62. package/dist/types/drizzle/kit/index.d.ts.map +1 -1
  63. package/dist/types/drizzle/onchain.d.ts +5 -12
  64. package/dist/types/drizzle/onchain.d.ts.map +1 -1
  65. package/dist/types/graphql/index.d.ts +4 -2
  66. package/dist/types/graphql/index.d.ts.map +1 -1
  67. package/dist/types/graphql/middleware.d.ts +1 -1
  68. package/dist/types/graphql/middleware.d.ts.map +1 -1
  69. package/dist/types/indexing-store/cache.d.ts +12 -5
  70. package/dist/types/indexing-store/cache.d.ts.map +1 -1
  71. package/dist/types/indexing-store/historical.d.ts +7 -2
  72. package/dist/types/indexing-store/historical.d.ts.map +1 -1
  73. package/dist/types/indexing-store/index.d.ts +2 -4
  74. package/dist/types/indexing-store/index.d.ts.map +1 -1
  75. package/dist/types/indexing-store/realtime.d.ts +3 -1
  76. package/dist/types/indexing-store/realtime.d.ts.map +1 -1
  77. package/dist/types/internal/errors.d.ts +0 -4
  78. package/dist/types/internal/errors.d.ts.map +1 -1
  79. package/dist/types/server/index.d.ts +1 -1
  80. package/dist/types/server/index.d.ts.map +1 -1
  81. package/dist/types/sync/index.d.ts +1 -1
  82. package/dist/types/sync-store/index.d.ts.map +1 -1
  83. package/dist/types/utils/wait.d.ts.map +1 -1
  84. package/package.json +2 -2
  85. package/src/bin/commands/createViews.ts +26 -37
  86. package/src/bin/commands/dev.ts +1 -1
  87. package/src/bin/commands/list.ts +4 -7
  88. package/src/bin/commands/prune.ts +17 -31
  89. package/src/bin/commands/serve.ts +1 -1
  90. package/src/bin/commands/start.ts +3 -4
  91. package/src/bin/utils/run.ts +210 -256
  92. package/src/build/index.ts +2 -53
  93. package/src/build/plugin.ts +1 -1
  94. package/src/client/index.ts +10 -21
  95. package/src/database/index.ts +742 -331
  96. package/src/drizzle/index.ts +3 -2
  97. package/src/drizzle/kit/index.ts +5 -2
  98. package/src/drizzle/onchain.ts +2 -26
  99. package/src/graphql/index.ts +26 -31
  100. package/src/graphql/middleware.ts +7 -5
  101. package/src/indexing-store/cache.ts +52 -35
  102. package/src/indexing-store/historical.ts +40 -28
  103. package/src/indexing-store/index.ts +27 -2
  104. package/src/indexing-store/realtime.ts +220 -176
  105. package/src/internal/errors.ts +0 -9
  106. package/src/server/index.ts +3 -14
  107. package/src/sync-store/index.ts +997 -870
  108. package/src/utils/wait.ts +0 -1
  109. package/dist/esm/database/queryBuilder.js +0 -206
  110. package/dist/esm/database/queryBuilder.js.map +0 -1
  111. package/dist/esm/database/utils.js +0 -100
  112. package/dist/esm/database/utils.js.map +0 -1
  113. package/dist/esm/drizzle/json.js +0 -119
  114. package/dist/esm/drizzle/json.js.map +0 -1
  115. package/dist/types/database/queryBuilder.d.ts +0 -37
  116. package/dist/types/database/queryBuilder.d.ts.map +0 -1
  117. package/dist/types/database/utils.d.ts +0 -25
  118. package/dist/types/database/utils.d.ts.map +0 -1
  119. package/dist/types/drizzle/json.d.ts +0 -51
  120. package/dist/types/drizzle/json.d.ts.map +0 -1
  121. package/src/database/queryBuilder.ts +0 -319
  122. package/src/database/utils.ts +0 -140
  123. package/src/drizzle/json.ts +0 -154
@@ -1,6 +1,4 @@
1
1
  import { runCodegen } from './codegen.js';
2
- import { getPonderCheckpointTable, getPonderMetaTable, } from '../../database/index.js';
3
- import { commitBlock, createIndexes, createTrigger, dropTrigger, finalize, revert, } from '../../database/utils.js';
4
2
  import { createIndexingCache } from '../../indexing-store/cache.js';
5
3
  import { createHistoricalIndexingStore } from '../../indexing-store/historical.js';
6
4
  import { createRealtimeIndexingStore } from '../../indexing-store/realtime.js';
@@ -21,9 +19,6 @@ import { getTableName, is, sql } from "drizzle-orm";
21
19
  import { PgTable } from "drizzle-orm/pg-core";
22
20
  /** Starts the sync and indexing services for the specified build. */
23
21
  export async function run({ common, preBuild, namespaceBuild, schemaBuild, indexingBuild, crashRecoveryCheckpoint, database, onFatalError, onReloadableError, }) {
24
- const PONDER_META = getPonderMetaTable(namespaceBuild.schema);
25
- const PONDER_CHECKPOINT = getPonderCheckpointTable(namespaceBuild.schema);
26
- const tables = Object.values(schemaBuild.schema).filter((table) => is(table, PgTable));
27
22
  await database.migrateSync();
28
23
  runCodegen({ common });
29
24
  const syncStore = createSyncStore({ common, database });
@@ -60,11 +55,6 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
60
55
  crashRecoveryCheckpoint,
61
56
  eventCount,
62
57
  });
63
- const historicalIndexingStore = createHistoricalIndexingStore({
64
- common,
65
- schemaBuild,
66
- indexingCache,
67
- });
68
58
  for (const chain of indexingBuild.chains) {
69
59
  const label = { chain: chain.name };
70
60
  common.metrics.ponder_historical_total_indexing_seconds.set(label, Math.max(sync.seconds[chain.name].end - sync.seconds[chain.name].start, 0));
@@ -79,44 +69,44 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
79
69
  common.metrics.start_timestamp = Date.now();
80
70
  // If the initial checkpoint is zero, we need to run setup events.
81
71
  if (crashRecoveryCheckpoint === undefined) {
82
- await database.userQB().transaction(async (tx) => {
83
- historicalIndexingStore.qb = tx;
84
- indexingCache.qb = tx;
85
- const result = await indexing.processSetupEvents({
86
- db: historicalIndexingStore,
87
- });
88
- if (result.status === "error") {
89
- onReloadableError(result.error);
90
- return;
91
- }
92
- try {
93
- await indexingCache.flush();
94
- }
95
- catch (error) {
96
- if (error instanceof FlushError) {
97
- onReloadableError(error);
72
+ await database.retry(async () => {
73
+ await database.transaction(async (client, tx) => {
74
+ const historicalIndexingStore = createHistoricalIndexingStore({
75
+ common,
76
+ schemaBuild,
77
+ indexingCache,
78
+ db: tx,
79
+ client,
80
+ });
81
+ const result = await indexing.processSetupEvents({
82
+ db: historicalIndexingStore,
83
+ });
84
+ if (result.status === "error") {
85
+ onReloadableError(result.error);
98
86
  return;
99
87
  }
100
- throw error;
101
- }
88
+ try {
89
+ await indexingCache.flush({ client });
90
+ }
91
+ catch (error) {
92
+ if (error instanceof FlushError) {
93
+ onReloadableError(error);
94
+ return;
95
+ }
96
+ throw error;
97
+ }
98
+ });
102
99
  });
103
100
  }
104
101
  // Note: `_ponder_checkpoint` must be updated after the setup events are processed.
105
- await database
106
- .adminQB("update_checkpoints")
107
- .insert(PONDER_CHECKPOINT)
108
- .values(indexingBuild.chains.map((chain) => ({
109
- chainName: chain.name,
110
- chainId: chain.id,
111
- latestCheckpoint: sync.getStartCheckpoint(chain),
112
- safeCheckpoint: sync.getStartCheckpoint(chain),
113
- })))
114
- .onConflictDoUpdate({
115
- target: PONDER_CHECKPOINT.chainName,
116
- set: {
117
- safeCheckpoint: sql `excluded.safe_checkpoint`,
118
- latestCheckpoint: sql `excluded.latest_checkpoint`,
119
- },
102
+ await database.setCheckpoints({
103
+ checkpoints: indexingBuild.chains.map((chain) => ({
104
+ chainName: chain.name,
105
+ chainId: chain.id,
106
+ latestCheckpoint: sync.getStartCheckpoint(chain),
107
+ safeCheckpoint: sync.getStartCheckpoint(chain),
108
+ })),
109
+ db: database.qb.drizzle,
120
110
  });
121
111
  // Run historical indexing until complete.
122
112
  for await (const events of recordAsyncGenerator(sync.getEvents(), (params) => {
@@ -124,108 +114,109 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
124
114
  common.metrics.ponder_historical_concurrency_group_duration.inc({ group: "transform" }, params.yield);
125
115
  })) {
126
116
  let endClock = startClock();
127
- indexingCache.qb = database.userQB;
128
117
  await Promise.all([
129
- indexingCache.prefetch({ events: events.events }),
130
- cachedViemClient.prefetch({ events: events.events }),
118
+ indexingCache.prefetch({
119
+ events: events.events,
120
+ db: database.qb.drizzle,
121
+ }),
122
+ cachedViemClient.prefetch({
123
+ events: events.events,
124
+ }),
131
125
  ]);
132
126
  common.metrics.ponder_historical_transform_duration.inc({ step: "prefetch" }, endClock());
133
127
  if (events.events.length > 0) {
134
128
  endClock = startClock();
135
- await database
136
- .userQB()
137
- .transaction(async (tx) => {
138
- historicalIndexingStore.qb = tx;
139
- indexingCache.qb = tx;
140
- common.metrics.ponder_historical_transform_duration.inc({ step: "begin" }, endClock());
141
- endClock = startClock();
142
- const eventChunks = chunk(events.events, 93);
143
- for (const eventChunk of eventChunks) {
144
- const result = await indexing.processEvents({
145
- events: eventChunk,
146
- db: historicalIndexingStore,
147
- cache: indexingCache,
129
+ await database.retry(async () => {
130
+ await database
131
+ .transaction(async (client, tx) => {
132
+ common.metrics.ponder_historical_transform_duration.inc({ step: "begin" }, endClock());
133
+ endClock = startClock();
134
+ const historicalIndexingStore = createHistoricalIndexingStore({
135
+ common,
136
+ schemaBuild,
137
+ indexingCache,
138
+ db: tx,
139
+ client,
148
140
  });
149
- if (result.status === "error") {
150
- onReloadableError(result.error);
151
- return;
141
+ const eventChunks = chunk(events.events, 93);
142
+ for (const eventChunk of eventChunks) {
143
+ const result = await indexing.processEvents({
144
+ events: eventChunk,
145
+ db: historicalIndexingStore,
146
+ cache: indexingCache,
147
+ });
148
+ if (result.status === "error") {
149
+ onReloadableError(result.error);
150
+ return;
151
+ }
152
+ const checkpoint = decodeCheckpoint(eventChunk[eventChunk.length - 1].checkpoint);
153
+ if (preBuild.ordering === "multichain") {
154
+ const chain = indexingBuild.chains.find((chain) => chain.id === Number(checkpoint.chainId));
155
+ common.metrics.ponder_historical_completed_indexing_seconds.set({ chain: chain.name }, Math.max(Number(checkpoint.blockTimestamp) -
156
+ Math.max(sync.seconds[chain.name].cached, sync.seconds[chain.name].start), 0));
157
+ common.metrics.ponder_indexing_timestamp.set({ chain: chain.name }, Number(checkpoint.blockTimestamp));
158
+ }
159
+ else {
160
+ for (const chain of indexingBuild.chains) {
161
+ common.metrics.ponder_historical_completed_indexing_seconds.set({ chain: chain.name }, Math.min(Math.max(Number(checkpoint.blockTimestamp) -
162
+ Math.max(sync.seconds[chain.name].cached, sync.seconds[chain.name].start), 0), Math.max(sync.seconds[chain.name].end -
163
+ sync.seconds[chain.name].start, 0)));
164
+ common.metrics.ponder_indexing_timestamp.set({ chain: chain.name }, Math.max(Number(checkpoint.blockTimestamp), sync.seconds[chain.name].end));
165
+ }
166
+ }
167
+ // Note: allows for terminal and logs to be updated
168
+ if (preBuild.databaseConfig.kind === "pglite") {
169
+ await new Promise(setImmediate);
170
+ }
152
171
  }
153
- const checkpoint = decodeCheckpoint(eventChunk[eventChunk.length - 1].checkpoint);
154
- if (preBuild.ordering === "multichain") {
155
- const chain = indexingBuild.chains.find((chain) => chain.id === Number(checkpoint.chainId));
156
- common.metrics.ponder_historical_completed_indexing_seconds.set({ chain: chain.name }, Math.max(Number(checkpoint.blockTimestamp) -
157
- Math.max(sync.seconds[chain.name].cached, sync.seconds[chain.name].start), 0));
158
- common.metrics.ponder_indexing_timestamp.set({ chain: chain.name }, Number(checkpoint.blockTimestamp));
172
+ await new Promise(setImmediate);
173
+ // underlying metrics collection is actually synchronous
174
+ // https://github.com/siimon/prom-client/blob/master/lib/histogram.js#L102-L125
175
+ const { eta, progress } = await getAppProgress(common.metrics);
176
+ if (eta === undefined || progress === undefined) {
177
+ common.logger.info({
178
+ service: "app",
179
+ msg: `Indexed ${events.events.length} events`,
180
+ });
159
181
  }
160
182
  else {
161
- for (const chain of indexingBuild.chains) {
162
- common.metrics.ponder_historical_completed_indexing_seconds.set({ chain: chain.name }, Math.min(Math.max(Number(checkpoint.blockTimestamp) -
163
- Math.max(sync.seconds[chain.name].cached, sync.seconds[chain.name].start), 0), Math.max(sync.seconds[chain.name].end -
164
- sync.seconds[chain.name].start, 0)));
165
- common.metrics.ponder_indexing_timestamp.set({ chain: chain.name }, Math.max(Number(checkpoint.blockTimestamp), sync.seconds[chain.name].end));
166
- }
183
+ common.logger.info({
184
+ service: "app",
185
+ msg: `Indexed ${events.events.length} events with ${formatPercentage(progress)} complete and ${formatEta(eta * 1000)} remaining`,
186
+ });
167
187
  }
168
- // Note: allows for terminal and logs to be updated
169
- if (preBuild.databaseConfig.kind === "pglite") {
170
- await new Promise(setImmediate);
188
+ common.metrics.ponder_historical_transform_duration.inc({ step: "index" }, endClock());
189
+ endClock = startClock();
190
+ // Note: at this point, the next events can be preloaded, as long as the are not indexed until
191
+ // the "flush" + "finalize" is complete.
192
+ try {
193
+ await indexingCache.flush({ client });
171
194
  }
172
- }
173
- await new Promise(setImmediate);
174
- // underlying metrics collection is actually synchronous
175
- // https://github.com/siimon/prom-client/blob/master/lib/histogram.js#L102-L125
176
- const { eta, progress } = await getAppProgress(common.metrics);
177
- if (eta === undefined || progress === undefined) {
178
- common.logger.info({
179
- service: "app",
180
- msg: `Indexed ${events.events.length} events`,
181
- });
182
- }
183
- else {
184
- common.logger.info({
185
- service: "app",
186
- msg: `Indexed ${events.events.length} events with ${formatPercentage(progress)} complete and ${formatEta(eta * 1000)} remaining`,
187
- });
188
- }
189
- common.metrics.ponder_historical_transform_duration.inc({ step: "index" }, endClock());
190
- endClock = startClock();
191
- // Note: at this point, the next events can be preloaded, as long as the are not indexed until
192
- // the "flush" + "finalize" is complete.
193
- try {
194
- await indexingCache.flush();
195
- }
196
- catch (error) {
197
- if (error instanceof FlushError) {
198
- onReloadableError(error);
199
- return;
195
+ catch (error) {
196
+ if (error instanceof FlushError) {
197
+ onReloadableError(error);
198
+ return;
199
+ }
200
+ throw error;
200
201
  }
201
- throw error;
202
- }
203
- common.metrics.ponder_historical_transform_duration.inc({ step: "load" }, endClock());
204
- endClock = startClock();
205
- if (events.checkpoints.length > 0) {
206
- await database
207
- .adminQB("update_checkpoints")
208
- .insert(PONDER_CHECKPOINT)
209
- .values(events.checkpoints.map(({ chainId, checkpoint }) => ({
210
- chainName: indexingBuild.chains.find((chain) => chain.id === chainId).name,
211
- chainId,
212
- latestCheckpoint: checkpoint,
213
- safeCheckpoint: checkpoint,
214
- })))
215
- .onConflictDoUpdate({
216
- target: PONDER_CHECKPOINT.chainName,
217
- set: {
218
- safeCheckpoint: sql `excluded.safe_checkpoint`,
219
- latestCheckpoint: sql `excluded.latest_checkpoint`,
220
- },
202
+ common.metrics.ponder_historical_transform_duration.inc({ step: "load" }, endClock());
203
+ endClock = startClock();
204
+ await database.setCheckpoints({
205
+ checkpoints: events.checkpoints.map(({ chainId, checkpoint }) => ({
206
+ chainName: indexingBuild.chains.find((chain) => chain.id === chainId).name,
207
+ chainId,
208
+ latestCheckpoint: checkpoint,
209
+ safeCheckpoint: checkpoint,
210
+ })),
211
+ db: tx,
221
212
  });
222
- }
223
- common.metrics.ponder_historical_transform_duration.inc({ step: "finalize" }, endClock());
224
- endClock = startClock();
225
- })
226
- .catch((error) => {
227
- indexingCache.rollback();
228
- throw error;
213
+ common.metrics.ponder_historical_transform_duration.inc({ step: "finalize" }, endClock());
214
+ endClock = startClock();
215
+ })
216
+ .catch((error) => {
217
+ indexingCache.rollback();
218
+ throw error;
219
+ });
229
220
  });
230
221
  cachedViemClient.clear();
231
222
  common.metrics.ponder_historical_transform_duration.inc({ step: "commit" }, endClock());
@@ -248,26 +239,27 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
248
239
  service: "indexing",
249
240
  msg: "Completed historical indexing",
250
241
  });
251
- await createIndexes(database.adminQB, { statements: schemaBuild.statements });
252
- await Promise.all(tables.map((table) => createTrigger(database.adminQB, { table })));
242
+ await database.createIndexes();
243
+ await database.createTriggers();
253
244
  if (namespaceBuild.viewsSchema) {
254
- await database.adminQB("create_views").transaction(async (tx) => {
255
- await tx().execute(sql.raw(`CREATE SCHEMA IF NOT EXISTS "${namespaceBuild.viewsSchema}"`));
245
+ await database.wrap({ method: "create-views" }, async () => {
246
+ await database.qb.drizzle.execute(sql.raw(`CREATE SCHEMA IF NOT EXISTS "${namespaceBuild.viewsSchema}"`));
247
+ const tables = Object.values(schemaBuild.schema).filter((table) => is(table, PgTable));
256
248
  for (const table of tables) {
257
249
  // Note: drop views before creating new ones to avoid enum errors.
258
- await tx().execute(sql.raw(`DROP VIEW IF EXISTS "${namespaceBuild.viewsSchema}"."${getTableName(table)}"`));
259
- await tx().execute(sql.raw(`CREATE VIEW "${namespaceBuild.viewsSchema}"."${getTableName(table)}" AS SELECT * FROM "${namespaceBuild.schema}"."${getTableName(table)}"`));
250
+ await database.qb.drizzle.execute(sql.raw(`DROP VIEW IF EXISTS "${namespaceBuild.viewsSchema}"."${getTableName(table)}"`));
251
+ await database.qb.drizzle.execute(sql.raw(`CREATE VIEW "${namespaceBuild.viewsSchema}"."${getTableName(table)}" AS SELECT * FROM "${namespaceBuild.schema}"."${getTableName(table)}"`));
260
252
  }
261
253
  common.logger.info({
262
254
  service: "app",
263
255
  msg: `Created ${tables.length} views in schema "${namespaceBuild.viewsSchema}"`,
264
256
  });
265
- await tx().execute(sql.raw(`CREATE OR REPLACE VIEW "${namespaceBuild.viewsSchema}"."_ponder_meta" AS SELECT * FROM "${namespaceBuild.schema}"."_ponder_meta"`));
266
- await tx().execute(sql.raw(`CREATE OR REPLACE VIEW "${namespaceBuild.viewsSchema}"."_ponder_checkpoint" AS SELECT * FROM "${namespaceBuild.schema}"."_ponder_checkpoint"`));
257
+ await database.qb.drizzle.execute(sql.raw(`CREATE OR REPLACE VIEW "${namespaceBuild.viewsSchema}"."_ponder_meta" AS SELECT * FROM "${namespaceBuild.schema}"."_ponder_meta"`));
258
+ await database.qb.drizzle.execute(sql.raw(`CREATE OR REPLACE VIEW "${namespaceBuild.viewsSchema}"."_ponder_checkpoint" AS SELECT * FROM "${namespaceBuild.schema}"."_ponder_checkpoint"`));
267
259
  const trigger = `status_${namespaceBuild.viewsSchema}_trigger`;
268
260
  const notification = "status_notify()";
269
261
  const channel = `${namespaceBuild.viewsSchema}_status_channel`;
270
- await tx().execute(sql.raw(`
262
+ await database.qb.drizzle.execute(sql.raw(`
271
263
  CREATE OR REPLACE FUNCTION "${namespaceBuild.viewsSchema}".${notification}
272
264
  RETURNS TRIGGER
273
265
  LANGUAGE plpgsql
@@ -277,7 +269,7 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
277
269
  RETURN NULL;
278
270
  END;
279
271
  $$;`));
280
- await tx().execute(sql.raw(`
272
+ await database.qb.drizzle.execute(sql.raw(`
281
273
  CREATE OR REPLACE TRIGGER "${trigger}"
282
274
  AFTER INSERT OR UPDATE OR DELETE
283
275
  ON "${namespaceBuild.schema}"._ponder_checkpoint
@@ -285,15 +277,12 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
285
277
  EXECUTE PROCEDURE "${namespaceBuild.viewsSchema}".${notification};`));
286
278
  });
287
279
  }
288
- await database
289
- .adminQB("set_ready")
290
- .update(PONDER_META)
291
- .set({ value: sql `jsonb_set(value, '{is_ready}', to_jsonb(1))` });
280
+ await database.setReady();
292
281
  const realtimeIndexingStore = createRealtimeIndexingStore({
293
282
  common,
294
283
  schemaBuild,
284
+ database,
295
285
  });
296
- realtimeIndexingStore.qb = database.userQB;
297
286
  const onRealtimeEvent = mutex(async (event) => {
298
287
  switch (event.type) {
299
288
  case "block": {
@@ -317,7 +306,7 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
317
306
  });
318
307
  if (result.status === "error")
319
308
  onReloadableError(result.error);
320
- await Promise.all(tables.map((table) => commitBlock(database.userQB, { table, checkpoint })));
309
+ await database.commitBlock({ checkpoint, db: database.qb.drizzle });
321
310
  if (preBuild.ordering === "multichain") {
322
311
  common.metrics.ponder_indexing_timestamp.set({ chain: chain.name }, Number(decodeCheckpoint(checkpoint).blockTimestamp));
323
312
  }
@@ -328,10 +317,11 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
328
317
  }
329
318
  }
330
319
  }
331
- if (event.checkpoints.length > 0) {
332
- await database
333
- .adminQB("update_checkpoints")
334
- .insert(PONDER_CHECKPOINT)
320
+ await database.wrap({ method: "setCheckpoints" }, async () => {
321
+ if (event.checkpoints.length === 0)
322
+ return;
323
+ await database.qb.drizzle
324
+ .insert(database.PONDER_CHECKPOINT)
335
325
  .values(event.checkpoints.map(({ chainId, checkpoint }) => ({
336
326
  chainName: indexingBuild.chains.find((chain) => chain.id === chainId).name,
337
327
  chainId,
@@ -339,43 +329,32 @@ export async function run({ common, preBuild, namespaceBuild, schemaBuild, index
339
329
  latestCheckpoint: checkpoint,
340
330
  })))
341
331
  .onConflictDoUpdate({
342
- target: PONDER_CHECKPOINT.chainName,
343
- set: { latestCheckpoint: sql `excluded.latest_checkpoint` },
332
+ target: database.PONDER_CHECKPOINT.chainName,
333
+ set: {
334
+ latestCheckpoint: sql `excluded.latest_checkpoint`,
335
+ },
344
336
  });
345
- }
337
+ });
346
338
  break;
347
339
  }
348
340
  case "reorg":
349
341
  // Note: `_ponder_checkpoint` is not called here, instead it is called
350
342
  // in the `block` case.
351
- await database.userQB().transaction(async (tx) => {
352
- for (const table of tables) {
353
- await dropTrigger(tx, { table });
354
- const count = await revert(tx, {
355
- table,
356
- checkpoint: event.checkpoint,
357
- });
358
- common.logger.info({
359
- service: "database",
360
- msg: `Reverted ${count} unfinalized operations from '${getTableName(table)}'`,
361
- });
362
- await createTrigger(tx, { table });
363
- }
343
+ await database.removeTriggers();
344
+ await database.retry(async () => {
345
+ await database.qb.drizzle.transaction(async (tx) => {
346
+ await database.revert({ checkpoint: event.checkpoint, tx });
347
+ });
364
348
  });
349
+ await database.createTriggers();
365
350
  break;
366
351
  case "finalize":
367
- await database.userQB().transaction(async (tx) => {
368
- await tx("update_checkpoints").update(PONDER_CHECKPOINT).set({
369
- safeCheckpoint: event.checkpoint,
370
- });
371
- for (const table of tables) {
372
- await finalize(tx, { table, checkpoint: event.checkpoint });
373
- const decoded = decodeCheckpoint(event.checkpoint);
374
- common.logger.debug({
375
- service: "database",
376
- msg: `Updated finalized checkpoint to (timestamp=${decoded.blockTimestamp} chainId=${decoded.chainId} block=${decoded.blockNumber})`,
377
- });
378
- }
352
+ await database.qb.drizzle.update(database.PONDER_CHECKPOINT).set({
353
+ safeCheckpoint: event.checkpoint,
354
+ });
355
+ await database.finalize({
356
+ checkpoint: event.checkpoint,
357
+ db: database.qb.drizzle,
379
358
  });
380
359
  break;
381
360
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/bin/utils/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/bin/utils/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAsB,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAoB,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAWlB;IACC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,MAAM;QACN,aAAa;QACb,SAAS;QACT,eAAe,EAAE,CAAC,aAAa,EAAE,EAAE;YACjC,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QACD,YAAY;QACZ,uBAAuB;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAoC,EAAE,CAAC;IACvD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;QACpE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC3B;IAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;QAC9C,MAAM;QACN,aAAa;QACb,SAAS;QACT,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,MAAM;QACN,aAAa;QACb,MAAM,EAAE,gBAAgB;QACxB,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,MAAM;QACN,WAAW;QACX,uBAAuB;QACvB,UAAU;KACX,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;QACxC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,GAAG,CACzD,KAAK,EACL,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,EAC/D,CAAC,CACF,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,GAAG,CAC1D,KAAK,EACL,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,EAClE,CAAC,CACF,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,KAAK,EACL,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,CAChC,CACF,CAAC;KACH;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7E,gEAAgE;IAChE,oBAAoB;IACpB,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE5C,kEAAkE;IAClE,IAAI,uBAAuB,KAAK,SAAS,EAAE;QACzC,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC9C,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;oBAC5D,MAAM;oBACN,WAAW;oBACX,aAAa;oBACb,EAAE,EAAE,EAAE;oBACN,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC;oBAC/C,EAAE,EAAE,uBAAuB;iBAC5B,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;oBAC7B,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO;iBACR;gBAED,IAAI;oBACF,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;iBACvC;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI,KAAK,YAAY,UAAU,EAAE;wBAC/B,iBAAiB,CAAC,KAAc,CAAC,CAAC;wBAClC,OAAO;qBACR;oBACD,MAAM,KAAK,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,mFAAmF;IACnF,MAAM,QAAQ,CAAC,cAAc,CAAC;QAC5B,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAChD,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAC;QACH,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,oBAAoB,CAC7C,IAAI,CAAC,SAAS,EAAE,EAChB,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAC7D,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,MAAM,CAAC,KAAK,CACb,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAC7D,EAAE,KAAK,EAAE,WAAW,EAAE,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,CAAC,CACF,EAAE;QACD,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QAE5B,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,aAAa,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO;aACxB,CAAC;YACF,gBAAgB,CAAC,QAAQ,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,QAAQ,EAAE,CACX,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,QAAQ,GAAG,UAAU,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,QAAQ;qBACX,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;oBAChC,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,CACX,CAAC;oBAEF,QAAQ,GAAG,UAAU,EAAE,CAAC;oBACxB,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;wBAC5D,MAAM;wBACN,WAAW;wBACX,aAAa;wBACb,EAAE,EAAE,EAAE;wBACN,MAAM;qBACP,CAAC,CAAC;oBAEH,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC7C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;wBACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;4BAC1C,MAAM,EAAE,UAAU;4BAClB,EAAE,EAAE,uBAAuB;4BAC3B,KAAK,EAAE,aAAa;yBACrB,CAAC,CAAC;wBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;4BAC7B,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAChC,OAAO;yBACR;wBAED,MAAM,UAAU,GAAG,gBAAgB,CACjC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,UAAU,CAC9C,CAAC;wBAEF,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE;4BACtC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAClD,CAAC;4BACH,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAC7D,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;gCAC/B,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,CAChC,EACH,CAAC,CACF,CACF,CAAC;4BACF,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAClC,CAAC;yBACH;6BAAM;4BACL,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;gCACxC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAC7D,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;oCAC/B,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,CAChC,EACH,CAAC,CACF,EACD,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,GAAG;oCAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,EACjC,CAAC,CACF,CACF,CACF,CAAC;gCACF,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,GAAG,CAC9B,CACF,CAAC;6BACH;yBACF;wBAED,mDAAmD;wBACnD,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;4BAC7C,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;yBACjC;qBACF;oBACD,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;oBAEhC,wDAAwD;oBACxD,+EAA+E;oBAC/E,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC/D,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BACjB,OAAO,EAAE,KAAK;4BACd,GAAG,EAAE,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS;yBAC9C,CAAC,CAAC;qBACJ;yBAAM;wBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BACjB,OAAO,EAAE,KAAK;4BACd,GAAG,EAAE,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,SAAS,CAAC,GAAG,GAAG,IAAK,CAAC,YAAY;yBAClI,CAAC,CAAC;qBACJ;oBAED,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,CACX,CAAC;oBAEF,QAAQ,GAAG,UAAU,EAAE,CAAC;oBACxB,8FAA8F;oBAC9F,wCAAwC;oBAExC,IAAI;wBACF,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;qBACvC;oBAAC,OAAO,KAAK,EAAE;wBACd,IAAI,KAAK,YAAY,UAAU,EAAE;4BAC/B,iBAAiB,CAAC,KAAc,CAAC,CAAC;4BAClC,OAAO;yBACR;wBACD,MAAM,KAAK,CAAC;qBACb;oBAED,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,CACX,CAAC;oBACF,QAAQ,GAAG,UAAU,EAAE,CAAC;oBAExB,MAAM,QAAQ,CAAC,cAAc,CAAC;wBAC5B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CACjC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;4BAC5B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAC/B,CAAC,IAAI;4BACP,OAAO;4BACP,gBAAgB,EAAE,UAAU;4BAC5B,cAAc,EAAE,UAAU;yBAC3B,CAAC,CACH;wBACD,EAAE,EAAE,EAAE;qBACP,CAAC,CAAC;oBAEH,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,QAAQ,EAAE,CACX,CAAC;oBACF,QAAQ,GAAG,UAAU,EAAE,CAAC;gBAC1B,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,CACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,QAAQ,EAAE,CACX,CAAC;YAEF,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;SACjC;KACF;IAED,aAAa,CAAC,KAAK,EAAE,CAAC;IAEtB,mEAAmE;IACnE,mEAAmE;IACnE,cAAc;IAEd,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;QACxC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,GAAG,CAC7D,KAAK,EACL,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,GAAG;YAC3B,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,CAChC,EACH,CAAC,CACF,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,GAAG,CAC9B,CAAC;KACH;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEzE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,UAAU;QACnB,GAAG,EAAE,+BAA+B;KACrC,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEhC,IAAI,cAAc,CAAC,WAAW,EAAE;QAC9B,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CAAC,gCAAgC,cAAc,CAAC,WAAW,GAAG,CAAC,CACvE,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CACrD,CAAC,KAAK,EAA4C,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CACxE,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,kEAAkE;gBAClE,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CACL,wBAAwB,cAAc,CAAC,WAAW,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAC/E,CACF,CAAC;gBAEF,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CACL,gBAAgB,cAAc,CAAC,WAAW,MAAM,YAAY,CAAC,KAAK,CAAC,uBAAuB,cAAc,CAAC,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAC5I,CACF,CAAC;aACH;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,WAAW,MAAM,CAAC,MAAM,qBAAqB,cAAc,CAAC,WAAW,GAAG;aAChF,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CACL,2BAA2B,cAAc,CAAC,WAAW,sCAAsC,cAAc,CAAC,MAAM,kBAAkB,CACnI,CACF,CAAC;YAEF,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CACL,2BAA2B,cAAc,CAAC,WAAW,4CAA4C,cAAc,CAAC,MAAM,wBAAwB,CAC/I,CACF,CAAC;YAEF,MAAM,OAAO,GAAG,UAAU,cAAc,CAAC,WAAW,UAAU,CAAC;YAC/D,MAAM,YAAY,GAAG,iBAAiB,CAAC;YACvC,MAAM,OAAO,GAAG,GAAG,cAAc,CAAC,WAAW,iBAAiB,CAAC;YAE/D,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CAAC;gCACgB,cAAc,CAAC,WAAW,KAAK,YAAY;;;;;YAK/D,OAAO;;;MAGb,CAAC,CACA,CAAC;YAEF,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAC/B,GAAG,CAAC,GAAG,CAAC;+BACe,OAAO;;QAE9B,cAAc,CAAC,MAAM;;uBAEN,cAAc,CAAC,WAAW,KAAK,YAAY,GAAG,CAAC,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAE1B,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;QACxD,MAAM;QACN,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,EAAE,KAAoB,EAAE,EAAE;QAC3D,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,mFAAmF;oBACnF,8DAA8D;oBAE9D,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAEjD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;wBAClB,OAAO,EAAE,KAAK;wBACd,GAAG,EAAE,2BAA2B,cAAc,CAAC,MAAM,SAAS;qBAC/D,CAAC,CAAC;oBAEH,KAAK,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,cAAc,EAAE;wBACnD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAC3D,CAAC;wBAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;4BAC1C,MAAM;4BACN,EAAE,EAAE,qBAAqB;yBAC1B,CAAC,CAAC;wBAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BACjB,OAAO,EAAE,KAAK;4BACd,GAAG,EAAE,WAAW,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,sBAAsB,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE;yBACrH,CAAC,CAAC;wBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;4BAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAE/D,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;wBAEpE,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE;4BACtC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CACpD,CAAC;yBACH;6BAAM;4BACL,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;gCACxC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAC1C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EACrB,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CACpD,CAAC;6BACH;yBACF;qBACF;iBACF;gBAED,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC3D,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO;oBAE3C,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO;yBACtB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;yBAClC,MAAM,CACL,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAC/B,CAAC,IAAI;wBACP,OAAO;wBACP,cAAc,EAAE,UAAU;wBAC1B,gBAAgB,EAAE,UAAU;qBAC7B,CAAC,CAAC,CACJ;yBACA,kBAAkB,CAAC;wBAClB,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS;wBAC5C,GAAG,EAAE;4BACH,gBAAgB,EAAE,GAAG,CAAA,4BAA4B;yBAClD;qBACF,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBAEH,MAAM;aACP;YACD,KAAK,OAAO;gBACV,sEAAsE;gBACtE,uBAAuB;gBAEvB,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;oBAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;wBACjD,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAEhC,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC;oBAC/D,cAAc,EAAE,KAAK,CAAC,UAAU;iBACjC,CAAC,CAAC;gBAEH,MAAM,QAAQ,CAAC,QAAQ,CAAC;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,MAAM;YAER;gBACE,KAAK,CAAC,KAAK,CAAC,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAE3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,sDAAsD;KAC5D,CAAC,CAAC;AACL,CAAC"}
@@ -2,8 +2,6 @@ import { createHash } from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { BuildError } from '../internal/errors.js';
5
- import { createPool } from '../utils/pg.js';
6
- import { createPglite } from '../utils/pglite.js';
7
5
  import { getNextAvailablePort } from '../utils/port.js';
8
6
  import { serialize } from '../utils/serialize.js';
9
7
  import { glob } from "glob";
@@ -239,7 +237,7 @@ export const createBuild = async ({ common, cliOptions, }) => {
239
237
  result: { schema, viewsSchema },
240
238
  };
241
239
  },
242
- async preCompile({ config }) {
240
+ preCompile({ config }) {
243
241
  const preBuild = safeBuildPre({
244
242
  config,
245
243
  options: common.options,
@@ -252,51 +250,6 @@ export const createBuild = async ({ common, cliOptions, }) => {
252
250
  });
253
251
  return preBuild;
254
252
  }
255
- // diagnostic query
256
- const dialect = preBuild.databaseConfig.kind;
257
- if (dialect === "pglite") {
258
- const driver = createPglite(preBuild.databaseConfig.options);
259
- try {
260
- await driver.query("SELECT version()");
261
- }
262
- catch (e) {
263
- const error = new BuildError(`Failed to connect to PGlite database. Please check your database connection settings.\n\n${e.message}`);
264
- error.stack = undefined;
265
- common.logger.error({
266
- service: "build",
267
- msg: "Failed build",
268
- error,
269
- });
270
- return { status: "error", error };
271
- }
272
- finally {
273
- await driver.close();
274
- }
275
- }
276
- else if (dialect === "postgres") {
277
- const pool = createPool({
278
- ...preBuild.databaseConfig.poolConfig,
279
- application_name: "test",
280
- max: 1,
281
- statement_timeout: 10000,
282
- }, common.logger);
283
- try {
284
- await pool.query("SELECT version()");
285
- }
286
- catch (e) {
287
- const error = new BuildError(`Failed to connect to database. Please check your database connection settings.\n\n${e.message}`);
288
- error.stack = undefined;
289
- common.logger.error({
290
- service: "build",
291
- msg: "Failed build",
292
- error,
293
- });
294
- return { status: "error", error };
295
- }
296
- finally {
297
- await pool.end();
298
- }
299
- }
300
253
  for (const log of preBuild.logs) {
301
254
  common.logger[log.level]({ service: "build", msg: log.msg });
302
255
  }