Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2b024ff
Introduce getBucketParameterQuerier().
rkistner Feb 5, 2025
0124b29
Extract BucketStorage interfaces into separate source files.
rkistner Feb 10, 2025
5df24a0
Add initial test for BucketChecksumState.
rkistner Feb 10, 2025
fdd0b84
Move BucketChecksumState to a separate file.
rkistner Feb 11, 2025
f60c705
Fix sending data after a partial checkpoint.
rkistner Feb 11, 2025
912fd9e
Expand comments.
rkistner Feb 12, 2025
6258202
Filter checkpoints according to modified buckets.
rkistner Feb 12, 2025
c65dbd0
Track bucket parameter changes.
rkistner Feb 12, 2025
6af9389
Redo checkpoint change tracking.
rkistner Feb 12, 2025
dde29e3
Revert changestream changes.
rkistner Feb 12, 2025
ca2f83a
Fixes.
rkistner Feb 12, 2025
68fe248
Revert incremental change lookup.
rkistner Feb 12, 2025
c71df58
Fix storage cache, fixing a major performance regression.
rkistner Feb 13, 2025
b57fb63
Add concurrent connection testing to test-client.
rkistner Feb 17, 2025
5e7c523
Merge branch 'feat/bucket-priorities' into optimize-bucket-lookups
rkistner Feb 17, 2025
409b57d
Fix lockfile.
rkistner Feb 17, 2025
436eee6
Add changeset.
rkistner Feb 17, 2025
a2f5c4e
Fix tests.
rkistner Feb 17, 2025
e8892c3
Fix test for interrupting checkpoints.
rkistner Feb 17, 2025
b5038d6
Fix unhandled AbortErrors.
rkistner Feb 17, 2025
9707f9d
Improve concurrent-connections script.
rkistner Feb 17, 2025
9d4b166
Fix cache in postgres storage.
rkistner Feb 18, 2025
b08a8de
Remove DisposableObserver.
rkistner Feb 18, 2025
6c034a6
Merge remote-tracking branch 'origin/feat/bucket-priorities' into opt…
rkistner Feb 18, 2025
ff8c3ce
Post-merge conflict fixes.
rkistner Feb 18, 2025
0b3d7a3
Expand test.
rkistner Feb 18, 2025
bc5326c
Merge branch 'main' into optimize-bucket-lookups
rkistner Feb 18, 2025
ea0c570
Merge branch 'main' into optimize-bucket-lookups
rkistner Feb 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .changeset/chilled-mirrors-marry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
'@powersync/service-module-postgres-storage': minor
'@powersync/service-module-mongodb-storage': minor
'@powersync/service-core-tests': minor
'@powersync/service-module-postgres': minor
'@powersync/service-module-mongodb': minor
'@powersync/service-core': minor
'@powersync/service-module-mysql': minor
'@powersync/service-sync-rules': minor
'@powersync/service-errors': patch
---

Minor optimizations to new checkpoint calulations.
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ export type DecodedSQLQueryExecutor<T extends t.Codec<any, any>> = {
rows: () => Promise<t.Decoded<T>[]>;
};

export abstract class AbstractPostgresConnection<
Listener extends framework.DisposableListener = framework.DisposableListener
> extends framework.DisposableObserver<Listener> {
export abstract class AbstractPostgresConnection<Listener = {}> extends framework.BaseObserver<Listener> {
protected abstract baseConnection: pgwire.PgClient;

stream(...args: pgwire.Statement[]): AsyncIterableIterator<pgwire.PgChunk> {
Expand Down
6 changes: 3 additions & 3 deletions libs/lib-postgres/src/db/connection/ConnectionSlot.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as framework from '@powersync/lib-services-framework';
import * as pgwire from '@powersync/service-jpgwire';

export interface NotificationListener extends framework.DisposableListener {
export interface NotificationListener {
notification?: (payload: pgwire.PgNotification) => void;
}

Expand All @@ -23,7 +23,7 @@ export type ConnectionSlotOptions = {

export const MAX_CONNECTION_ATTEMPTS = 5;

export class ConnectionSlot extends framework.DisposableObserver<ConnectionSlotListener> {
export class ConnectionSlot extends framework.BaseObserver<ConnectionSlotListener> {
isAvailable: boolean;
isPoking: boolean;

Expand Down Expand Up @@ -63,7 +63,7 @@ export class ConnectionSlot extends framework.DisposableObserver<ConnectionSlotL
this.closed = true;
const connection = this.connection ?? (await this.connectingPromise);
await connection?.end();
return super[Symbol.dispose]();
super.clearListeners();
}

protected async configureConnectionNotifications(connection: pgwire.PgConnection) {
Expand Down
4 changes: 4 additions & 0 deletions libs/lib-services/src/utils/BaseObserver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ export class BaseObserver<T> implements ObserverClient<T> {
await cb(this.listeners[i]);
}
}

clearListeners() {
this.listeners = {};
}
}
42 changes: 0 additions & 42 deletions libs/lib-services/src/utils/DisposableObserver.ts

This file was deleted.

1 change: 0 additions & 1 deletion libs/lib-services/src/utils/utils-index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
export * from './BaseObserver.js';
export * from './DisposableObserver.js';
export * from './environment-variables.js';
58 changes: 0 additions & 58 deletions libs/lib-services/test/src/DisposeableObserver.test.ts

This file was deleted.

Loading
Loading