Skip to content

Commit cde73d9

Browse files
authored
Fix watch query table names (#123)
* Fix watch query table names * Add to changelog * Fix check for null or empty triggerOnTables * Upgrade sqlite_async version for attachments helper
1 parent 9e1e376 commit cde73d9

File tree

13 files changed

+124
-26
lines changed

13 files changed

+124
-26
lines changed

demos/django-todolist/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dependencies:
1414
path_provider: ^2.1.1
1515
path: ^1.8.3
1616
logging: ^1.2.0
17-
sqlite_async: ^0.7.0
17+
sqlite_async: ^0.8.1
1818
http: ^1.2.1
1919
shared_preferences: ^2.2.3
2020

demos/supabase-anonymous-auth/pubspec.lock

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,14 @@ packages:
232232
url: "https://pub.dev"
233233
source: hosted
234234
version: "1.0.5"
235+
mutex:
236+
dependency: transitive
237+
description:
238+
name: mutex
239+
sha256: "8827da25de792088eb33e572115a5eb0d61d61a3c01acbc8bcbe76ed78f1a1f2"
240+
url: "https://pub.dev"
241+
source: hosted
242+
version: "3.1.0"
235243
path:
236244
dependency: "direct main"
237245
description:
@@ -318,7 +326,7 @@ packages:
318326
path: "../../packages/powersync"
319327
relative: true
320328
source: path
321-
version: "1.5.3"
329+
version: "1.5.4"
322330
powersync_flutter_libs:
323331
dependency: "direct overridden"
324332
description:
@@ -443,14 +451,22 @@ packages:
443451
url: "https://pub.dev"
444452
source: hosted
445453
version: "0.5.24"
454+
sqlite3_web:
455+
dependency: transitive
456+
description:
457+
name: sqlite3_web
458+
sha256: "51fec34757577841cc72d79086067e3651c434669d5af557a5c106787198a76f"
459+
url: "https://pub.dev"
460+
source: hosted
461+
version: "0.1.2-wip"
446462
sqlite_async:
447463
dependency: "direct main"
448464
description:
449465
name: sqlite_async
450-
sha256: "7c121bd76b9063cd8189ce54512f243709c88addeced0f3d027eea5db64d3220"
466+
sha256: "79e636c857ed43f6cd5e5be72b36967a29f785daa63ff5b078bd34f74f44cb54"
451467
url: "https://pub.dev"
452468
source: hosted
453-
version: "0.7.0"
469+
version: "0.8.1"
454470
stack_trace:
455471
dependency: transitive
456472
description:
@@ -615,10 +631,10 @@ packages:
615631
dependency: transitive
616632
description:
617633
name: web
618-
sha256: "1d9158c616048c38f712a6646e317a3426da10e884447626167240d45209cbad"
634+
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
619635
url: "https://pub.dev"
620636
source: hosted
621-
version: "0.5.0"
637+
version: "0.5.1"
622638
web_socket_channel:
623639
dependency: transitive
624640
description:

demos/supabase-anonymous-auth/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies:
1616
supabase_flutter: ^2.0.2
1717
path: ^1.8.3
1818
logging: ^1.2.0
19-
sqlite_async: ^0.7.0
19+
sqlite_async: ^0.8.1
2020

2121
dev_dependencies:
2222
flutter_test:

demos/supabase-edge-function-auth/pubspec.lock

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,14 @@ packages:
232232
url: "https://pub.dev"
233233
source: hosted
234234
version: "1.0.5"
235+
mutex:
236+
dependency: transitive
237+
description:
238+
name: mutex
239+
sha256: "8827da25de792088eb33e572115a5eb0d61d61a3c01acbc8bcbe76ed78f1a1f2"
240+
url: "https://pub.dev"
241+
source: hosted
242+
version: "3.1.0"
235243
path:
236244
dependency: "direct main"
237245
description:
@@ -318,7 +326,7 @@ packages:
318326
path: "../../packages/powersync"
319327
relative: true
320328
source: path
321-
version: "1.5.3"
329+
version: "1.5.4"
322330
powersync_flutter_libs:
323331
dependency: "direct overridden"
324332
description:
@@ -443,14 +451,22 @@ packages:
443451
url: "https://pub.dev"
444452
source: hosted
445453
version: "0.5.24"
454+
sqlite3_web:
455+
dependency: transitive
456+
description:
457+
name: sqlite3_web
458+
sha256: "51fec34757577841cc72d79086067e3651c434669d5af557a5c106787198a76f"
459+
url: "https://pub.dev"
460+
source: hosted
461+
version: "0.1.2-wip"
446462
sqlite_async:
447463
dependency: "direct main"
448464
description:
449465
name: sqlite_async
450-
sha256: "7c121bd76b9063cd8189ce54512f243709c88addeced0f3d027eea5db64d3220"
466+
sha256: "79e636c857ed43f6cd5e5be72b36967a29f785daa63ff5b078bd34f74f44cb54"
451467
url: "https://pub.dev"
452468
source: hosted
453-
version: "0.7.0"
469+
version: "0.8.1"
454470
stack_trace:
455471
dependency: transitive
456472
description:
@@ -615,10 +631,10 @@ packages:
615631
dependency: transitive
616632
description:
617633
name: web
618-
sha256: "1d9158c616048c38f712a6646e317a3426da10e884447626167240d45209cbad"
634+
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
619635
url: "https://pub.dev"
620636
source: hosted
621-
version: "0.5.0"
637+
version: "0.5.1"
622638
web_socket_channel:
623639
dependency: transitive
624640
description:

demos/supabase-edge-function-auth/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies:
1616
supabase_flutter: ^2.0.2
1717
path: ^1.8.3
1818
logging: ^1.2.0
19-
sqlite_async: ^0.7.0
19+
sqlite_async: ^0.8.1
2020

2121
dev_dependencies:
2222
flutter_test:

demos/supabase-simple-chat/pubspec.lock

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@ packages:
272272
url: "https://pub.dev"
273273
source: hosted
274274
version: "1.0.5"
275+
mutex:
276+
dependency: transitive
277+
description:
278+
name: mutex
279+
sha256: "8827da25de792088eb33e572115a5eb0d61d61a3c01acbc8bcbe76ed78f1a1f2"
280+
url: "https://pub.dev"
281+
source: hosted
282+
version: "3.1.0"
275283
path:
276284
dependency: "direct main"
277285
description:
@@ -358,7 +366,7 @@ packages:
358366
path: "../../packages/powersync"
359367
relative: true
360368
source: path
361-
version: "1.5.3"
369+
version: "1.5.4"
362370
powersync_flutter_libs:
363371
dependency: "direct overridden"
364372
description:
@@ -507,14 +515,22 @@ packages:
507515
url: "https://pub.dev"
508516
source: hosted
509517
version: "0.5.24"
518+
sqlite3_web:
519+
dependency: transitive
520+
description:
521+
name: sqlite3_web
522+
sha256: "51fec34757577841cc72d79086067e3651c434669d5af557a5c106787198a76f"
523+
url: "https://pub.dev"
524+
source: hosted
525+
version: "0.1.2-wip"
510526
sqlite_async:
511527
dependency: transitive
512528
description:
513529
name: sqlite_async
514-
sha256: "7c121bd76b9063cd8189ce54512f243709c88addeced0f3d027eea5db64d3220"
530+
sha256: "79e636c857ed43f6cd5e5be72b36967a29f785daa63ff5b078bd34f74f44cb54"
515531
url: "https://pub.dev"
516532
source: hosted
517-
version: "0.7.0"
533+
version: "0.8.1"
518534
stack_trace:
519535
dependency: transitive
520536
description:
@@ -687,10 +703,10 @@ packages:
687703
dependency: transitive
688704
description:
689705
name: web
690-
sha256: "1d9158c616048c38f712a6646e317a3426da10e884447626167240d45209cbad"
706+
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
691707
url: "https://pub.dev"
692708
source: hosted
693-
version: "0.5.0"
709+
version: "0.5.1"
694710
web_socket_channel:
695711
dependency: transitive
696712
description:

demos/supabase-todolist/pubspec.lock

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,14 @@ packages:
304304
url: "https://pub.dev"
305305
source: hosted
306306
version: "1.0.5"
307+
mutex:
308+
dependency: transitive
309+
description:
310+
name: mutex
311+
sha256: "8827da25de792088eb33e572115a5eb0d61d61a3c01acbc8bcbe76ed78f1a1f2"
312+
url: "https://pub.dev"
313+
source: hosted
314+
version: "3.1.0"
307315
path:
308316
dependency: "direct main"
309317
description:
@@ -398,7 +406,7 @@ packages:
398406
path: "../../packages/powersync"
399407
relative: true
400408
source: path
401-
version: "1.5.3"
409+
version: "1.5.4"
402410
powersync_attachments_helper:
403411
dependency: "direct main"
404412
description:
@@ -530,14 +538,22 @@ packages:
530538
url: "https://pub.dev"
531539
source: hosted
532540
version: "0.5.24"
541+
sqlite3_web:
542+
dependency: transitive
543+
description:
544+
name: sqlite3_web
545+
sha256: "51fec34757577841cc72d79086067e3651c434669d5af557a5c106787198a76f"
546+
url: "https://pub.dev"
547+
source: hosted
548+
version: "0.1.2-wip"
533549
sqlite_async:
534550
dependency: "direct main"
535551
description:
536552
name: sqlite_async
537-
sha256: "7c121bd76b9063cd8189ce54512f243709c88addeced0f3d027eea5db64d3220"
553+
sha256: "79e636c857ed43f6cd5e5be72b36967a29f785daa63ff5b078bd34f74f44cb54"
538554
url: "https://pub.dev"
539555
source: hosted
540-
version: "0.7.0"
556+
version: "0.8.1"
541557
stack_trace:
542558
dependency: transitive
543559
description:

demos/supabase-todolist/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies:
1616
supabase_flutter: ^2.0.1
1717
path: ^1.8.3
1818
logging: ^1.2.0
19-
sqlite_async: ^0.7.0
19+
sqlite_async: ^0.8.1
2020
camera: ^0.10.5+7
2121
image: ^4.1.3
2222

packages/powersync/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.5.4
2+
3+
- Fix watch query parameter `triggerOnTables` to prepend powersync view names.
4+
- Upgrade dependency `sqlite_async` to version 0.8.1.
5+
16
## 1.5.3
27

38
- Added support for client parameters when connecting.

packages/powersync/lib/src/powersync_database.dart

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,10 +560,35 @@ class PowerSyncDatabase with SqliteQueries implements SqliteConnection {
560560
debugContext: debugContext, lockTimeout: lockTimeout);
561561
}
562562

