Skip to content

Commit ca458d3

Browse files
added changeset. use latest packages
1 parent 1128df9 commit ca458d3

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@journeyapps/powersync-sdk-react-native': patch
3+
'@journeyapps/powersync-sdk-common': patch
4+
---
5+
6+
Updated logic to correspond with React Native Quick SQLite concurrent transactions. Added helper methods on transaction contexts.

packages/powersync-sdk-common/src/client/AbstractPowerSyncDatabase.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ export const DEFAULT_POWERSYNC_DB_OPTIONS = {
4646
logger: Logger.get('PowerSyncDatabase')
4747
};
4848

49+
/**
50+
* Requesting nested or recursive locks can block the application in some circumstances.
51+
* This default lock timeout will act as a failsafe to throw an error if a lock cannot
52+
* be obtained.
53+
*/
54+
export const DEFAULT_LOCK_TIMEOUT_MS = 120_000; // 2 mins
55+
4956
export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDBListener> {
5057
/**
5158
* Transactions should be queued in the DBAdapter, but we also want to prevent
@@ -353,7 +360,10 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
353360
});
354361
}
355362

356-
async readTransaction<T>(callback: (tx: Transaction) => Promise<T>, lockTimeout?: number): Promise<T> {
363+
async readTransaction<T>(
364+
callback: (tx: Transaction) => Promise<T>,
365+
lockTimeout: number = DEFAULT_LOCK_TIMEOUT_MS
366+
): Promise<T> {
357367
await this.initialized;
358368
return this.database.readTransaction(
359369
async (tx) => {
@@ -365,7 +375,10 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
365375
);
366376
}
367377

368-
async writeTransaction<T>(callback: (tx: Transaction) => Promise<T>, lockTimeout?: number): Promise<T> {
378+
async writeTransaction<T>(
379+
callback: (tx: Transaction) => Promise<T>,
380+
lockTimeout: number = DEFAULT_LOCK_TIMEOUT_MS
381+
): Promise<T> {
369382
await this.initialized;
370383
return this.database.writeTransaction(
371384
async (tx) => {

packages/powersync-sdk-react-native/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
},
2525
"homepage": "https://docs.powersync.co/",
2626
"peerDependencies": {
27-
"@journeyapps/react-native-quick-sqlite": "0.0.0-dev-20231023173642",
27+
"@journeyapps/react-native-quick-sqlite": "0.0.0-dev-20231024112335",
2828
"base-64": "^1.0.0",
2929
"react": "*",
3030
"react-native-fetch-api": "^3.0.0",
@@ -40,7 +40,7 @@
4040
"async-lock": "^1.4.0"
4141
},
4242
"devDependencies": {
43-
"@journeyapps/react-native-quick-sqlite": "0.0.0-dev-20231023173642",
43+
"@journeyapps/react-native-quick-sqlite": "0.0.0-dev-20231024112335",
4444
"@types/async-lock": "^1.4.0",
4545
"react": "18.2.0",
4646
"typescript": "^4.1.3"

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2134,10 +2134,10 @@
21342134
"@types/yargs" "^17.0.8"
21352135
chalk "^4.0.0"
21362136

2137-
"@journeyapps/react-native-quick-sqlite@0.0.0-dev-20231023173642":
2138-
version "0.0.0-dev-20231023173642"
2139-
resolved "https://registry.npmjs.org/@journeyapps/react-native-quick-sqlite/-/react-native-quick-sqlite-0.0.0-dev-20231023173642.tgz#00cfd6aec9674519ffbbc06245e7ce4ce42a0bcb"
2140-
integrity sha512-Na4XDi2u5AUZw+/mflV6LLIHJJvfvJxp5uYMDZtG+4WZ4dw0NDq+sZk+U26T/IU9xgdDWlcmwVKku9dDHLt7eg==
2137+
"@journeyapps/react-native-quick-sqlite@0.0.0-dev-20231024112335":
2138+
version "0.0.0-dev-20231024112335"
2139+
resolved "https://registry.npmjs.org/@journeyapps/react-native-quick-sqlite/-/react-native-quick-sqlite-0.0.0-dev-20231024112335.tgz#a386b718baef17cb1d51eebaa0487cc5cf19a864"
2140+
integrity sha512-Jpn+OSQ39xyJ6rnw06XPPHo1YrnCDOrZPaYGvVUEvUgjcMFYfmJ5YH0StM+/KnUcatKxksXYWyPiBqWO/Gg+hA==
21412141
dependencies:
21422142
lodash "^4.17.21"
21432143

0 commit comments

Comments
 (0)