@@ -5,7 +5,7 @@ use serde::Serialize;
55use  sqlite_nostd:: { self  as  sqlite,  Connection ,  ManagedStmt ,  ResultCode } ; 
66
77use  crate :: { 
8-     error:: PowerSyncError , 
8+     error:: { PSResult ,   PowerSyncError } , 
99    ext:: SafeManagedStmt , 
1010    operations:: delete_bucket, 
1111    schema:: Schema , 
@@ -31,10 +31,11 @@ pub struct StorageAdapter {
3131} 
3232
3333impl  StorageAdapter  { 
34-     pub  fn  new ( db :  * mut  sqlite:: sqlite3 )  -> Result < Self ,  ResultCode >  { 
34+     pub  fn  new ( db :  * mut  sqlite:: sqlite3 )  -> Result < Self ,  PowerSyncError >  { 
3535        // language=SQLite 
36-         let  progress =
37-             db. prepare_v2 ( "SELECT name, count_at_last, count_since_last FROM ps_buckets" ) ?; 
36+         let  progress = db
37+             . prepare_v2 ( "SELECT name, count_at_last, count_since_last FROM ps_buckets" ) 
38+             . into_db_result ( db) ?; 
3839
3940        // language=SQLite 
4041        let  time = db. prepare_v2 ( "SELECT unixepoch()" ) ?; 
@@ -46,11 +47,11 @@ impl StorageAdapter {
4647        } ) 
4748    } 
4849
49-     pub  fn  collect_bucket_requests ( & self )  -> Result < Vec < BucketRequest > ,  ResultCode >  { 
50+     pub  fn  collect_bucket_requests ( & self )  -> Result < Vec < BucketRequest > ,  PowerSyncError >  { 
5051        // language=SQLite 
5152        let  statement = self . db . prepare_v2 ( 
5253            "SELECT name, last_op FROM ps_buckets WHERE pending_delete = 0 AND name != '$local'" , 
53-         ) ?; 
54+         ) . into_db_result ( self . db ) ?; 
5455
5556        let  mut  requests = Vec :: < BucketRequest > :: new ( ) ; 
5657
@@ -97,23 +98,27 @@ impl StorageAdapter {
9798        } 
9899    } 
99100
100-     pub  fn  reset_progress ( & self )  -> Result < ( ) ,  ResultCode >  { 
101+     pub  fn  reset_progress ( & self )  -> Result < ( ) ,  PowerSyncError >  { 
101102        self . db 
102-             . exec_safe ( "UPDATE ps_buckets SET count_since_last = 0, count_at_last = 0;" ) ?; 
103+             . exec_safe ( "UPDATE ps_buckets SET count_since_last = 0, count_at_last = 0;" ) 
104+             . into_db_result ( self . db ) ?; 
103105        Ok ( ( ) ) 
104106    } 
105107
106-     pub  fn  lookup_bucket ( & self ,  bucket :  & str )  -> Result < BucketInfo ,  ResultCode >  { 
108+     pub  fn  lookup_bucket ( & self ,  bucket :  & str )  -> Result < BucketInfo ,  PowerSyncError >  { 
107109        // We do an ON CONFLICT UPDATE simply so that the RETURNING bit works for existing rows. 
108110        // We can consider splitting this into separate SELECT and INSERT statements. 
109111        // language=SQLite 
110-         let  bucket_statement = self . db . prepare_v2 ( 
111-             "INSERT INTO ps_buckets(name) 
112+         let  bucket_statement = self 
113+             . db 
114+             . prepare_v2 ( 
115+                 "INSERT INTO ps_buckets(name) 
112116                            VALUES(?) 
113117                        ON CONFLICT DO UPDATE 
114118                            SET last_applied_op = last_applied_op 
115119                        RETURNING id, last_applied_op" , 
116-         ) ?; 
120+             ) 
121+             . into_db_result ( self . db ) ?; 
117122        bucket_statement. bind_text ( 1 ,  bucket,  sqlite:: Destructor :: STATIC ) ?; 
118123        let  res = bucket_statement. step ( ) ?; 
119124        debug_assert_matches ! ( res,  ResultCode :: ROW ) ; 
@@ -147,7 +152,8 @@ impl StorageAdapter {
147152
148153        let  update_bucket = self 
149154            . db 
150-             . prepare_v2 ( "UPDATE ps_buckets SET last_op = ? WHERE name = ?" ) ?; 
155+             . prepare_v2 ( "UPDATE ps_buckets SET last_op = ? WHERE name = ?" ) 
156+             . into_db_result ( self . db ) ?; 
151157
152158        for  bucket in  checkpoint. buckets . values ( )  { 
153159            if  bucket. is_in_priority ( priority)  { 
@@ -214,7 +220,7 @@ impl StorageAdapter {
214220                // partial completions. 
215221                let  update = self . db . prepare_v2 ( 
216222                    "UPDATE ps_buckets SET count_since_last = 0, count_at_last = ? WHERE name = ?" , 
217-                 ) ?; 
223+                 ) . into_db_result ( self . db ) ?; 
218224
219225                for  bucket in  checkpoint. buckets . values ( )  { 
220226                    if  let  Some ( count)  = bucket. count  { 
0 commit comments