@powersync/service-module-postgres-storage 0.14.0 → 0.15.0

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.
@@ -35,7 +35,7 @@ export declare class PostgresSyncRulesStorage extends framework.BaseObserver<sto
35
35
  */
36
36
  private get checksumCache();
37
37
  get writeCheckpointMode(): storage.WriteCheckpointMode;
38
- getParsedSyncRules(options: storage.ParseSyncRulesOptions): sync_rules.HydratedSyncRules;
38
+ getParsedSyncRules(options: storage.ParseSyncRulesOptions): sync_rules.HydratedSyncConfig;
39
39
  reportError(e: any): Promise<void>;
40
40
  compact(options?: storage.CompactOptions): Promise<void>;
41
41
  populatePersistentChecksumCache(_options: PopulateChecksumCacheOptions): Promise<PopulateChecksumCacheResults>;
@@ -43,7 +43,6 @@ export declare class PostgresSyncRulesStorage extends framework.BaseObserver<sto
43
43
  setWriteCheckpointMode(mode: storage.WriteCheckpointMode): void;
44
44
  createManagedWriteCheckpoint(checkpoint: storage.ManagedWriteCheckpointOptions): Promise<bigint>;
45
45
  getCheckpoint(): Promise<storage.ReplicationCheckpoint>;
46
- resolveTable(options: storage.ResolveTableOptions): Promise<storage.ResolveTableResult>;
47
46
  createWriter(options: storage.CreateWriterOptions): Promise<storage.BucketStorageBatch>;
48
47
  /**
49
48
  * @deprecated Use `createWriter()` with `await using` instead.
@@ -10,7 +10,7 @@ import { PostgresPersistedBatch } from './PostgresPersistedBatch.js';
10
10
  export interface PostgresBucketBatchOptions {
11
11
  logger: Logger;
12
12
  db: lib_postgres.DatabaseClient;
13
- sync_rules: sync_rules.HydratedSyncRules;
13
+ sync_rules: sync_rules.HydratedSyncConfig;
14
14
  group_id: number;
15
15
  slot_name: string;
16
16
  last_checkpoint_lsn: string | null;
@@ -23,6 +23,7 @@ export interface PostgresBucketBatchOptions {
23
23
  skip_existing_rows: boolean;
24
24
  batch_limits: RequiredOperationBatchLimits;
25
25
  markRecordUnavailable: BucketStorageMarkRecordUnavailable | undefined;
26
+ hooks: storage.StorageHooks | undefined;
26
27
  storageConfig: storage.StorageVersionConfig;
27
28
  }
28
29
  /**
@@ -46,15 +47,17 @@ export declare class PostgresBucketBatch extends BaseObserver<storage.BucketBatc
46
47
  private logger;
47
48
  last_flushed_op: InternalOpId | null;
48
49
  resumeFromLsn: string | null;
50
+ readonly skipExistingRows: boolean;
49
51
  protected db: lib_postgres.DatabaseClient;
50
52
  protected group_id: number;
51
53
  protected last_checkpoint_lsn: string | null;
52
54
  protected persisted_op: InternalOpId | null;
53
55
  protected write_checkpoint_batch: storage.CustomWriteCheckpointOptions[];
54
- protected readonly sync_rules: sync_rules.HydratedSyncRules;
56
+ protected readonly sync_rules: sync_rules.HydratedSyncConfig;
55
57
  protected batch: OperationBatch | null;
56
58
  private lastWaitingLogThrottled;
57
59
  private markRecordUnavailable;
60
+ private hooks;
58
61
  private needsActivation;
59
62
  private clearedError;
60
63
  private readonly storageConfig;
@@ -63,6 +66,9 @@ export declare class PostgresBucketBatch extends BaseObserver<storage.BucketBatc
63
66
  get lastCheckpointLsn(): string | null;
64
67
  [Symbol.asyncDispose](): Promise<void>;
65
68
  dispose(): Promise<void>;
69
+ resolveTables(options: storage.ResolveTablesOptions): Promise<storage.ResolveTablesResult>;
70
+ getSourceTableStatus(table: storage.SourceTable): Promise<storage.SourceTable | null>;
71
+ private sourceTableFromRow;
66
72
  save(record: storage.SaveOptions): Promise<storage.FlushedResult | null>;
67
73
  truncate(sourceTables: storage.SourceTable[]): Promise<storage.FlushedResult | null>;
68
74
  protected truncateSingle(sourceTable: storage.SourceTable): Promise<bigint | null>;
@@ -73,6 +79,9 @@ export declare class PostgresBucketBatch extends BaseObserver<storage.BucketBatc
73
79
  keepalive(lsn: string): Promise<CheckpointResult>;
74
80
  setResumeLsn(lsn: string): Promise<void>;
75
81
  markAllSnapshotDone(no_checkpoint_before_lsn: string): Promise<void>;
82
+ markSnapshotDone(no_checkpoint_before_lsn: string, options?: {
83
+ throwOnConflict?: boolean;
84
+ }): Promise<void>;
76
85
  markTableSnapshotRequired(table: storage.SourceTable): Promise<void>;
77
86
  markTableSnapshotDone(tables: storage.SourceTable[], no_checkpoint_before_lsn?: string): Promise<storage.SourceTable[]>;
78
87
  updateTableProgress(table: storage.SourceTable, progress: Partial<storage.TableSnapshotStatus>): Promise<storage.SourceTable>;
@@ -1,7 +1,6 @@
1
1
  import { BroadcastIterable, CHECKPOINT_INVALIDATE_ALL, internalToExternalOpId, LastValueSink, maxLsn, ParameterSetLimitExceededError, storage } from '@powersync/service-core';
2
2
  import { JSONBig } from '@powersync/service-jsonbig';
3
3
  import * as timers from 'timers/promises';
4
- import * as uuid from 'uuid';
5
4
  import { bigint, BIGINT_MAX } from '../types/codecs.js';
6
5
  import { models } from '../types/types.js';
7
6
  import { replicaIdToSubkey } from '../utils/bson.js';
@@ -70,7 +69,7 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
70
69
  * Parse sync config if the options are different or if there is no cached value.
71
70
  */