563+
@override
564+
Stream<ResultSet> watch(String sql,
565+
{List<Object?> parameters = const [],
566+
Duration throttle = const Duration(milliseconds: 30),
567+
Iterable<String>? triggerOnTables}) {
568+
if (triggerOnTables == null || triggerOnTables.isEmpty) {
569+
return super.watch(sql, parameters: parameters, throttle: throttle);
570+
}
571+
List<String> powersyncTables = [];
572+
for (String tableName in triggerOnTables) {
573+
powersyncTables.add(tableName);
574+
powersyncTables.add(_prefixTableNames(tableName, 'ps_data__'));
575+
powersyncTables.add(_prefixTableNames(tableName, 'ps_data_local__'));
576+
}
577+
return super.watch(sql,
578+
parameters: parameters,
579+
throttle: throttle,
580+
triggerOnTables: powersyncTables);
581+
}
582+
563583
@override
564584
Future<bool> getAutoCommit() {
565585
return database.getAutoCommit();
566586
}
587+
588+
String _prefixTableNames(String tableName, String prefix) {
589+
String prefixedString = tableName.replaceRange(0, 0, prefix);
590+
return prefixedString;
591+
}
567592
}
568593

569594
class _PowerSyncDatabaseIsolateArgs {

packages/powersync/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: powersync
2-
version: 1.5.3
2+
version: 1.5.4
33
homepage: https://powersync.com
44
repository: https://github.com/powersync-ja/powersync.dart
55
description: PowerSync Flutter SDK - keep PostgreSQL databases in sync with on-device SQLite databases.
@@ -10,7 +10,7 @@ dependencies:
1010
flutter:
1111
sdk: flutter
1212

13-
sqlite_async: ^0.7.0
13+
sqlite_async: ^0.8.1
1414
sqlite3_flutter_libs: ^0.5.23
1515
powersync_flutter_libs: ^0.1.0
1616
http: ^1.1.0

packages/powersync_attachments_helper/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.5.1
2+
3+
- Upgrade `sqlite_async` to version 0.8.1.
4+
15
## 0.5.0
26

37
- Upgrade minimum Dart SDK constraint to `3.4.0`.

packages/powersync_attachments_helper/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: powersync_attachments_helper
22
description: A helper library for handling attachments when using PowerSync.
3-
version: 0.5.0
3+
version: 0.5.1
44
repository: https://github.com/powersync-ja/powersync.dart
55
homepage: https://www.powersync.com/
66
environment:
@@ -12,7 +12,7 @@ dependencies:
1212

1313
powersync: ^1.5.0
1414
logging: ^1.2.0
15-
sqlite_async: ^0.7.0
15+
sqlite_async: ^0.8.1
1616
path_provider: ^2.0.13
1717

1818
dev_dependencies:

0 commit comments

Comments
 (0)