diff --git a/crates/core/src/view_admin.rs b/crates/core/src/view_admin.rs index b767ed9..040108b 100644 --- a/crates/core/src/view_admin.rs +++ b/crates/core/src/view_admin.rs @@ -159,6 +159,7 @@ fn powersync_clear_impl( local_db.exec_safe("DELETE FROM ps_oplog; DELETE FROM ps_buckets")?; } else { local_db.exec_safe("UPDATE ps_buckets SET last_applied_op = 0")?; + local_db.exec_safe("DELETE FROM ps_buckets WHERE name = '$local'")?; } // language=SQLite diff --git a/dart/test/sync_test.dart b/dart/test/sync_test.dart index 9fa9267..b847749 100644 --- a/dart/test/sync_test.dart +++ b/dart/test/sync_test.dart @@ -376,12 +376,16 @@ void _syncTests({ pushSyncData('a', '1', 'row-0', 'PUT', {'col': 'hi'}); pushCheckpointComplete(); - expect(db.select('SELECT * FROM items'), hasLength(1)); + db.execute( + 'insert into items (id, col) values (uuid(), ?)', ['local item']); + expect(db.select('SELECT * FROM items'), hasLength(2)); // Soft clear db.execute('SELECT powersync_clear(2)'); db.select('select powersync_replace_schema(?)', [json.encode(testSchema)]); expect(db.select('SELECT * FROM items'), hasLength(0)); + expect( + db.select(r"SELECT * FROM ps_buckets WHERE name = '$local'"), isEmpty); final request = invokeControl('start', null); expect(