@apibara/plugin-sqlite 2.0.0-beta.28 → 2.0.0-beta.29
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 +7 -8
- package/dist/index.mjs +7 -8
- package/package.json +3 -3
- package/src/index.ts +1 -1
- package/src/kv.ts +1 -1
- package/src/persistence.ts +9 -11
package/dist/index.cjs
CHANGED
|
@@ -109,7 +109,7 @@ const statements$1 = {
|
|
|
109
109
|
WHERE k = ? AND to_block IS NULL`,
|
|
110
110
|
finalize: `
|
|
111
111
|
DELETE FROM kvs
|
|
112
|
-
WHERE to_block
|
|
112
|
+
WHERE to_block <= ?`,
|
|
113
113
|
invalidateDelete: `
|
|
114
114
|
DELETE FROM kvs
|
|
115
115
|
WHERE from_block > ?`,
|
|
@@ -119,14 +119,13 @@ const statements$1 = {
|
|
|
119
119
|
WHERE to_block > ?`
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
const DEFAULT_INDEXER_ID = "default";
|
|
123
122
|
function initializePersistentState(db) {
|
|
124
123
|
assertInTransaction(db);
|
|
125
124
|
db.exec(statements.createCheckpointsTable);
|
|
126
125
|
db.exec(statements.createFiltersTable);
|
|
127
126
|
}
|
|
128
127
|
function persistState(props) {
|
|
129
|
-
const { db, endCursor, filter, indexerName
|
|
128
|
+
const { db, endCursor, filter, indexerName } = props;
|
|
130
129
|
assertInTransaction(db);
|
|
131
130
|
db.prepare(statements.putCheckpoint).run(
|
|
132
131
|
indexerName,
|
|
@@ -146,7 +145,7 @@ function persistState(props) {
|
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
function getState(props) {
|
|
149
|
-
const { db, indexerName
|
|
148
|
+
const { db, indexerName } = props;
|
|
150
149
|
assertInTransaction(db);
|
|
151
150
|
const storedCursor = db.prepare(
|
|
152
151
|
statements.getCheckpoint
|
|
@@ -166,7 +165,7 @@ function getState(props) {
|
|
|
166
165
|
return { cursor, filter };
|
|
167
166
|
}
|
|
168
167
|
function finalizeState(props) {
|
|
169
|
-
const { cursor, db, indexerName
|
|
168
|
+
const { cursor, db, indexerName } = props;
|
|
170
169
|
assertInTransaction(db);
|
|
171
170
|
db.prepare(statements.finalizeFilter).run(
|
|
172
171
|
indexerName,
|
|
@@ -174,7 +173,7 @@ function finalizeState(props) {
|
|
|
174
173
|
);
|
|
175
174
|
}
|
|
176
175
|
function invalidateState(props) {
|
|
177
|
-
const { cursor, db, indexerName
|
|
176
|
+
const { cursor, db, indexerName } = props;
|
|
178
177
|
assertInTransaction(db);
|
|
179
178
|
db.prepare(statements.invalidateFilterDelete).run(
|
|
180
179
|
indexerName,
|
|
@@ -232,7 +231,7 @@ const statements = {
|
|
|
232
231
|
WHERE id = ?`,
|
|
233
232
|
finalizeFilter: `
|
|
234
233
|
DELETE FROM filters
|
|
235
|
-
WHERE id = ? AND to_block
|
|
234
|
+
WHERE id = ? AND to_block <= ?`,
|
|
236
235
|
invalidateFilterDelete: `
|
|
237
236
|
DELETE FROM filters
|
|
238
237
|
WHERE id = ? AND from_block > ?`,
|
|
@@ -258,7 +257,7 @@ function sqliteStorage({
|
|
|
258
257
|
keyValueStore: enableKeyValueStore = true,
|
|
259
258
|
serialize: serializeFn = serialize,
|
|
260
259
|
deserialize: deserializeFn = deserialize,
|
|
261
|
-
indexerName
|
|
260
|
+
indexerName = "default"
|
|
262
261
|
}) {
|
|
263
262
|
return plugins.defineIndexerPlugin((indexer) => {
|
|
264
263
|
indexer.hooks.hook("run:before", async () => {
|
package/dist/index.mjs
CHANGED
|
@@ -107,7 +107,7 @@ const statements$1 = {
|
|
|
107
107
|
WHERE k = ? AND to_block IS NULL`,
|
|
108
108
|
finalize: `
|
|
109
109
|
DELETE FROM kvs
|
|
110
|
-
WHERE to_block
|
|
110
|
+
WHERE to_block <= ?`,
|
|
111
111
|
invalidateDelete: `
|
|
112
112
|
DELETE FROM kvs
|
|
113
113
|
WHERE from_block > ?`,
|
|
@@ -117,14 +117,13 @@ const statements$1 = {
|
|
|
117
117
|
WHERE to_block > ?`
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
const DEFAULT_INDEXER_ID = "default";
|
|
121
120
|
function initializePersistentState(db) {
|
|
122
121
|
assertInTransaction(db);
|
|
123
122
|
db.exec(statements.createCheckpointsTable);
|
|
124
123
|
db.exec(statements.createFiltersTable);
|
|
125
124
|
}
|
|
126
125
|
function persistState(props) {
|
|
127
|
-
const { db, endCursor, filter, indexerName
|
|
126
|
+
const { db, endCursor, filter, indexerName } = props;
|
|
128
127
|
assertInTransaction(db);
|
|
129
128
|
db.prepare(statements.putCheckpoint).run(
|
|
130
129
|
indexerName,
|
|
@@ -144,7 +143,7 @@ function persistState(props) {
|
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
function getState(props) {
|
|
147
|
-
const { db, indexerName
|
|
146
|
+
const { db, indexerName } = props;
|
|
148
147
|
assertInTransaction(db);
|
|
149
148
|
const storedCursor = db.prepare(
|
|
150
149
|
statements.getCheckpoint
|
|
@@ -164,7 +163,7 @@ function getState(props) {
|
|
|
164
163
|
return { cursor, filter };
|
|
165
164
|
}
|
|
166
165
|
function finalizeState(props) {
|
|
167
|
-
const { cursor, db, indexerName
|
|
166
|
+
const { cursor, db, indexerName } = props;
|
|
168
167
|
assertInTransaction(db);
|
|
169
168
|
db.prepare(statements.finalizeFilter).run(
|
|
170
169
|
indexerName,
|
|
@@ -172,7 +171,7 @@ function finalizeState(props) {
|
|
|
172
171
|
);
|
|
173
172
|
}
|
|
174
173
|
function invalidateState(props) {
|
|
175
|
-
const { cursor, db, indexerName
|
|
174
|
+
const { cursor, db, indexerName } = props;
|
|
176
175
|
assertInTransaction(db);
|
|
177
176
|
db.prepare(statements.invalidateFilterDelete).run(
|
|
178
177
|
indexerName,
|
|
@@ -230,7 +229,7 @@ const statements = {
|
|
|
230
229
|
WHERE id = ?`,
|
|
231
230
|
finalizeFilter: `
|
|
232
231
|
DELETE FROM filters
|
|
233
|
-
WHERE id = ? AND to_block
|
|
232
|
+
WHERE id = ? AND to_block <= ?`,
|
|
234
233
|
invalidateFilterDelete: `
|
|
235
234
|
DELETE FROM filters
|
|
236
235
|
WHERE id = ? AND from_block > ?`,
|
|
@@ -256,7 +255,7 @@ function sqliteStorage({
|
|
|
256
255
|
keyValueStore: enableKeyValueStore = true,
|
|
257
256
|
serialize: serializeFn = serialize,
|
|
258
257
|
deserialize: deserializeFn = deserialize,
|
|
259
|
-
indexerName
|
|
258
|
+
indexerName = "default"
|
|
260
259
|
}) {
|
|
261
260
|
return defineIndexerPlugin((indexer) => {
|
|
262
261
|
indexer.hooks.hook("run:before", async () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apibara/plugin-sqlite",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.29",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"better-sqlite3": "^9.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@apibara/indexer": "2.0.0-beta.
|
|
39
|
-
"@apibara/protocol": "2.0.0-beta.
|
|
38
|
+
"@apibara/indexer": "2.0.0-beta.30",
|
|
39
|
+
"@apibara/protocol": "2.0.0-beta.30"
|
|
40
40
|
}
|
|
41
41
|
}
|
package/src/index.ts
CHANGED
|
@@ -68,7 +68,7 @@ export function sqliteStorage<TFilter, TBlock>({
|
|
|
68
68
|
keyValueStore: enableKeyValueStore = true,
|
|
69
69
|
serialize: serializeFn = serialize,
|
|
70
70
|
deserialize: deserializeFn = deserialize,
|
|
71
|
-
indexerName,
|
|
71
|
+
indexerName = "default",
|
|
72
72
|
}: SqliteStorageOptions) {
|
|
73
73
|
return defineIndexerPlugin<TFilter, TBlock>((indexer) => {
|
|
74
74
|
indexer.hooks.hook("run:before", async () => {
|
package/src/kv.ts
CHANGED
package/src/persistence.ts
CHANGED
|
@@ -3,8 +3,6 @@ import type { Database } from "better-sqlite3";
|
|
|
3
3
|
|
|
4
4
|
import { assertInTransaction, deserialize, serialize } from "./utils";
|
|
5
5
|
|
|
6
|
-
const DEFAULT_INDEXER_ID = "default";
|
|
7
|
-
|
|
8
6
|
export function initializePersistentState(db: Database) {
|
|
9
7
|
assertInTransaction(db);
|
|
10
8
|
db.exec(statements.createCheckpointsTable);
|
|
@@ -15,9 +13,9 @@ export function persistState<TFilter>(props: {
|
|
|
15
13
|
db: Database;
|
|
16
14
|
endCursor: Cursor;
|
|
17
15
|
filter?: TFilter;
|
|
18
|
-
indexerName
|
|
16
|
+
indexerName: string;
|
|
19
17
|
}) {
|
|
20
|
-
const { db, endCursor, filter, indexerName
|
|
18
|
+
const { db, endCursor, filter, indexerName } = props;
|
|
21
19
|
|
|
22
20
|
assertInTransaction(db);
|
|
23
21
|
|
|
@@ -42,9 +40,9 @@ export function persistState<TFilter>(props: {
|
|
|
42
40
|
|
|
43
41
|
export function getState<TFilter>(props: {
|
|
44
42
|
db: Database;
|
|
45
|
-
indexerName
|
|
43
|
+
indexerName: string;
|
|
46
44
|
}) {
|
|
47
|
-
const { db, indexerName
|
|
45
|
+
const { db, indexerName } = props;
|
|
48
46
|
assertInTransaction(db);
|
|
49
47
|
const storedCursor = db
|
|
50
48
|
.prepare<string, { order_key?: number; unique_key?: string }>(
|
|
@@ -75,9 +73,9 @@ export function getState<TFilter>(props: {
|
|
|
75
73
|
export function finalizeState(props: {
|
|
76
74
|
db: Database;
|
|
77
75
|
cursor: Cursor;
|
|
78
|
-
indexerName
|
|
76
|
+
indexerName: string;
|
|
79
77
|
}) {
|
|
80
|
-
const { cursor, db, indexerName
|
|
78
|
+
const { cursor, db, indexerName } = props;
|
|
81
79
|
assertInTransaction(db);
|
|
82
80
|
db.prepare<[string, number]>(statements.finalizeFilter).run(
|
|
83
81
|
indexerName,
|
|
@@ -88,9 +86,9 @@ export function finalizeState(props: {
|
|
|
88
86
|
export function invalidateState(props: {
|
|
89
87
|
db: Database;
|
|
90
88
|
cursor: Cursor;
|
|
91
|
-
indexerName
|
|
89
|
+
indexerName: string;
|
|
92
90
|
}) {
|
|
93
|
-
const { cursor, db, indexerName
|
|
91
|
+
const { cursor, db, indexerName } = props;
|
|
94
92
|
assertInTransaction(db);
|
|
95
93
|
db.prepare<[string, number]>(statements.invalidateFilterDelete).run(
|
|
96
94
|
indexerName,
|
|
@@ -149,7 +147,7 @@ const statements = {
|
|
|
149
147
|
WHERE id = ?`,
|
|
150
148
|
finalizeFilter: `
|
|
151
149
|
DELETE FROM filters
|
|
152
|
-
WHERE id = ? AND to_block
|
|
150
|
+
WHERE id = ? AND to_block <= ?`,
|
|
153
151
|
invalidateFilterDelete: `
|
|
154
152
|
DELETE FROM filters
|
|
155
153
|
WHERE id = ? AND from_block > ?`,
|