@secondlayer/subgraphs 3.14.4 → 3.15.1

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.
@@ -281,6 +281,8 @@ class SubgraphContext {
281
281
  return this.overlayMany(table, where, dbRows);
282
282
  }
283
283
  overlayOne(table, where, dbRow) {
284
+ if (this.ops.length === 0)
285
+ return dbRow;
284
286
  let row = dbRow;
285
287
  for (const op of this.ops) {
286
288
  if (op.table !== table)
@@ -290,12 +292,17 @@ class SubgraphContext {
290
292
  return row;
291
293
  }
292
294
  overlayMany(table, where, dbRows) {
295
+ if (this.ops.length === 0)
296
+ return [...dbRows];
293
297
  let result = [...dbRows];
294
298
  for (const op of this.ops) {
295
299
  if (op.table !== table)
296
300
  continue;
297
301
  if (op.kind === "update") {
298
- result = result.map((r) => rowMatches(r, op.data) ? { ...r, ...op.set ?? {} } : r);
302
+ for (let i = 0;i < result.length; i++) {
303
+ if (rowMatches(result[i], op.data))
304
+ result[i] = { ...result[i], ...op.set ?? {} };
305
+ }
299
306
  } else if (op.kind === "delete") {
300
307
  result = result.filter((r) => !rowMatches(r, op.data));
301
308
  } else {
@@ -303,7 +310,8 @@ class SubgraphContext {
303
310
  const clean = stripControlKeys(op.data);
304
311
  const idx = upsertKeys ? result.findIndex((r) => upsertKeys.every((k) => valEq(r[k], clean[k]))) : -1;
305
312
  if (idx >= 0) {
306
- result[idx] = this.applyOpToRow(op, result[idx], where) ?? result[idx];
313
+ const existing = result[idx];
314
+ result[idx] = this.applyOpToRow(op, existing, where) ?? existing;
307
315
  } else {
308
316
  const created = this.applyOpToRow(op, null, where);
309
317
  if (created)
@@ -2279,7 +2287,8 @@ async function handleSubgraphReorg(blockHeight, loadSubgraphDef) {
2279
2287
  }).as("row_pk"),
2280
2288
  eb2.val("pending").as("status")
2281
2289
  ]).where("subgraph_name", "=", sg.name).where("table_name", "=", tableName).where("status", "=", "active")).onConflict((oc) => oc.column("dedup_key").doNothing()).execute().catch((err) => {
2282
- logger6.warn("Failed to emit revert event for subscriptions", {
2290
+ logger6.error("Failed to emit revert event for subscriptions", {
2291
+ event: "reorg_revert_emit_dropped",
2283
2292
  subgraph: sg.name,
2284
2293
  table: tableName,
2285
2294
  blockHeight,
@@ -2311,5 +2320,5 @@ export {
2311
2320
  handleSubgraphReorg
2312
2321
  };
2313
2322
 
2314
- //# debugId=45935ED011CCCBF164756E2164756E21
2323
+ //# debugId=19DCB483E22CE3F264756E2164756E21
2315
2324
  //# sourceMappingURL=reorg.js.map