@@ -41,15 +41,13 @@ fn did_cid_win(
4141 let col_vrsn_stmt_ref = tbl_info. get_col_version_stmt ( db) ?;
4242 let col_vrsn_stmt = col_vrsn_stmt_ref. as_ref ( ) . ok_or ( ResultCode :: ERROR ) ?;
4343
44- let bind_result = col_vrsn_stmt. bind_int64 ( 1 , key) ;
44+ let bind_result = col_vrsn_stmt
45+ . bind_int64 ( 1 , key)
46+ . and_then ( |_| col_vrsn_stmt. bind_text ( 2 , col_name, sqlite:: Destructor :: STATIC ) ) ;
4547 if let Err ( rc) = bind_result {
4648 reset_cached_stmt ( col_vrsn_stmt. stmt ) ?;
4749 return Err ( rc) ;
4850 }
49- if let Err ( rc) = col_vrsn_stmt. bind_text ( 2 , col_name, sqlite:: Destructor :: STATIC ) {
50- reset_cached_stmt ( col_vrsn_stmt. stmt ) ?;
51- return Err ( rc) ;
52- }
5351
5452 match col_vrsn_stmt. step ( ) {
5553 Ok ( ResultCode :: ROW ) => {
@@ -98,16 +96,13 @@ fn did_cid_win(
9896 let col_site_id_stmt_ref = tbl_info. get_col_site_id_stmt ( db) ?;
9997 let col_site_id_stmt = col_site_id_stmt_ref. as_ref ( ) . ok_or ( ResultCode :: ERROR ) ?;
10098
101- let bind_result = col_site_id_stmt. bind_int64 ( 1 , key) ;
99+ let bind_result = col_site_id_stmt. bind_int64 ( 1 , key) . and_then ( |_| {
100+ col_site_id_stmt. bind_text ( 2 , col_name, sqlite:: Destructor :: STATIC )
101+ } ) ;
102102 if let Err ( rc) = bind_result {
103103 reset_cached_stmt ( col_site_id_stmt. stmt ) ?;
104104 return Err ( rc) ;
105105 }
106- if let Err ( rc) = col_site_id_stmt. bind_text ( 2 , col_name, sqlite:: Destructor :: STATIC )
107- {
108- reset_cached_stmt ( col_site_id_stmt. stmt ) ?;
109- return Err ( rc) ;
110- }
111106
112107 match col_site_id_stmt. step ( ) {
113108 Ok ( ResultCode :: ROW ) => {
@@ -233,13 +228,9 @@ fn set_winner_clock(
233228 let set_stmt_ref = tbl_info. get_set_winner_clock_stmt ( db) ?;
234229 let set_stmt = set_stmt_ref. as_ref ( ) . ok_or ( ResultCode :: ERROR ) ?;
235230
236- let bind_result = set_stmt. bind_int64 ( 1 , key) ;
237- if let Err ( rc) = bind_result {
238- reset_cached_stmt ( set_stmt. stmt ) ?;
239- return Err ( rc) ;
240- }
241231 let bind_result = set_stmt
242- . bind_text ( 2 , insert_col_name, sqlite:: Destructor :: STATIC )
232+ . bind_int64 ( 1 , key)
233+ . and_then ( |_| set_stmt. bind_text ( 2 , insert_col_name, sqlite:: Destructor :: STATIC ) )
243234 . and_then ( |_| set_stmt. bind_int64 ( 3 , insert_col_vrsn) )
244235 . and_then ( |_| set_stmt. bind_int64 ( 4 , insert_db_vrsn) )
245236 . and_then ( |_| set_stmt. bind_int64 ( 5 , insert_seq) )
@@ -369,9 +360,7 @@ unsafe fn merge_delete(
369360 ( * ext_data) . pSetSyncBitStmt . reset ( ) ?;
370361 reset_cached_stmt ( delete_stmt. stmt ) ?;
371362
372- let sync_rc = ( * ext_data)
373- . pClearSyncBitStmt
374- . step ( ) ;
363+ let sync_rc = ( * ext_data) . pClearSyncBitStmt . step ( ) ;
375364
376365 ( * ext_data) . pClearSyncBitStmt . reset ( ) ?;
377366 if let Err ( sync_rc) = sync_rc {
@@ -428,12 +417,9 @@ fn get_local_cl(
428417 let local_cl_stmt_ref = tbl_info. get_local_cl_stmt ( db) ?;
429418 let local_cl_stmt = local_cl_stmt_ref. as_ref ( ) . ok_or ( ResultCode :: ERROR ) ?;
430419
431- let rc = local_cl_stmt. bind_int64 ( 1 , key) ;
432- if let Err ( rc) = rc {
433- reset_cached_stmt ( local_cl_stmt. stmt ) ?;
434- return Err ( rc) ;
435- }
436- let rc = local_cl_stmt. bind_int64 ( 2 , key) ;
420+ let rc = local_cl_stmt
421+ . bind_int64 ( 1 , key)
422+ . and_then ( |_| local_cl_stmt. bind_int64 ( 2 , key) ) ;
437423 if let Err ( rc) = rc {
438424 reset_cached_stmt ( local_cl_stmt. stmt ) ?;
439425 return Err ( rc) ;
0 commit comments