@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.
- package/CHANGELOG.md +19 -0
- package/dist/test-utils/general-utils.d.ts +9 -2
- package/dist/test-utils/general-utils.js +26 -2
- package/dist/test-utils/general-utils.js.map +1 -1
- package/dist/tests/register-compacting-tests.d.ts +1 -1
- package/dist/tests/register-compacting-tests.js +122 -68
- package/dist/tests/register-compacting-tests.js.map +1 -1
- package/dist/tests/register-data-storage-checkpoint-tests.d.ts +1 -1
- package/dist/tests/register-data-storage-checkpoint-tests.js +38 -6
- package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
- package/dist/tests/register-data-storage-data-tests.d.ts +2 -2
- package/dist/tests/register-data-storage-data-tests.js +666 -142
- package/dist/tests/register-data-storage-data-tests.js.map +1 -1
- package/dist/tests/register-data-storage-parameter-tests.d.ts +1 -1
- package/dist/tests/register-data-storage-parameter-tests.js +60 -33
- package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
- package/dist/tests/register-parameter-compacting-tests.d.ts +1 -1
- package/dist/tests/register-parameter-compacting-tests.js +8 -4
- package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
- package/dist/tests/register-sync-tests.d.ts +2 -1
- package/dist/tests/register-sync-tests.js +40 -18
- package/dist/tests/register-sync-tests.js.map +1 -1
- package/dist/tests/util.d.ts +5 -4
- package/dist/tests/util.js +27 -12
- package/dist/tests/util.js.map +1 -1
- package/package.json +3 -3
- package/src/test-utils/general-utils.ts +41 -3
- package/src/tests/register-compacting-tests.ts +127 -82
- package/src/tests/register-data-storage-checkpoint-tests.ts +64 -11
- package/src/tests/register-data-storage-data-tests.ts +640 -52
- package/src/tests/register-data-storage-parameter-tests.ts +101 -47
- package/src/tests/register-parameter-compacting-tests.ts +9 -4
- package/src/tests/register-sync-tests.ts +45 -19
- package/src/tests/util.ts +46 -17
- 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
|
|
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":"AAAA,OAAO,
|
|
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(
|
|
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
|
|
57
|
-
|
|
58
|
-
export function registerCompactTests(
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
131
|
+
const checksumAfter = await bucketStorage.getChecksums(checkpoint, [request]);
|
|
131
132
|
bucketStorage.clearChecksumCache();
|
|
132
|
-
const checksumAfter2 = await bucketStorage.getChecksums(checkpoint,
|
|
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:
|
|
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:
|
|
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(
|
|
154
|
-
expect(checksumAfter2.get(
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
253
|
-
expect(batchAfter.targetOp).
|
|
243
|
+
const checksumAfter = await bucketStorage.getChecksums(checkpoint, [request]);
|
|
244
|
+
expect(batchAfter.targetOp).toBeLessThanOrEqual(checkpoint);
|
|
254
245
|
expect(dataAfter).toMatchObject([
|
|
255
246
|
{
|
|
256
|
-
checksum:
|
|
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:
|
|
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(
|
|
268
|
-
...checksumBefore.get(
|
|
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
|
|
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,
|
|
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,
|
|
345
|
-
expect(batchAfter.targetOp).toEqual(4n);
|
|
335
|
+
const checksumAfter = await bucketStorage.getChecksums(checkpoint2, [request]);
|
|
346
336
|
expect(dataAfter).toMatchObject([
|
|
347
337
|
{
|
|
348
|
-
|
|
349
|
-
op: 'CLEAR',
|
|
350
|
-
op_id: '4'
|
|
338
|
+
op: 'CLEAR'
|
|
351
339
|
}
|
|
352
340
|
]);
|
|
353
|
-
expect(checksumAfter.get(
|
|
354
|
-
bucket:
|
|
341
|
+
expect(checksumAfter.get(request.bucket)).toEqual({
|
|
342
|
+
bucket: request.bucket,
|
|
355
343
|
count: 1,
|
|
356
|
-
checksum:
|
|
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
|
-
|
|
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,
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
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,
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
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(
|
|
12
|
+
export declare function registerDataStorageCheckpointTests(config: storage.TestStorageConfig): void;
|