@powersync/service-core-tests 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.
Files changed (35) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/test-utils/general-utils.d.ts +9 -2
  3. package/dist/test-utils/general-utils.js +26 -2
  4. package/dist/test-utils/general-utils.js.map +1 -1
  5. package/dist/tests/register-compacting-tests.d.ts +1 -1
  6. package/dist/tests/register-compacting-tests.js +122 -68
  7. package/dist/tests/register-compacting-tests.js.map +1 -1
  8. package/dist/tests/register-data-storage-checkpoint-tests.d.ts +1 -1
  9. package/dist/tests/register-data-storage-checkpoint-tests.js +38 -6
  10. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  11. package/dist/tests/register-data-storage-data-tests.d.ts +2 -2
  12. package/dist/tests/register-data-storage-data-tests.js +666 -142
  13. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  14. package/dist/tests/register-data-storage-parameter-tests.d.ts +1 -1
  15. package/dist/tests/register-data-storage-parameter-tests.js +60 -33
  16. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  17. package/dist/tests/register-parameter-compacting-tests.d.ts +1 -1
  18. package/dist/tests/register-parameter-compacting-tests.js +8 -4
  19. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  20. package/dist/tests/register-sync-tests.d.ts +2 -1
  21. package/dist/tests/register-sync-tests.js +40 -18
  22. package/dist/tests/register-sync-tests.js.map +1 -1
  23. package/dist/tests/util.d.ts +5 -4
  24. package/dist/tests/util.js +27 -12
  25. package/dist/tests/util.js.map +1 -1
  26. package/package.json +3 -3
  27. package/src/test-utils/general-utils.ts +41 -3
  28. package/src/tests/register-compacting-tests.ts +127 -82
  29. package/src/tests/register-data-storage-checkpoint-tests.ts +64 -11
  30. package/src/tests/register-data-storage-data-tests.ts +640 -52
  31. package/src/tests/register-data-storage-parameter-tests.ts +101 -47
  32. package/src/tests/register-parameter-compacting-tests.ts +9 -4
  33. package/src/tests/register-sync-tests.ts +45 -19
  34. package/src/tests/util.ts +46 -17
  35. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @powersync/service-core-tests
2
2
 
3
+ ## 0.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8c5bb3b: [Internal] Allow using multiple BucketStorageBatch instances concurrently.
8
+ - c15efc7: [Internal] Track and propagate source on buckets and parameter indexes to storage APIs.
9
+
10
+ ### Patch Changes
11
+
12
+ - 642cb11: [Postgres Storage] Fix concurrency issue in compacting, leading to "[PSYNC_S1101] Unexpected PUT operation".
13
+ - Updated dependencies [8c5bb3b]
14
+ - Updated dependencies [dcddcf1]
15
+ - Updated dependencies [c15efc7]
16
+ - Updated dependencies [e7152ce]
17
+ - Updated dependencies [e150c5c]
18
+ - Updated dependencies [b410924]
19
+ - @powersync/service-core@1.20.1
20
+ - @powersync/service-sync-rules@0.33.0
21
+
3
22
  ## 0.14.0
4
23
 
5
24
  ### Minor Changes
@@ -1,16 +1,23 @@
1
- import { storage, utils } from '@powersync/service-core';
1
+ import { BucketDataRequest, InternalOpId, storage, utils } from '@powersync/service-core';
2
2
  import { GetQuerierOptions, RequestParameters } from '@powersync/service-sync-rules';
3
3
  import * as bson from 'bson';
4
4
  export declare const ZERO_LSN = "0/0";
5
5
  export declare const PARSE_OPTIONS: storage.ParseSyncRulesOptions;
6
6
  export declare const BATCH_OPTIONS: storage.StartBatchOptions;
7
- export declare function makeTestTable(name: string, replicaIdColumns?: string[] | undefined): storage.SourceTable;
7
+ export declare function makeTestTable(name: string, replicaIdColumns?: string[] | undefined, options?: {
8
+ tableIdStrings: boolean;
9
+ }): storage.SourceTable;
8
10
  export declare function getBatchData(batch: utils.SyncBucketData[] | storage.SyncBucketDataChunk[] | storage.SyncBucketDataChunk): {
9
11
  op_id: string;
10
12
  op: "PUT" | "REMOVE" | "MOVE" | "CLEAR";
11
13
  object_id: string | undefined;
12
14
  checksum: number | bigint;
13
15
  }[];
