@apibara/plugin-drizzle 2.1.0-beta.25 → 2.1.0-beta.27
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/dist/index.cjs +8 -7
- package/dist/index.mjs +8 -7
- package/package.json +3 -3
- package/src/storage.ts +8 -7
package/dist/index.cjs
CHANGED
|
@@ -360,21 +360,22 @@ async function initializeReorgRollbackTable(tx, indexerId) {
|
|
|
360
360
|
CREATE OR REPLACE FUNCTION ${constants.SCHEMA_NAME}.reorg_checkpoint()
|
|
361
361
|
RETURNS TRIGGER AS $$
|
|
362
362
|
DECLARE
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
363
|
+
table_name TEXT := TG_ARGV[0]::TEXT;
|
|
364
|
+
id_col TEXT := TG_ARGV[1]::TEXT;
|
|
365
|
+
order_key INTEGER := TG_ARGV[2]::INTEGER;
|
|
366
|
+
indexer_id TEXT := TG_ARGV[3]::TEXT;
|
|
366
367
|
new_id_value TEXT := row_to_json(NEW.*)->>id_col;
|
|
367
368
|
old_id_value TEXT := row_to_json(OLD.*)->>id_col;
|
|
368
369
|
BEGIN
|
|
369
370
|
IF (TG_OP = 'DELETE') THEN
|
|
370
371
|
INSERT INTO ${constants.SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
371
|
-
SELECT 'D',
|
|
372
|
+
SELECT 'D', table_name, order_key, old_id_value, row_to_json(OLD.*), indexer_id;
|
|
372
373
|
ELSIF (TG_OP = 'UPDATE') THEN
|
|
373
374
|
INSERT INTO ${constants.SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
374
|
-
SELECT 'U',
|
|
375
|
+
SELECT 'U', table_name, order_key, new_id_value, row_to_json(OLD.*), indexer_id;
|
|
375
376
|
ELSIF (TG_OP = 'INSERT') THEN
|
|
376
377
|
INSERT INTO ${constants.SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
377
|
-
SELECT 'I',
|
|
378
|
+
SELECT 'I', table_name, order_key, new_id_value, null, indexer_id;
|
|
378
379
|
END IF;
|
|
379
380
|
RETURN NULL;
|
|
380
381
|
END;
|
|
@@ -404,7 +405,7 @@ async function registerTriggers(tx, tables, endCursor, idColumnMap, indexerId) {
|
|
|
404
405
|
CREATE CONSTRAINT TRIGGER ${getReorgTriggerName(table, indexerId)}
|
|
405
406
|
AFTER INSERT OR UPDATE OR DELETE ON ${table}
|
|
406
407
|
DEFERRABLE INITIALLY DEFERRED
|
|
407
|
-
FOR EACH ROW EXECUTE FUNCTION ${constants.SCHEMA_NAME}.reorg_checkpoint('${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
408
|
+
FOR EACH ROW EXECUTE FUNCTION ${constants.SCHEMA_NAME}.reorg_checkpoint('${table}', '${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
408
409
|
`)
|
|
409
410
|
);
|
|
410
411
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -358,21 +358,22 @@ async function initializeReorgRollbackTable(tx, indexerId) {
|
|
|
358
358
|
CREATE OR REPLACE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint()
|
|
359
359
|
RETURNS TRIGGER AS $$
|
|
360
360
|
DECLARE
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
361
|
+
table_name TEXT := TG_ARGV[0]::TEXT;
|
|
362
|
+
id_col TEXT := TG_ARGV[1]::TEXT;
|
|
363
|
+
order_key INTEGER := TG_ARGV[2]::INTEGER;
|
|
364
|
+
indexer_id TEXT := TG_ARGV[3]::TEXT;
|
|
364
365
|
new_id_value TEXT := row_to_json(NEW.*)->>id_col;
|
|
365
366
|
old_id_value TEXT := row_to_json(OLD.*)->>id_col;
|
|
366
367
|
BEGIN
|
|
367
368
|
IF (TG_OP = 'DELETE') THEN
|
|
368
369
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
369
|
-
SELECT 'D',
|
|
370
|
+
SELECT 'D', table_name, order_key, old_id_value, row_to_json(OLD.*), indexer_id;
|
|
370
371
|
ELSIF (TG_OP = 'UPDATE') THEN
|
|
371
372
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
372
|
-
SELECT 'U',
|
|
373
|
+
SELECT 'U', table_name, order_key, new_id_value, row_to_json(OLD.*), indexer_id;
|
|
373
374
|
ELSIF (TG_OP = 'INSERT') THEN
|
|
374
375
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
375
|
-
SELECT 'I',
|
|
376
|
+
SELECT 'I', table_name, order_key, new_id_value, null, indexer_id;
|
|
376
377
|
END IF;
|
|
377
378
|
RETURN NULL;
|
|
378
379
|
END;
|
|
@@ -402,7 +403,7 @@ async function registerTriggers(tx, tables, endCursor, idColumnMap, indexerId) {
|
|
|
402
403
|
CREATE CONSTRAINT TRIGGER ${getReorgTriggerName(table, indexerId)}
|
|
403
404
|
AFTER INSERT OR UPDATE OR DELETE ON ${table}
|
|
404
405
|
DEFERRABLE INITIALLY DEFERRED
|
|
405
|
-
FOR EACH ROW EXECUTE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint('${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
406
|
+
FOR EACH ROW EXECUTE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint('${table}', '${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
406
407
|
`)
|
|
407
408
|
);
|
|
408
409
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apibara/plugin-drizzle",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.27",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"vitest": "^1.6.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@apibara/indexer": "2.1.0-beta.
|
|
58
|
-
"@apibara/protocol": "2.1.0-beta.
|
|
57
|
+
"@apibara/indexer": "2.1.0-beta.27",
|
|
58
|
+
"@apibara/protocol": "2.1.0-beta.27",
|
|
59
59
|
"postgres-range": "^1.1.4"
|
|
60
60
|
}
|
|
61
61
|
}
|
package/src/storage.ts
CHANGED
|
@@ -89,21 +89,22 @@ export async function initializeReorgRollbackTable<
|
|
|
89
89
|
CREATE OR REPLACE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint()
|
|
90
90
|
RETURNS TRIGGER AS $$
|
|
91
91
|
DECLARE
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
table_name TEXT := TG_ARGV[0]::TEXT;
|
|
93
|
+
id_col TEXT := TG_ARGV[1]::TEXT;
|
|
94
|
+
order_key INTEGER := TG_ARGV[2]::INTEGER;
|
|
95
|
+
indexer_id TEXT := TG_ARGV[3]::TEXT;
|
|
95
96
|
new_id_value TEXT := row_to_json(NEW.*)->>id_col;
|
|
96
97
|
old_id_value TEXT := row_to_json(OLD.*)->>id_col;
|
|
97
98
|
BEGIN
|
|
98
99
|
IF (TG_OP = 'DELETE') THEN
|
|
99
100
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
100
|
-
SELECT 'D',
|
|
101
|
+
SELECT 'D', table_name, order_key, old_id_value, row_to_json(OLD.*), indexer_id;
|
|
101
102
|
ELSIF (TG_OP = 'UPDATE') THEN
|
|
102
103
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
103
|
-
SELECT 'U',
|
|
104
|
+
SELECT 'U', table_name, order_key, new_id_value, row_to_json(OLD.*), indexer_id;
|
|
104
105
|
ELSIF (TG_OP = 'INSERT') THEN
|
|
105
106
|
INSERT INTO ${SCHEMA_NAME}.${ROLLBACK_TABLE_NAME}(op, table_name, cursor, row_id, row_value, indexer_id)
|
|
106
|
-
SELECT 'I',
|
|
107
|
+
SELECT 'I', table_name, order_key, new_id_value, null, indexer_id;
|
|
107
108
|
END IF;
|
|
108
109
|
RETURN NULL;
|
|
109
110
|
END;
|
|
@@ -147,7 +148,7 @@ export async function registerTriggers<
|
|
|
147
148
|
CREATE CONSTRAINT TRIGGER ${getReorgTriggerName(table, indexerId)}
|
|
148
149
|
AFTER INSERT OR UPDATE OR DELETE ON ${table}
|
|
149
150
|
DEFERRABLE INITIALLY DEFERRED
|
|
150
|
-
FOR EACH ROW EXECUTE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint('${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
151
|
+
FOR EACH ROW EXECUTE FUNCTION ${SCHEMA_NAME}.reorg_checkpoint('${table}', '${tableIdColumn}', ${Number(endCursor.orderKey)}, '${indexerId}');
|
|
151
152
|
`),
|
|
152
153
|
);
|
|
153
154
|
}
|