@@ -40,7 +40,7 @@ public SqliteBucketStorage(IDBAdapter db, ILogger? logger = null)
4040 this . logger = logger ?? NullLogger . Instance ; ;
4141 hasCompletedSync = false ;
4242 pendingBucketDeletes = true ;
43- tableNames = [ ] ;
43+ tableNames = new HashSet < string > ( ) ;
4444
4545 updateCts = new CancellationTokenSource ( ) ;
4646
@@ -110,8 +110,10 @@ await db.WriteTransaction(async tx =>
110110 int count = 0 ;
111111 foreach ( var b in batch . Buckets )
112112 {
113+ var bucketJson = b . ToJSON ( ) ;
114+ var jsonData = $ "{{\" buckets\" :[{ bucketJson } ]}}";
113115 var result = await tx . Execute ( "INSERT INTO powersync_operations(op, data) VALUES(?, ?)" ,
114- [ "save" , JsonConvert . SerializeObject ( new { buckets = new [ ] { JsonConvert . DeserializeObject ( b . ToJSON ( ) ) } } ) ] ) ;
116+ [ "save" , jsonData ] ) ;
115117 logger . LogDebug ( "saveSyncData {message}" , JsonConvert . SerializeObject ( result ) ) ;
116118 count += b . Data . Length ;
117119 }
@@ -156,7 +158,7 @@ public async Task<SyncLocalDatabaseResult> SyncLocalDatabase(Checkpoint checkpoi
156158 if ( ! validation . CheckpointValid )
157159 {
158160 logger . LogError ( "Checksums failed for {failures}" , JsonConvert . SerializeObject ( validation . CheckpointFailures ) ) ;
159- foreach ( var failedBucket in validation . CheckpointFailures ?? [ ] )
161+ foreach ( var failedBucket in validation . CheckpointFailures ?? new string [ 0 ] )
160162 {
161163 await DeleteBucket ( failedBucket ) ;
162164 }
@@ -249,7 +251,7 @@ public async Task<SyncLocalDatabaseResult> ValidateChecksums(
249251 {
250252 CheckpointValid = false ,
251253 Ready = false ,
252- CheckpointFailures = resultDetail ? . FailedBuckets ? . ToArray ( ) ?? [ ]
254+ CheckpointFailures = resultDetail ? . FailedBuckets ? . ToArray ( ) ?? new string [ 0 ]
253255 } ;
254256 }
255257 }
0 commit comments