16
+ /**
17
+ * Bucket names no longer purely depend on the sync rules.
18
+ * This converts a bucket name like "global[]" into the actual bucket name, for use in tests.
19
+ */
20
+ export declare function bucketRequest(syncRules: storage.PersistedSyncRulesContent | storage.PersistedSyncRules, bucket: string, start?: InternalOpId | string | number): BucketDataRequest;
14
21
  export declare function getBatchMeta(batch: utils.SyncBucketData[] | storage.SyncBucketDataChunk[] | storage.SyncBucketDataChunk): {
15
22
  has_more: boolean;
16
23
  after: string;
@@ -9,9 +9,9 @@ export const BATCH_OPTIONS = {
9
9
  zeroLSN: ZERO_LSN,
10
10
  storeCurrentData: true
11
11
  };
12
- export function makeTestTable(name, replicaIdColumns) {
12
+ export function makeTestTable(name, replicaIdColumns, options) {
13
13
  const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
14
- const id = new bson.ObjectId('6544e3899293153fa7b38331');
14
+ const id = options?.tableIdStrings == false ? new bson.ObjectId('6544e3899293153fa7b38331') : '6544e3899293153fa7b38331';
15
15
  return new storage.SourceTable({
16
16
  id: id,
17
17
  connectionTag: storage.SourceTable.DEFAULT_TAG,
@@ -36,6 +36,30 @@ export function getBatchData(batch) {
36
36
  };
37
37
  });
38
38
  }
39
+ function isParsedSyncRules(syncRules) {
40
+ return syncRules.sync_rules !== undefined;
41
+ }
42
+ /**
43
+ * Bucket names no longer purely depend on the sync rules.
44
+ * This converts a bucket name like "global[]" into the actual bucket name, for use in tests.
45
+ */
46
+ export function bucketRequest(syncRules, bucket, start) {
47
+ const parsed = isParsedSyncRules(syncRules) ? syncRules : syncRules.parsed(PARSE_OPTIONS);
48
+ const hydrationState = parsed.hydrationState;
49
+ const parameterStart = bucket.indexOf('[');
50
+ const definitionName = bucket.substring(0, parameterStart);
51
+ const parameters = bucket.substring(parameterStart);
52
+ const source = parsed.sync_rules.config.bucketDataSources.find((b) => b.uniqueName === definitionName);
53
+ if (source == null) {
54
+ throw new Error(`Failed to find global bucket ${bucket}`);
55
+ }
56
+ const bucketName = hydrationState.getBucketSourceScope(source).bucketPrefix + parameters;
57
+ return {
58
+ bucket: bucketName,
59
+ start: BigInt(start ?? 0n),
60
+ source: source
61
+ };
62
+ }
39
63
  export function getBatchMeta(batch) {
40
64
  const first = getFirst(batch);
41
65
  if (first == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { storage } from '@powersync/service-core';
2
- export declare function registerCompactTests(generateStorageFactory: storage.TestStorageFactory): void;
2
+ export declare function registerCompactTests(config: storage.TestStorageConfig): void;
@@ -50,12 +50,14 @@ 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 { storage, updateSyncRulesFromYaml } from '@powersync/service-core';
53
+ import { addChecksums, storage, updateSyncRulesFromYaml } from '@powersync/service-core';
54
54
  import { expect, test } from 'vitest';
55
55
  import * as test_utils from '../test-utils/test-utils-index.js';
56
- import { bucketRequest, bucketRequestMap, bucketRequests } from './util.js';
57
- const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
58
- export function registerCompactTests(generateStorageFactory) {
56
+ import { bucketRequest } from '../test-utils/test-utils-index.js';
57
+ import { bucketRequestMap, bucketRequests } from './util.js';
58
+ export function registerCompactTests(config) {
59
+ const generateStorageFactory = config.factory;
60
+ const TEST_TABLE = test_utils.makeTestTable('test', ['id'], config);
59
61
  test('compacting (1)', async () => {
60
62
  const env_1 = { stack: [], error: void 0, hasError: false };
61
63
  try {
@@ -67,6 +69,7 @@ bucket_definitions:
67
69
  `));
68
70
  const bucketStorage = factory.getInstance(syncRules);
69
71
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
72
+ await batch.markAllSnapshotDone('1/1');
70
73
  await batch.save({
71
74
  sourceTable: TEST_TABLE,
72
75
  tag: storage.SaveOperationTag.INSERT,
@@ -94,24 +97,22 @@ bucket_definitions:
94
97
  await batch.commit('1/1');
95
98
  });
96
99
  const checkpoint = result.flushed_op;
97
- const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, bucketRequestMap(syncRules, [['global[]', 0n]])));
100
+ const request = bucketRequest(syncRules, 'global[]');
101
+ const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, [request]));
98
102
  const dataBefore = batchBefore.chunkData.data;
99
- const checksumBefore = await bucketStorage.getChecksums(checkpoint, bucketRequests(syncRules, ['global[]']));
103
+ const checksumBefore = await bucketStorage.getChecksums(checkpoint, [request]);
100
104
  expect(dataBefore).toMatchObject([
101
105
  {
102
- checksum: 2634521662,
103
106
  object_id: 't1',
104
107
  op: 'PUT',
105
108
  op_id: '1'
106
109
  },
107
110
  {
108
- checksum: 4243212114,
109
111
  object_id: 't2',
110
112
  op: 'PUT',
111
113
  op_id: '2'
112
114
  },
113
115
  {
114
- checksum: 4243212114,
115
116
  object_id: 't2',
116
117
  op: 'PUT',
117
118
  op_id: '3'
@@ -125,33 +126,28 @@ bucket_definitions:
125
126
  minBucketChanges: 1,
126
127
  minChangeRatio: 0
127
128
  });
128
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, bucketRequestMap(syncRules, [['global[]', 0n]])));
129
+ const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, [request]));
129
130
  const dataAfter = batchAfter.chunkData.data;
130
- const checksumAfter = await bucketStorage.getChecksums(checkpoint, bucketRequests(syncRules, ['global[]']));
131
+ const checksumAfter = await bucketStorage.getChecksums(checkpoint, [request]);
131
132
  bucketStorage.clearChecksumCache();
132
- const checksumAfter2 = await bucketStorage.getChecksums(checkpoint, bucketRequests(syncRules, ['global[]']));
133
+ const checksumAfter2 = await bucketStorage.getChecksums(checkpoint, [request]);
133
134
  expect(batchAfter.targetOp).toEqual(3n);
134
135
  expect(dataAfter).toMatchObject([
136
+ dataBefore[0],
135
137
  {
136
- checksum: 2634521662,
137
- object_id: 't1',
138
- op: 'PUT',
139
- op_id: '1'
140
- },
141
- {
142
- checksum: 4243212114,
138
+ checksum: dataBefore[1].checksum,
143
139
  op: 'MOVE',
144
140
  op_id: '2'
145
141
  },
146
142
  {
147
- checksum: 4243212114,
143
+ checksum: dataBefore[2].checksum,
148
144
  object_id: 't2',
149
145
  op: 'PUT',
150
146
  op_id: '3'
151
147
  }
152
148
  ]);
153
- expect(checksumAfter.get(bucketRequest(syncRules, 'global[]'))).toEqual(checksumBefore.get(bucketRequest(syncRules, 'global[]')));
154
- expect(checksumAfter2.get(bucketRequest(syncRules, 'global[]'))).toEqual(checksumBefore.get(bucketRequest(syncRules, 'global[]')));
149
+ expect(checksumAfter.get(request.bucket)).toEqual(checksumBefore.get(request.bucket));
150
+ expect(checksumAfter2.get(request.bucket)).toEqual(checksumBefore.get(request.bucket));
155
151
  test_utils.validateCompactedBucket(dataBefore, dataAfter);
156
152
  }
157
153
  catch (e_1) {
@@ -175,6 +171,7 @@ bucket_definitions:
175
171
  `));
176
172
  const bucketStorage = factory.getInstance(syncRules);
177
173
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
174
+ await batch.markAllSnapshotDone('1/1');
178
175
  await batch.save({
179
176
  sourceTable: TEST_TABLE,
180
177
  tag: storage.SaveOperationTag.INSERT,
@@ -210,33 +207,27 @@ bucket_definitions:
210
207
  await batch.commit('1/1');
211
208
  });
212
209
  const checkpoint = result.flushed_op;
213
- const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, bucketRequestMap(syncRules, [['global[]', 0n]])));
210
+ const request = bucketRequest(syncRules, 'global[]');
211
+ const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, [request]));
214
212
  const dataBefore = batchBefore.chunkData.data;
215
- const checksumBefore = await bucketStorage.getChecksums(checkpoint, bucketRequests(syncRules, ['global[]']));
213
+ const checksumBefore = await bucketStorage.getChecksums(checkpoint, [request]);
214
+ // op_id sequence depends on the storage implementation
216
215
  expect(dataBefore).toMatchObject([
217
216
  {
218
- checksum: 2634521662,
219
217
  object_id: 't1',
220
- op: 'PUT',
221
- op_id: '1'
218
+ op: 'PUT'
222
219
  },
223
220
  {
224
- checksum: 4243212114,
225
221
  object_id: 't2',
226
- op: 'PUT',
227
- op_id: '2'
222
+ op: 'PUT'
228
223
  },
229
224
  {
230
- checksum: 4228978084,
231
225
  object_id: 't1',
232
- op: 'REMOVE',
233
- op_id: '3'
226
+ op: 'REMOVE'
234
227
  },
235
228
  {
236
- checksum: 4243212114,
237
229
  object_id: 't2',
238
- op: 'PUT',
239
- op_id: '4'
230
+ op: 'PUT'
240
231
  }
241
232
  ]);
242
233
  await bucketStorage.compact({
@@ -246,26 +237,24 @@ bucket_definitions:
246
237
  minBucketChanges: 1,
247
238
  minChangeRatio: 0
248
239
  });
249
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, bucketRequestMap(syncRules, [['global[]', 0n]])));
240
+ const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, [request]));
250
241
  const dataAfter = batchAfter.chunkData.data;
