@powersync/common 0.0.0-dev-20260311080613 → 0.0.0-dev-20260311081226
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/dist/bundle.cjs +17 -6
- package/dist/bundle.cjs.map +1 -1
- package/dist/bundle.mjs +17 -6
- package/dist/bundle.mjs.map +1 -1
- package/dist/bundle.node.cjs +17 -6
- package/dist/bundle.node.cjs.map +1 -1
- package/dist/bundle.node.mjs +17 -6
- package/dist/bundle.node.mjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/lib/client/triggers/TriggerManager.d.ts +2 -1
- package/lib/client/triggers/TriggerManagerImpl.d.ts +1 -1
- package/lib/client/triggers/TriggerManagerImpl.js +17 -6
- package/lib/client/triggers/TriggerManagerImpl.js.map +1 -1
- package/package.json +1 -1
- package/src/client/triggers/TriggerManager.ts +3 -2
- package/src/client/triggers/TriggerManagerImpl.ts +15 -5
package/dist/bundle.mjs
CHANGED
|
@@ -12488,7 +12488,7 @@ class TriggerManagerImpl {
|
|
|
12488
12488
|
}
|
|
12489
12489
|
async createDiffTrigger(options) {
|
|
12490
12490
|
await this.db.waitForReady();
|
|
12491
|
-
const { source, destination, columns, when, hooks,
|
|
12491
|
+
const { source, destination, columns, when, hooks, setupContext,
|
|
12492
12492
|
// Fall back to the provided default if not given on this level
|
|
12493
12493
|
useStorage = this.defaultConfig.useStorageByDefault } = options;
|
|
12494
12494
|
const operations = Object.keys(when);
|
|
@@ -12543,13 +12543,19 @@ class TriggerManagerImpl {
|
|
|
12543
12543
|
* we need to ensure we can cleanup the created resources.
|
|
12544
12544
|
* We unfortunately cannot rely on transaction rollback.
|
|
12545
12545
|
*/
|
|
12546
|
-
const cleanup = async () => {
|
|
12546
|
+
const cleanup = async (context) => {
|
|
12547
12547
|
disposeWarningListener();
|
|
12548
|
-
|
|
12548
|
+
const doCleanup = async (tx) => {
|
|
12549
12549
|
await this.removeTriggers(tx, triggerIds);
|
|
12550
|
-
await tx.execute(
|
|
12550
|
+
await tx.execute(`DROP TABLE IF EXISTS ${destination};`);
|
|
12551
12551
|
await releaseStorageClaim?.();
|
|
12552
|
-
}
|
|
12552
|
+
};
|
|
12553
|
+
if (context) {
|
|
12554
|
+
await doCleanup(context);
|
|
12555
|
+
}
|
|
12556
|
+
else {
|
|
12557
|
+
await this.db.writeLock(doCleanup);
|
|
12558
|
+
}
|
|
12553
12559
|
};
|
|
12554
12560
|
const setup = async (tx) => {
|
|
12555
12561
|
// Allow user code to execute in this lock context before the trigger is created.
|
|
@@ -12623,7 +12629,12 @@ class TriggerManagerImpl {
|
|
|
12623
12629
|
}
|
|
12624
12630
|
};
|
|
12625
12631
|
try {
|
|
12626
|
-
|
|
12632
|
+
if (setupContext) {
|
|
12633
|
+
await setup(setupContext);
|
|
12634
|
+
}
|
|
12635
|
+
else {
|
|
12636
|
+
await this.db.writeLock(setup);
|
|
12637
|
+
}
|
|
12627
12638
|
return cleanup;
|
|
12628
12639
|
}
|
|
12629
12640
|
catch (error) {
|