72
71
  if (!parsed || options.defaultSchema != cachedOptions?.defaultSchema) {
73
- this.parsedSyncRulesCache = { parsed: this.sync_rules.parsed(options).hydratedSyncRules(), options };
72
+ this.parsedSyncRulesCache = { parsed: this.sync_rules.parsed(options).hydratedSyncConfig(), options };
74
73
  }
75
74
  return this.parsedSyncRulesCache.parsed;
76
75
  }
@@ -127,159 +126,6 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
127
126
  .first();
128
127
  return new PostgresReplicationCheckpoint(this, checkpointRow?.last_checkpoint ?? 0n, checkpointRow?.last_checkpoint_lsn ?? null);
129
128
  }
130
- async resolveTable(options) {
131
- const { group_id, connection_id, connection_tag, entity_descriptor } = options;
132
- const { schema, name: table, objectId, replicaIdColumns } = entity_descriptor;
133
- const normalizedReplicaIdColumns = replicaIdColumns.map((column) => ({
134
- name: column.name,
135
- type: column.type,
136
- // The PGWire returns this as a BigInt. We want to store this as JSONB
137
- type_oid: typeof column.typeId !== 'undefined' ? Number(column.typeId) : column.typeId
138
- }));
139
- return this.db.transaction(async (db) => {
140
- let sourceTableRow;
141
- if (objectId != null) {
142
- sourceTableRow = await db.sql `
143
- SELECT
144
- *
145
- FROM
146
- source_tables
147
- WHERE
148
- group_id = ${{ type: 'int4', value: group_id }}
149
- AND connection_id = ${{ type: 'int4', value: connection_id }}
150
- AND relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
151
- AND schema_name = ${{ type: 'varchar', value: schema }}
152
- AND table_name = ${{ type: 'varchar', value: table }}
153
- AND replica_id_columns = ${{ type: 'jsonb', value: normalizedReplicaIdColumns }}
154
- `
155
- .decoded(models.SourceTable)
156
- .first();
157
- }
158
- else {
159
- sourceTableRow = await db.sql `
160
- SELECT
161
- *
162
- FROM
163
- source_tables
164
- WHERE
165
- group_id = ${{ type: 'int4', value: group_id }}
166
- AND connection_id = ${{ type: 'int4', value: connection_id }}
167
- AND schema_name = ${{ type: 'varchar', value: schema }}
168
- AND table_name = ${{ type: 'varchar', value: table }}
169
- AND replica_id_columns = ${{ type: 'jsonb', value: normalizedReplicaIdColumns }}
170
- `
171
- .decoded(models.SourceTable)
172
- .first();
173
- }
174
- if (sourceTableRow == null) {
175
- const row = await db.sql `
176
- INSERT INTO
177
- source_tables (
178
- id,
179
- group_id,
180
- connection_id,
181
- relation_id,
182
- schema_name,
183
- table_name,
184
- replica_id_columns
185
- )
186
- VALUES
187
- (
188
- ${{ type: 'varchar', value: uuid.v4() }},
189
- ${{ type: 'int4', value: group_id }},
190
- ${{ type: 'int4', value: connection_id }},
191
- --- The objectId can be string | number | undefined, we store it as jsonb value
192
- ${{ type: 'jsonb', value: { object_id: objectId } }},
193
- ${{ type: 'varchar', value: schema }},
194
- ${{ type: 'varchar', value: table }},
195
- ${{ type: 'jsonb', value: normalizedReplicaIdColumns }}
196
- )
197
- RETURNING
198
- *
199
- `
200
- .decoded(models.SourceTable)
201
- .first();
202
- sourceTableRow = row;
203
- }
204
- const sourceTable = new storage.SourceTable({
205
- id: sourceTableRow.id,
206
- connectionTag: connection_tag,
207
- objectId: objectId,
208
- schema: schema,
209
- name: table,
210
- replicaIdColumns: replicaIdColumns,
211
- snapshotComplete: sourceTableRow.snapshot_done ?? true
212
- });
213
- if (!sourceTable.snapshotComplete) {
214
- sourceTable.snapshotStatus = {
215
- totalEstimatedCount: Number(sourceTableRow.snapshot_total_estimated_count ?? -1n),
216
- replicatedCount: Number(sourceTableRow.snapshot_replicated_count ?? 0n),
217
- lastKey: sourceTableRow.snapshot_last_key
218
- };
219
- }
220
- sourceTable.syncEvent = options.sync_rules.tableTriggersEvent(sourceTable);
221
- sourceTable.syncData = options.sync_rules.tableSyncsData(sourceTable);
222
- sourceTable.syncParameters = options.sync_rules.tableSyncsParameters(sourceTable);
223
- let truncatedTables = [];
224
- if (objectId != null) {
225
- // relation_id present - check for renamed tables
226
- truncatedTables = await db.sql `
227
- SELECT
228
- *
229
- FROM
230
- source_tables
231
- WHERE
232
- group_id = ${{ type: 'int4', value: group_id }}
233
- AND connection_id = ${{ type: 'int4', value: connection_id }}
234
- AND id != ${{ type: 'varchar', value: sourceTableRow.id }}
235
- AND (
236
- relation_id = ${{ type: 'jsonb', value: { object_id: objectId } }}
237
- OR (
238
- schema_name = ${{ type: 'varchar', value: schema }}
239
- AND table_name = ${{ type: 'varchar', value: table }}
240
- )
241
- )
242
- `
243
- .decoded(models.SourceTable)
244
- .rows();
245
- }
246
- else {
247
- // relation_id not present - only check for changed replica_id_columns
248
- truncatedTables = await db.sql `
249
- SELECT
250
- *
251
- FROM
252
- source_tables
253
- WHERE
254
- group_id = ${{ type: 'int4', value: group_id }}
255
- AND connection_id = ${{ type: 'int4', value: connection_id }}
256
- AND id != ${{ type: 'varchar', value: sourceTableRow.id }}
257
- AND (
258
- schema_name = ${{ type: 'varchar', value: schema }}
259
- AND table_name = ${{ type: 'varchar', value: table }}
260
- )
261
- `
262
- .decoded(models.SourceTable)
263
- .rows();
264
- }
265
- return {
266
- table: sourceTable,
267
- dropTables: truncatedTables.map((doc) => new storage.SourceTable({
268
- id: doc.id,
269
- connectionTag: connection_tag,
270
- objectId: doc.relation_id?.object_id ?? 0,
271
- schema: doc.schema_name,
272
- name: doc.table_name,
273
- replicaIdColumns: doc.replica_id_columns?.map((c) => ({
274
- name: c.name,
275
- typeOid: c.typeId,
276
- type: c.type
277
- })) ?? [],
278
- snapshotComplete: doc.snapshot_done ?? true
279
- }))
280
- };
281
- });
282
- }
283
129
  async createWriter(options) {
284
130
  const syncRules = await this.db.sql `
285
131
  SELECT
@@ -298,7 +144,7 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
298
144
  const writer = new PostgresBucketBatch({
299
145
  logger: options.logger ?? this.logger,
300
146
  db: this.db,
301
- sync_rules: this.sync_rules.parsed(options).hydratedSyncRules(),
147
+ sync_rules: this.sync_rules.parsed(options).hydratedSyncConfig(),
302
148
  group_id: this.group_id,
303
149
  slot_name: this.slot_name,
304
150
  last_checkpoint_lsn: checkpoint_lsn,
@@ -308,6 +154,7 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
308
154
  skip_existing_rows: options.skipExistingRows ?? false,
309
155
  batch_limits: this.options.batchLimits,
310
156
  markRecordUnavailable: options.markRecordUnavailable,
157
+ hooks: options.hooks,
311
158
  storageConfig: this.storageConfig
312
159
  });
313
160
  this.iterateListeners((cb) => cb.batchStarted?.(writer));
@@ -556,13 +403,14 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
556
403
  snapshot_done,
557
404
  snapshot_lsn,
558
405
  last_checkpoint_lsn,
559
- state
406
+ state,
407
+ keepalive_op
560
408
  FROM
561
409
  sync_rules
562
410
  WHERE
563
411
  id = ${{ type: 'int4', value: this.group_id }}
564
412
  `
565
- .decoded(pick(models.SyncRules, ['snapshot_done', 'last_checkpoint_lsn', 'state', 'snapshot_lsn']))
413
+ .decoded(pick(models.SyncRules, ['snapshot_done', 'last_checkpoint_lsn', 'state', 'snapshot_lsn', 'keepalive_op']))
566
414
  .first();
567
415
  if (syncRulesRow == null) {
568
416
  throw new Error('Cannot find replication stream status');
@@ -571,7 +419,8 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
571
419
  snapshot_done: syncRulesRow.snapshot_done,
572
420
  active: syncRulesRow.state == storage.SyncRuleState.ACTIVE,
573
421
  checkpoint_lsn: syncRulesRow.last_checkpoint_lsn ?? null,
574
- snapshot_lsn: syncRulesRow.snapshot_lsn ?? null
422
+ snapshot_lsn: syncRulesRow.snapshot_lsn ?? null,
423
+ keepalive_op: syncRulesRow.keepalive_op ?? null
575
424
  };
576
425
  }
577
426
  async clear(options) {
@@ -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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"}