251
242
  bucketStorage.clearChecksumCache();
252
- const checksumAfter = await bucketStorage.getChecksums(checkpoint, bucketRequests(syncRules, ['global[]']));
253
- expect(batchAfter.targetOp).toEqual(4n);
243
+ const checksumAfter = await bucketStorage.getChecksums(checkpoint, [request]);
244
+ expect(batchAfter.targetOp).toBeLessThanOrEqual(checkpoint);
254
245
  expect(dataAfter).toMatchObject([
255
246
  {
256
- checksum: -1778190028,
257
- op: 'CLEAR',
258
- op_id: '3'
247
+ checksum: addChecksums(addChecksums(dataBefore[0].checksum, dataBefore[1].checksum), dataBefore[2].checksum),
248
+ op: 'CLEAR'
259
249
  },
260
250
  {
261
- checksum: 4243212114,
251
+ checksum: dataBefore[3].checksum,
262
252
  object_id: 't2',
263
- op: 'PUT',
264
- op_id: '4'
253
+ op: 'PUT'
265
254
  }
266
255
  ]);
267
- expect(checksumAfter.get(bucketRequest(syncRules, 'global[]'))).toEqual({
268
- ...checksumBefore.get(bucketRequest(syncRules, 'global[]')),
256
+ expect(checksumAfter.get(request.bucket)).toEqual({
257
+ ...checksumBefore.get(request.bucket),
269
258
  count: 2
270
259
  });
271
260
  test_utils.validateCompactedBucket(dataBefore, dataAfter);
@@ -291,6 +280,7 @@ bucket_definitions:
291
280
  `));
292
281
  const bucketStorage = factory.getInstance(syncRules);
293
282
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
283
+ await batch.markAllSnapshotDone('1/1');
294
284
  await batch.save({
295
285
  sourceTable: TEST_TABLE,
296
286
  tag: storage.SaveOperationTag.INSERT,
@@ -318,7 +308,8 @@ bucket_definitions:
318
308
  await batch.commit('1/1');
319
309
  });
320
310
  const checkpoint1 = result.flushed_op;
321
- const checksumBefore = await bucketStorage.getChecksums(checkpoint1, bucketRequests(syncRules, ['global[]']));
311
+ const request = bucketRequest(syncRules, 'global[]');
312
+ const checksumBefore = await bucketStorage.getChecksums(checkpoint1, [request]);
322
313
  const result2 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
323
314
  await batch.save({
324
315
  sourceTable: TEST_TABLE,
@@ -338,22 +329,19 @@ bucket_definitions:
338
329
  minBucketChanges: 1,
339
330
  minChangeRatio: 0
340
331
  });
341
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint2, bucketRequestMap(syncRules, [['global[]', 0n]])));
332
+ const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint2, [request]));
342
333
  const dataAfter = batchAfter.chunkData.data;
343
334
  await bucketStorage.clearChecksumCache();
344
- const checksumAfter = await bucketStorage.getChecksums(checkpoint2, bucketRequests(syncRules, ['global[]']));
345
- expect(batchAfter.targetOp).toEqual(4n);
335
+ const checksumAfter = await bucketStorage.getChecksums(checkpoint2, [request]);
346
336
  expect(dataAfter).toMatchObject([
347
337
  {
348
- checksum: 1874612650,
349
- op: 'CLEAR',
350
- op_id: '4'
338
+ op: 'CLEAR'
351
339
  }
352
340
  ]);
353
- expect(checksumAfter.get(bucketRequest(syncRules, 'global[]'))).toEqual({
354
- bucket: bucketRequest(syncRules, 'global[]'),
341
+ expect(checksumAfter.get(request.bucket)).toEqual({
342
+ bucket: request.bucket,
355
343
  count: 1,
356
- checksum: 1874612650
344
+ checksum: dataAfter[0].checksum
357
345
  });
358
346
  }
359
347
  catch (e_3) {
@@ -380,6 +368,7 @@ bucket_definitions:
380
368
  - select * from test where b = bucket.b`));
