@powersync/service-module-postgres-storage 0.0.0-dev-20250117095455 → 0.0.0-dev-20250214100224
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 +73 -11
- package/README.md +7 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/storage/PostgresBucketStorageFactory.d.ts +3 -4
- package/dist/@types/storage/batch/PostgresBucketBatch.d.ts +4 -4
- package/dist/@types/types/codecs.d.ts +2 -2
- package/dist/@types/types/models/BucketData.d.ts +1 -1
- package/dist/@types/types/models/BucketParameters.d.ts +2 -2
- package/dist/@types/types/models/CurrentData.d.ts +3 -3
- package/dist/migrations/migration-utils.js +2 -1
- package/dist/migrations/migration-utils.js.map +1 -1
- package/dist/storage/PostgresBucketStorageFactory.js +27 -16
- package/dist/storage/PostgresBucketStorageFactory.js.map +1 -1
- package/dist/storage/PostgresCompactor.js +2 -2
- package/dist/storage/PostgresCompactor.js.map +1 -1
- package/dist/storage/PostgresSyncRulesStorage.js +205 -205
- package/dist/storage/PostgresSyncRulesStorage.js.map +1 -1
- package/dist/storage/batch/PostgresBucketBatch.js +30 -21
- package/dist/storage/batch/PostgresBucketBatch.js.map +1 -1
- package/dist/storage/batch/PostgresPersistedBatch.js +39 -81
- package/dist/storage/batch/PostgresPersistedBatch.js.map +1 -1
- package/dist/storage/sync-rules/PostgresPersistedSyncRulesContent.js +2 -2
- package/dist/storage/sync-rules/PostgresPersistedSyncRulesContent.js.map +1 -1
- package/dist/types/codecs.js +3 -2
- package/dist/types/codecs.js.map +1 -1
- package/package.json +9 -9
- package/src/migrations/migration-utils.ts +2 -1
- package/src/storage/PostgresBucketStorageFactory.ts +31 -20
- package/src/storage/PostgresCompactor.ts +4 -2
- package/src/storage/PostgresSyncRulesStorage.ts +666 -666
- package/src/storage/batch/PostgresBucketBatch.ts +46 -24
- package/src/storage/batch/PostgresPersistedBatch.ts +39 -81
- package/src/storage/sync-rules/PostgresPersistedSyncRulesContent.ts +5 -2
- package/src/types/codecs.ts +3 -2
- package/tsconfig.json +0 -2
|
@@ -50,7 +50,7 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
50
50
|
var e = new Error(message);
|
|
51
51
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
52
|
});
|
|
53
|
-
import { DisposableObserver } from '@powersync/lib-services-framework';
|
|
53
|
+
import { DisposableObserver, ReplicationAssertionError } from '@powersync/lib-services-framework';
|
|
54
54
|
import { storage, utils } from '@powersync/service-core';
|
|
55
55
|
import { JSONBig } from '@powersync/service-jsonbig';
|
|
56
56
|
import * as uuid from 'uuid';
|
|
@@ -107,12 +107,12 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
107
107
|
}
|
|
108
108
|
async reportError(e) {
|
|
109
109
|
const message = String(e.message ?? 'Replication failure');
|
|
110
|
-
await this.db.sql `
|
|
111
|
-
UPDATE sync_rules
|
|
112
|
-
SET
|
|
113
|
-
last_fatal_error = ${{ type: 'varchar', value: message }}
|
|
114
|
-
WHERE
|
|
115
|
-
id = ${{ type: 'int4', value: this.group_id }};
|
|
110
|
+
await this.db.sql `
|
|
111
|
+
UPDATE sync_rules
|
|
112
|
+
SET
|
|
113
|
+
last_fatal_error = ${{ type: 'varchar', value: message }}
|
|
114
|
+
WHERE
|
|
115
|
+
id = ${{ type: 'int4', value: this.group_id }};
|
|
116
116
|
`.execute();
|
|
117
117
|
}
|
|
118
118
|
compact(options) {
|
|
@@ -140,14 +140,14 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
140
140
|
return this.writeCheckpointAPI.createManagedWriteCheckpoint(checkpoint);
|
|
141
141
|
}
|
|
142
142
|
async getCheckpoint() {
|
|
143
|
-
const checkpointRow = await this.db.sql `
|
|
144
|
-
SELECT
|
|
145
|
-
last_checkpoint,
|
|
146
|
-
last_checkpoint_lsn
|
|
147
|
-
FROM
|
|
148
|
-
sync_rules
|
|
149
|
-
WHERE
|
|
150
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
143
|
+
const checkpointRow = await this.db.sql `
|
|
144
|
+
SELECT
|
|
145
|
+
last_checkpoint,
|
|
146
|
+
last_checkpoint_lsn
|
|
147
|
+
FROM
|
|
148
|
+
sync_rules
|
|
149
|
+
WHERE
|
|
150
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
151
151
|
`
|
|
152
152
|
.decoded(pick(models.SyncRules, ['last_checkpoint', 'last_checkpoint_lsn']))
|
|
153
153
|
.first();
|
|
@@ -166,46 +166,46 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
166
166
|
type_oid: typeof column.typeId !== 'undefined' ? Number(column.typeId) : column.typeId
|
|
167
167
|
}));
|
|
168
168
|
return this.db.transaction(async (db) => {
|
|
169
|
-
let sourceTableRow = await db.sql `
|
|
170
|
-
SELECT
|
|
171
|
-
*
|
|
172
|
-
FROM
|
|
173
|
-
source_tables
|
|
174
|
-
WHERE
|
|
175
|
-
group_id = ${{ type: 'int4', value: group_id }}
|
|
176
|
-
AND connection_id = ${{ type: 'int4', value: connection_id }}
|
|
177
|
-
AND relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
|
|
178
|
-
AND schema_name = ${{ type: 'varchar', value: schema }}
|
|
179
|
-
AND table_name = ${{ type: 'varchar', value: table }}
|
|
180
|
-
AND replica_id_columns = ${{ type: 'jsonb', value: columns }}
|
|
169
|
+
let sourceTableRow = await db.sql `
|
|
170
|
+
SELECT
|
|
171
|
+
*
|
|
172
|
+
FROM
|
|
173
|
+
source_tables
|
|
174
|
+
WHERE
|
|
175
|
+
group_id = ${{ type: 'int4', value: group_id }}
|
|
176
|
+
AND connection_id = ${{ type: 'int4', value: connection_id }}
|
|
177
|
+
AND relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
|
|
178
|
+
AND schema_name = ${{ type: 'varchar', value: schema }}
|
|
179
|
+
AND table_name = ${{ type: 'varchar', value: table }}
|
|
180
|
+
AND replica_id_columns = ${{ type: 'jsonb', value: columns }}
|
|
181
181
|
`
|
|
182
182
|
.decoded(models.SourceTable)
|
|
183
183
|
.first();
|
|
184
184
|
if (sourceTableRow == null) {
|
|
185
|
-
const row = await db.sql `
|
|
186
|
-
INSERT INTO
|
|
187
|
-
source_tables (
|
|
188
|
-
id,
|
|
189
|
-
group_id,
|
|
190
|
-
connection_id,
|
|
191
|
-
relation_id,
|
|
192
|
-
schema_name,
|
|
193
|
-
table_name,
|
|
194
|
-
replica_id_columns
|
|
195
|
-
)
|
|
196
|
-
VALUES
|
|
197
|
-
(
|
|
198
|
-
${{ type: 'varchar', value: uuid.v4() }},
|
|
199
|
-
${{ type: 'int4', value: group_id }},
|
|
200
|
-
${{ type: 'int4', value: connection_id }},
|
|
201
|
-
--- The objectId can be string | number, we store it as jsonb value
|
|
202
|
-
${{ type: 'jsonb', value: { object_id: objectId } }},
|
|
203
|
-
${{ type: 'varchar', value: schema }},
|
|
204
|
-
${{ type: 'varchar', value: table }},
|
|
205
|
-
${{ type: 'jsonb', value: columns }}
|
|
206
|
-
)
|
|
207
|
-
RETURNING
|
|
208
|
-
*
|
|
185
|
+
const row = await db.sql `
|
|
186
|
+
INSERT INTO
|
|
187
|
+
source_tables (
|
|
188
|
+
id,
|
|
189
|
+
group_id,
|
|
190
|
+
connection_id,
|
|
191
|
+
relation_id,
|
|
192
|
+
schema_name,
|
|
193
|
+
table_name,
|
|
194
|
+
replica_id_columns
|
|
195
|
+
)
|
|
196
|
+
VALUES
|
|
197
|
+
(
|
|
198
|
+
${{ type: 'varchar', value: uuid.v4() }},
|
|
199
|
+
${{ type: 'int4', value: group_id }},
|
|
200
|
+
${{ type: 'int4', value: connection_id }},
|
|
201
|
+
--- The objectId can be string | number, we store it as jsonb value
|
|
202
|
+
${{ type: 'jsonb', value: { object_id: objectId } }},
|
|
203
|
+
${{ type: 'varchar', value: schema }},
|
|
204
|
+
${{ type: 'varchar', value: table }},
|
|
205
|
+
${{ type: 'jsonb', value: columns }}
|
|
206
|
+
)
|
|
207
|
+
RETURNING
|
|
208
|
+
*
|
|
209
209
|
`
|
|
210
210
|
.decoded(models.SourceTable)
|
|
211
211
|
.first();
|
|
@@ -215,22 +215,22 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
215
215
|
sourceTable.syncEvent = options.sync_rules.tableTriggersEvent(sourceTable);
|
|
216
216
|
sourceTable.syncData = options.sync_rules.tableSyncsData(sourceTable);
|
|
217
217
|
sourceTable.syncParameters = options.sync_rules.tableSyncsParameters(sourceTable);
|
|
218
|
-
const truncatedTables = await db.sql `
|
|
219
|
-
SELECT
|
|
220
|
-
*
|
|
221
|
-
FROM
|
|
222
|
-
source_tables
|
|
223
|
-
WHERE
|
|
224
|
-
group_id = ${{ type: 'int4', value: group_id }}
|
|
225
|
-
AND connection_id = ${{ type: 'int4', value: connection_id }}
|
|
226
|
-
AND id != ${{ type: 'varchar', value: sourceTableRow.id }}
|
|
227
|
-
AND (
|
|
228
|
-
relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
|
|
229
|
-
OR (
|
|
230
|
-
schema_name = ${{ type: 'varchar', value: schema }}
|
|
231
|
-
AND table_name = ${{ type: 'varchar', value: table }}
|
|
232
|
-
)
|
|
233
|
-
)
|
|
218
|
+
const truncatedTables = await db.sql `
|
|
219
|
+
SELECT
|
|
220
|
+
*
|
|
221
|
+
FROM
|
|
222
|
+
source_tables
|
|
223
|
+
WHERE
|
|
224
|
+
group_id = ${{ type: 'int4', value: group_id }}
|
|
225
|
+
AND connection_id = ${{ type: 'int4', value: connection_id }}
|
|
226
|
+
AND id != ${{ type: 'varchar', value: sourceTableRow.id }}
|
|
227
|
+
AND (
|
|
228
|
+
relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
|
|
229
|
+
OR (
|
|
230
|
+
schema_name = ${{ type: 'varchar', value: schema }}
|
|
231
|
+
AND table_name = ${{ type: 'varchar', value: table }}
|
|
232
|
+
)
|
|
233
|
+
)
|
|
234
234
|
`
|
|
235
235
|
.decoded(models.SourceTable)
|
|
236
236
|
.rows();
|
|
@@ -247,15 +247,15 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
247
247
|
async startBatch(options, callback) {
|
|
248
248
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
249
249
|
try {
|
|
250
|
-
const syncRules = await this.db.sql `
|
|
251
|
-
SELECT
|
|
252
|
-
last_checkpoint_lsn,
|
|
253
|
-
no_checkpoint_before,
|
|
254
|
-
keepalive_op
|
|
255
|
-
FROM
|
|
256
|
-
sync_rules
|
|
257
|
-
WHERE
|
|
258
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
250
|
+
const syncRules = await this.db.sql `
|
|
251
|
+
SELECT
|
|
252
|
+
last_checkpoint_lsn,
|
|
253
|
+
no_checkpoint_before,
|
|
254
|
+
keepalive_op
|
|
255
|
+
FROM
|
|
256
|
+
sync_rules
|
|
257
|
+
WHERE
|
|
258
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
259
259
|
`
|
|
260
260
|
.decoded(pick(models.SyncRules, ['last_checkpoint_lsn', 'no_checkpoint_before', 'keepalive_op']))
|
|
261
261
|
.first();
|
|
@@ -293,32 +293,32 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
async getParameterSets(checkpoint, lookups) {
|
|
296
|
-
const rows = await this.db.sql `
|
|
297
|
-
SELECT DISTINCT
|
|
298
|
-
ON (lookup, source_table, source_key) lookup,
|
|
299
|
-
source_table,
|
|
300
|
-
source_key,
|
|
301
|
-
id,
|
|
302
|
-
bucket_parameters
|
|
303
|
-
FROM
|
|
304
|
-
bucket_parameters
|
|
305
|
-
WHERE
|
|
306
|
-
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
307
|
-
AND lookup = ANY (
|
|
308
|
-
SELECT
|
|
309
|
-
decode((FILTER ->> 0)::text, 'hex') -- Decode the hex string to bytea
|
|
310
|
-
FROM
|
|
296
|
+
const rows = await this.db.sql `
|
|
297
|
+
SELECT DISTINCT
|
|
298
|
+
ON (lookup, source_table, source_key) lookup,
|
|
299
|
+
source_table,
|
|
300
|
+
source_key,
|
|
301
|
+
id,
|
|
302
|
+
bucket_parameters
|
|
303
|
+
FROM
|
|
304
|
+
bucket_parameters
|
|
305
|
+
WHERE
|
|
306
|
+
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
307
|
+
AND lookup = ANY (
|
|
308
|
+
SELECT
|
|
309
|
+
decode((FILTER ->> 0)::text, 'hex') -- Decode the hex string to bytea
|
|
310
|
+
FROM
|
|
311
311
|
jsonb_array_elements(${{
|
|
312
312
|
type: 'jsonb',
|
|
313
313
|
value: lookups.map((l) => storage.serializeLookupBuffer(l).toString('hex'))
|
|
314
|
-
}}) AS FILTER
|
|
315
|
-
)
|
|
316
|
-
AND id <= ${{ type: 'int8', value: BigInt(checkpoint) }}
|
|
317
|
-
ORDER BY
|
|
318
|
-
lookup,
|
|
319
|
-
source_table,
|
|
320
|
-
source_key,
|
|
321
|
-
id DESC
|
|
314
|
+
}}) AS FILTER
|
|
315
|
+
)
|
|
316
|
+
AND id <= ${{ type: 'int8', value: BigInt(checkpoint) }}
|
|
317
|
+
ORDER BY
|
|
318
|
+
lookup,
|
|
319
|
+
source_table,
|
|
320
|
+
source_key,
|
|
321
|
+
id DESC
|
|
322
322
|
`
|
|
323
323
|
.decoded(pick(models.BucketParameters, ['bucket_parameters']))
|
|
324
324
|
.rows();
|
|
@@ -375,21 +375,21 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
375
375
|
* 1 million rows were only synced before a 5 minute timeout.
|
|
376
376
|
*/
|
|
377
377
|
for await (const rows of this.db.streamRows({
|
|
378
|
-
statement: `
|
|
379
|
-
SELECT
|
|
380
|
-
*
|
|
381
|
-
FROM
|
|
382
|
-
bucket_data
|
|
383
|
-
WHERE
|
|
384
|
-
group_id = $1
|
|
385
|
-
and op_id <= $2
|
|
386
|
-
and (
|
|
387
|
-
${filters.map((f, index) => `(bucket_name = $${index * 2 + 4} and op_id > $${index * 2 + 5})`).join(' OR ')}
|
|
388
|
-
)
|
|
389
|
-
ORDER BY
|
|
390
|
-
bucket_name ASC,
|
|
391
|
-
op_id ASC
|
|
392
|
-
LIMIT
|
|
378
|
+
statement: `
|
|
379
|
+
SELECT
|
|
380
|
+
*
|
|
381
|
+
FROM
|
|
382
|
+
bucket_data
|
|
383
|
+
WHERE
|
|
384
|
+
group_id = $1
|
|
385
|
+
and op_id <= $2
|
|
386
|
+
and (
|
|
387
|
+
${filters.map((f, index) => `(bucket_name = $${index * 2 + 4} and op_id > $${index * 2 + 5})`).join(' OR ')}
|
|
388
|
+
)
|
|
389
|
+
ORDER BY
|
|
390
|
+
bucket_name ASC,
|
|
391
|
+
op_id ASC
|
|
392
|
+
LIMIT
|
|
393
393
|
$3;`,
|
|
394
394
|
params: [
|
|
395
395
|
{ type: 'int4', value: this.group_id },
|
|
@@ -428,7 +428,7 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
428
428
|
}
|
|
429
429
|
start ??= dataBuckets.get(bucket_name);
|
|
430
430
|
if (start == null) {
|
|
431
|
-
throw new
|
|
431
|
+
throw new ReplicationAssertionError(`data for unexpected bucket: ${bucket_name}`);
|
|
432
432
|
}
|
|
433
433
|
currentBatch = {
|
|
434
434
|
bucket: bucket_name,
|
|
@@ -471,25 +471,25 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
471
471
|
if (!options || options?.clearStorage) {
|
|
472
472
|
await this.clear();
|
|
473
473
|
}
|
|
474
|
-
await this.db.sql `
|
|
475
|
-
UPDATE sync_rules
|
|
476
|
-
SET
|
|
477
|
-
state = ${{ type: 'varchar', value: storage.SyncRuleState.TERMINATED }},
|
|
478
|
-
snapshot_done = ${{ type: 'bool', value: false }}
|
|
479
|
-
WHERE
|
|
480
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
474
|
+
await this.db.sql `
|
|
475
|
+
UPDATE sync_rules
|
|
476
|
+
SET
|
|
477
|
+
state = ${{ type: 'varchar', value: storage.SyncRuleState.TERMINATED }},
|
|
478
|
+
snapshot_done = ${{ type: 'bool', value: false }}
|
|
479
|
+
WHERE
|
|
480
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
481
481
|
`.execute();
|
|
482
482
|
}
|
|
483
483
|
async getStatus() {
|
|
484
|
-
const syncRulesRow = await this.db.sql `
|
|
485
|
-
SELECT
|
|
486
|
-
snapshot_done,
|
|
487
|
-
last_checkpoint_lsn,
|
|
488
|
-
state
|
|
489
|
-
FROM
|
|
490
|
-
sync_rules
|
|
491
|
-
WHERE
|
|
492
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
484
|
+
const syncRulesRow = await this.db.sql `
|
|
485
|
+
SELECT
|
|
486
|
+
snapshot_done,
|
|
487
|
+
last_checkpoint_lsn,
|
|
488
|
+
state
|
|
489
|
+
FROM
|
|
490
|
+
sync_rules
|
|
491
|
+
WHERE
|
|
492
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
493
493
|
`
|
|
494
494
|
.decoded(pick(models.SyncRules, ['snapshot_done', 'last_checkpoint_lsn', 'state']))
|
|
495
495
|
.first();
|
|
@@ -503,65 +503,65 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
503
503
|
};
|
|
504
504
|
}
|
|
505
505
|
async clear() {
|
|
506
|
-
await this.db.sql `
|
|
507
|
-
UPDATE sync_rules
|
|
508
|
-
SET
|
|
509
|
-
snapshot_done = FALSE,
|
|
510
|
-
last_checkpoint_lsn = NULL,
|
|
511
|
-
last_checkpoint = NULL,
|
|
512
|
-
no_checkpoint_before = NULL
|
|
513
|
-
WHERE
|
|
514
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
506
|
+
await this.db.sql `
|
|
507
|
+
UPDATE sync_rules
|
|
508
|
+
SET
|
|
509
|
+
snapshot_done = FALSE,
|
|
510
|
+
last_checkpoint_lsn = NULL,
|
|
511
|
+
last_checkpoint = NULL,
|
|
512
|
+
no_checkpoint_before = NULL
|
|
513
|
+
WHERE
|
|
514
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
515
515
|
`.execute();
|
|
516
|
-
await this.db.sql `
|
|
517
|
-
DELETE FROM bucket_data
|
|
518
|
-
WHERE
|
|
519
|
-
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
516
|
+
await this.db.sql `
|
|
517
|
+
DELETE FROM bucket_data
|
|
518
|
+
WHERE
|
|
519
|
+
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
520
520
|
`.execute();
|
|
521
|
-
await this.db.sql `
|
|
522
|
-
DELETE FROM bucket_parameters
|
|
523
|
-
WHERE
|
|
524
|
-
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
521
|
+
await this.db.sql `
|
|
522
|
+
DELETE FROM bucket_parameters
|
|
523
|
+
WHERE
|
|
524
|
+
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
525
525
|
`.execute();
|
|
526
|
-
await this.db.sql `
|
|
527
|
-
DELETE FROM current_data
|
|
528
|
-
WHERE
|
|
529
|
-
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
526
|
+
await this.db.sql `
|
|
527
|
+
DELETE FROM current_data
|
|
528
|
+
WHERE
|
|
529
|
+
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
530
530
|
`.execute();
|
|
531
|
-
await this.db.sql `
|
|
532
|
-
DELETE FROM source_tables
|
|
533
|
-
WHERE
|
|
534
|
-
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
531
|
+
await this.db.sql `
|
|
532
|
+
DELETE FROM source_tables
|
|
533
|
+
WHERE
|
|
534
|
+
group_id = ${{ type: 'int4', value: this.group_id }}
|
|
535
535
|
`.execute();
|
|
536
536
|
}
|
|
537
537
|
async autoActivate() {
|
|
538
538
|
await this.db.transaction(async (db) => {
|
|
539
|
-
const syncRulesRow = await db.sql `
|
|
540
|
-
SELECT
|
|
541
|
-
state
|
|
542
|
-
FROM
|
|
543
|
-
sync_rules
|
|
544
|
-
WHERE
|
|
545
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
539
|
+
const syncRulesRow = await db.sql `
|
|
540
|
+
SELECT
|
|
541
|
+
state
|
|
542
|
+
FROM
|
|
543
|
+
sync_rules
|
|
544
|
+
WHERE
|
|
545
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
546
546
|
`
|
|
547
547
|
.decoded(pick(models.SyncRules, ['state']))
|
|
548
548
|
.first();
|
|
549
549
|
if (syncRulesRow && syncRulesRow.state == storage.SyncRuleState.PROCESSING) {
|
|
550
|
-
await db.sql `
|
|
551
|
-
UPDATE sync_rules
|
|
552
|
-
SET
|
|
553
|
-
state = ${{ type: 'varchar', value: storage.SyncRuleState.ACTIVE }}
|
|
554
|
-
WHERE
|
|
555
|
-
id = ${{ type: 'int4', value: this.group_id }}
|
|
550
|
+
await db.sql `
|
|
551
|
+
UPDATE sync_rules
|
|
552
|
+
SET
|
|
553
|
+
state = ${{ type: 'varchar', value: storage.SyncRuleState.ACTIVE }}
|
|
554
|
+
WHERE
|
|
555
|
+
id = ${{ type: 'int4', value: this.group_id }}
|
|
556
556
|
`.execute();
|
|
557
557
|
}
|
|
558
|
-
await db.sql `
|
|
559
|
-
UPDATE sync_rules
|
|
560
|
-
SET
|
|
561
|
-
state = ${{ type: 'varchar', value: storage.SyncRuleState.STOP }}
|
|
562
|
-
WHERE
|
|
563
|
-
state = ${{ type: 'varchar', value: storage.SyncRuleState.ACTIVE }}
|
|
564
|
-
AND id != ${{ type: 'int4', value: this.group_id }}
|
|
558
|
+
await db.sql `
|
|
559
|
+
UPDATE sync_rules
|
|
560
|
+
SET
|
|
561
|
+
state = ${{ type: 'varchar', value: storage.SyncRuleState.STOP }}
|
|
562
|
+
WHERE
|
|
563
|
+
state = ${{ type: 'varchar', value: storage.SyncRuleState.ACTIVE }}
|
|
564
|
+
AND id != ${{ type: 'int4', value: this.group_id }}
|
|
565
565
|
`.execute();
|
|
566
566
|
});
|
|
567
567
|
}
|
|
@@ -573,35 +573,35 @@ export class PostgresSyncRulesStorage extends DisposableObserver {
|
|
|
573
573
|
...b,
|
|
574
574
|
start: b.start ?? 0
|
|
575
575
|
}));
|
|
576
|
-
const results = await this.db.sql `
|
|
577
|
-
WITH
|
|
578
|
-
filter_data AS (
|
|
579
|
-
SELECT
|
|
580
|
-
FILTER ->> 'bucket' AS bucket_name,
|
|
581
|
-
(FILTER ->> 'start')::BIGINT AS start_op_id,
|
|
582
|
-
(FILTER ->> 'end')::BIGINT AS end_op_id
|
|
583
|
-
FROM
|
|
584
|
-
jsonb_array_elements(${{ type: 'jsonb', value: rangedBatch }}::jsonb) AS FILTER
|
|
585
|
-
)
|
|
586
|
-
SELECT
|
|
587
|
-
b.bucket_name AS bucket,
|
|
588
|
-
SUM(b.checksum) AS checksum_total,
|
|
589
|
-
COUNT(*) AS total,
|
|
590
|
-
MAX(
|
|
591
|
-
CASE
|
|
592
|
-
WHEN b.op = 'CLEAR' THEN 1
|
|
593
|
-
ELSE 0
|
|
594
|
-
END
|
|
595
|
-
) AS has_clear_op
|
|
596
|
-
FROM
|
|
597
|
-
bucket_data b
|
|
598
|
-
JOIN filter_data f ON b.bucket_name = f.bucket_name
|
|
599
|
-
AND b.op_id > f.start_op_id
|
|
600
|
-
AND b.op_id <= f.end_op_id
|
|
601
|
-
WHERE
|
|
602
|
-
b.group_id = ${{ type: 'int4', value: this.group_id }}
|
|
603
|
-
GROUP BY
|
|
604
|
-
b.bucket_name;
|
|
576
|
+
const results = await this.db.sql `
|
|
577
|
+
WITH
|
|
578
|
+
filter_data AS (
|
|
579
|
+
SELECT
|
|
580
|
+
FILTER ->> 'bucket' AS bucket_name,
|
|
581
|
+
(FILTER ->> 'start')::BIGINT AS start_op_id,
|
|
582
|
+
(FILTER ->> 'end')::BIGINT AS end_op_id
|
|
583
|
+
FROM
|
|
584
|
+
jsonb_array_elements(${{ type: 'jsonb', value: rangedBatch }}::jsonb) AS FILTER
|
|
585
|
+
)
|
|
586
|
+
SELECT
|
|
587
|
+
b.bucket_name AS bucket,
|
|
588
|
+
SUM(b.checksum) AS checksum_total,
|
|
589
|
+
COUNT(*) AS total,
|
|
590
|
+
MAX(
|
|
591
|
+
CASE
|
|
592
|
+
WHEN b.op = 'CLEAR' THEN 1
|
|
593
|
+
ELSE 0
|
|
594
|
+
END
|
|
595
|
+
) AS has_clear_op
|
|
596
|
+
FROM
|
|
597
|
+
bucket_data b
|
|
598
|
+
JOIN filter_data f ON b.bucket_name = f.bucket_name
|
|
599
|
+
AND b.op_id > f.start_op_id
|
|
600
|
+
AND b.op_id <= f.end_op_id
|
|
601
|
+
WHERE
|
|
602
|
+
b.group_id = ${{ type: 'int4', value: this.group_id }}
|
|
603
|
+
GROUP BY
|
|
604
|
+
b.bucket_name;
|
|
605
605
|
`.rows();
|
|
606
606
|
return new Map(results.map((doc) => {
|
|
607
607
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresSyncRulesStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresSyncRulesStorage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresSyncRulesStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresSyncRulesStorage.ts"],"names":[],"mappings":"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"}
|