381
369
  const bucketStorage = factory.getInstance(syncRules);
382
370
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
371
+ await batch.markAllSnapshotDone('1/1');
383
372
  /**
384
373
  * Repeatedly create operations which fall into different buckets.
385
374
  * The bucket operations are purposely interleaved as the op_id increases.
@@ -498,7 +487,8 @@ bucket_definitions:
498
487
  data: [select * from test]
499
488
  `));
500
489
  const bucketStorage = factory.getInstance(syncRules);
501
- const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
490
+ await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
491
+ await batch.markAllSnapshotDone('1/1');
502
492
  await batch.save({
503
493
  sourceTable: TEST_TABLE,
504
494
  tag: storage.SaveOperationTag.INSERT,
@@ -544,13 +534,16 @@ bucket_definitions:
544
534
  await batch.commit('2/1');
545
535
  });
546
536
  const checkpoint2 = result2.flushed_op;
537
+ const request = bucketRequest(syncRules, 'global[]');
547
538
  await bucketStorage.clearChecksumCache();
548
- const checksumAfter = await bucketStorage.getChecksums(checkpoint2, bucketRequests(syncRules, ['global[]']));
549
- expect(checksumAfter.get(bucketRequest(syncRules, 'global[]'))).toEqual({
550
- bucket: bucketRequest(syncRules, 'global[]'),
551
- count: 4,
552
- checksum: 1874612650
539
+ const checksumAfter = await bucketStorage.getChecksums(checkpoint2, [request]);
540
+ const globalChecksum = checksumAfter.get(request.bucket);
541
+ expect(globalChecksum).toMatchObject({
542
+ bucket: request.bucket,
543
+ count: 4
553
544
  });
545
+ // storage-specific checksum - just check that it does not change
546
+ expect(globalChecksum).toMatchSnapshot();
554
547
  }
555
548
  catch (e_5) {
556
549
  env_5.error = e_5;
@@ -573,6 +566,7 @@ bucket_definitions:
573
566
  `));
574
567
  const bucketStorage = factory.getInstance(syncRules);
575
568
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
569
+ await batch.markAllSnapshotDone('1/1');
576
570
  await batch.save({
577
571
  sourceTable: TEST_TABLE,
578
572
  tag: storage.SaveOperationTag.INSERT,
@@ -612,13 +606,16 @@ bucket_definitions:
612
606
  minChangeRatio: 0
613
607
  });
614
608
  const checkpoint2 = result2.flushed_op;
609
+ const request = bucketRequest(syncRules, 'global[]');
615
610
  // Check that the checksum was correctly updated with the clear operation after having a cached checksum
616
- const checksumAfter = await bucketStorage.getChecksums(checkpoint2, bucketRequests(syncRules, ['global[]']));
617
- expect(checksumAfter.get(bucketRequest(syncRules, 'global[]'))).toMatchObject({
618
- bucket: bucketRequest(syncRules, 'global[]'),
619
- count: 1,
620
- checksum: -1481659821
611
+ const checksumAfter = await bucketStorage.getChecksums(checkpoint2, [request]);
612
+ const globalChecksum = checksumAfter.get(request.bucket);
613
+ expect(globalChecksum).toMatchObject({
614
+ bucket: request.bucket,
615
+ count: 1
621
616
  });
617
+ // storage-specific checksum - just check that it does not change
618
+ expect(globalChecksum).toMatchSnapshot();
622
619
  }
623
620
  catch (e_6) {
624
621
  env_6.error = e_6;
@@ -630,5 +627,62 @@ bucket_definitions:
630
627
  await result_6;
631
628
  }
632
629
  });
630
+ test('defaults maxOpId to current checkpoint', async () => {
631
+ const env_7 = { stack: [], error: void 0, hasError: false };
632
+ try {
633
+ const factory = __addDisposableResource(env_7, await generateStorageFactory(), true);
634
+ const syncRules = await factory.updateSyncRules(updateSyncRulesFromYaml(`
635
+ bucket_definitions:
636
+ global:
637
+ data: [select * from test]
638
+ `));
639
+ const bucketStorage = factory.getInstance(syncRules);
640
+ const result1 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
641
+ await batch.markAllSnapshotDone('1/1');
642
+ await batch.save({
643
+ sourceTable: TEST_TABLE,
644
+ tag: storage.SaveOperationTag.INSERT,
645
+ after: { id: 't1' },
646
+ afterReplicaId: test_utils.rid('t1')
647
+ });
648
+ await batch.commit('1/1');
649
+ });
650
+ const checkpoint1 = result1.flushed_op;
651
+ const result2 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
652
+ // This is flushed but not committed (does not advance the checkpoint)
653
+ await batch.save({
654
+ sourceTable: TEST_TABLE,
655
+ tag: storage.SaveOperationTag.UPDATE,
656
+ after: { id: 't1' },
657
+ afterReplicaId: test_utils.rid('t1')
658
+ });
659
+ });
660
+ const checkpoint2 = result2.flushed_op;
661
+ const checkpointBeforeCompact = await bucketStorage.getCheckpoint();
662
+ expect(checkpointBeforeCompact.checkpoint).toEqual(checkpoint1);
663
+ // With default options, Postgres compaction should use the active checkpoint.
664
+ await bucketStorage.compact({
665
+ moveBatchLimit: 1,
666
+ moveBatchQueryLimit: 1,
667
+ minBucketChanges: 1,
668
+ minChangeRatio: 0
669
+ });
670
+ const batchAfterDefaultCompact = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint2, bucketRequestMap(syncRules, [['global[]', 0n]])));
671
+ // Operation 1 should remain a PUT because op_id=2 is above the default maxOpId checkpoint.
672
+ expect(batchAfterDefaultCompact.chunkData.data).toMatchObject([
673
+ { op_id: '1', op: 'PUT', object_id: 't1' },
674
+ { op_id: '2', op: 'PUT', object_id: 't1' }
675
+ ]);
676
+ }
677
+ catch (e_7) {
678
+ env_7.error = e_7;
679
+ env_7.hasError = true;
680
+ }
681
+ finally {
682
+ const result_7 = __disposeResources(env_7);
683
+ if (result_7)
684
+ await result_7;
685
+ }
686
+ });
633
687
  }
634
688
  //# sourceMappingURL=register-compacting-tests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@ import { storage } from '@powersync/service-core';
9
9
  *
10
10
  * ```
11
11
  */
12
- export declare function registerDataStorageCheckpointTests(generateStorageFactory: storage.TestStorageFactory): void;
12
+ export declare function registerDataStorageCheckpointTests(config: storage.TestStorageConfig): void;