@@ -169,7 +169,10 @@ external db_close : db -> bool = "caml_sqlite3_close"
169169
170170external errcode : db -> Rc .t = " caml_sqlite3_errcode"
171171external errmsg : db -> string = " caml_sqlite3_errmsg"
172- external last_insert_rowid : db -> int64 = " caml_sqlite3_last_insert_rowid"
172+
173+ external last_insert_rowid : db -> (int64 [@ unboxed])
174+ = " caml_sqlite3_last_insert_rowid_bc" " caml_sqlite3_last_insert_rowid"
175+ [@@ noalloc]
173176
174177external exec :
175178 db -> ?cb : (string option array -> headers -> unit ) -> string -> Rc .t
@@ -187,40 +190,59 @@ external exec_not_null_no_headers :
187190 db -> cb : (string array -> unit ) -> string -> Rc .t
188191 = " caml_sqlite3_exec_not_null_no_headers"
189192
190- external changes : db -> int = " caml_sqlite3_changes"
193+ external changes : db -> (int [@ untagged])
194+ = " caml_sqlite3_changes_bc" " caml_sqlite3_changes"
191195
192196external prepare : db -> string -> stmt = " caml_sqlite3_prepare"
193197external prepare_tail : stmt -> stmt option = " caml_sqlite3_prepare_tail"
194198external recompile : stmt -> unit = " caml_sqlite3_recompile"
195199
196200external step : stmt -> Rc .t = " caml_sqlite3_step"
197201external reset : stmt -> Rc .t = " caml_sqlite3_stmt_reset"
198- external sleep : int -> int = " caml_sqlite3_sleep"
202+
203+ external sleep : (int [@ untagged]) -> (int [@ untagged])
204+ = " caml_sqlite3_sleep_bc" " caml_sqlite3_sleep"
205+
199206external finalize : stmt -> Rc .t = " caml_sqlite3_stmt_finalize"
200207
201- external data_count : stmt -> int = " caml_sqlite3_data_count"
202- external column_count : stmt -> int = " caml_sqlite3_column_count"
203- external column_blob : stmt -> int -> string option = " caml_sqlite3_column_blob"
204- external column : stmt -> int -> Data .t = " caml_sqlite3_column"
205- external column_name : stmt -> int -> string = " caml_sqlite3_column_name"
208+ external data_count : stmt -> (int [@ untagged])
209+ = " caml_sqlite3_data_count_bc" " caml_sqlite3_data_count"
210+
211+ external column_count : stmt -> (int [@ untagged])
212+ = " caml_sqlite3_column_count_bc" " caml_sqlite3_column_count"
213+
214+ external column_blob :
215+ stmt -> (int [@ untagged]) -> string option
216+ = " caml_sqlite3_column_blob_bc" " caml_sqlite3_column_blob"
217+
218+ external column : stmt -> (int [@ untagged]) -> Data .t
219+ = " caml_sqlite3_column_bc" " caml_sqlite3_column"
220+
221+ external column_name : stmt -> (int [@ untagged]) -> string
222+ = " caml_sqlite3_column_name_bc" " caml_sqlite3_column_name"
206223
207224external column_decltype :
208- stmt -> int -> string option = " caml_sqlite3_column_decltype"
225+ stmt -> (int [@ untagged]) -> string option
226+ = " caml_sqlite3_column_decltype_bc" " caml_sqlite3_column_decltype"
209227
210- external bind : stmt -> int -> Data .t -> Rc .t = " caml_sqlite3_bind"
228+ external bind : stmt -> (int [@ untagged]) -> Data .t -> Rc .t
229+ = " caml_sqlite3_bind_bc" " caml_sqlite3_bind"
211230
212- external bind_parameter_count :
213- stmt -> int = " caml_sqlite3_bind_parameter_count"
231+ external bind_parameter_count : stmt -> ( int [ @ untagged])
232+ = " caml_sqlite3_bind_parameter_count_bc " " caml_sqlite3_bind_parameter_count"
214233
215234external bind_parameter_name :
216- stmt -> int -> string option = " caml_sqlite3_bind_parameter_name"
235+ stmt -> (int [@ untagged]) -> string option
236+ = " caml_sqlite3_bind_parameter_name_bc" " caml_sqlite3_bind_parameter_name"
217237
218238external bind_parameter_index :
219- stmt -> string -> int = " caml_sqlite3_bind_parameter_index"
239+ stmt -> string -> (int [@ untagged])
240+ = " caml_sqlite3_bind_parameter_index_bc" " caml_sqlite3_bind_parameter_index"
220241
221242external clear_bindings : stmt -> Rc .t = " caml_sqlite3_clear_bindings"
222243
223- external busy_timeout : db -> int -> unit = " caml_sqlite3_busy_timeout"
244+ external busy_timeout : db -> (int [@ untagged]) -> unit
245+ = " caml_sqlite3_busy_timeout_bc" " caml_sqlite3_busy_timeout"
224246
225247external enable_load_extension :
226248 db -> bool -> bool = " caml_sqlite3_enable_load_extension"
@@ -234,8 +256,8 @@ let row_decltypes stmt = Array.init (data_count stmt) (column_decltype stmt)
234256(* Function registration *)
235257
236258external create_function :
237- db -> string -> int -> (Data .t array -> Data .t ) -> unit =
238- " caml_sqlite3_create_function"
259+ db -> string -> ( int [ @ untagged]) -> (Data .t array -> Data .t ) -> unit
260+ = " caml_sqlite3_create_function_bc " " caml_sqlite3_create_function"
239261
240262let create_funN db name f = create_function db name (- 1 ) f
241263let create_fun0 db name f = create_function db name 0 (fun _ -> f () )
@@ -251,10 +273,10 @@ external delete_function : db -> string -> unit = "caml_sqlite3_delete_function"
251273
252274module Aggregate = struct
253275 external create_function :
254- db -> string -> int ->
276+ db -> string -> ( int [ @ untagged]) ->
255277 'a -> ('a -> Data .t array -> 'a ) -> ('a -> Data .t ) -> unit =
256278 " caml_sqlite3_create_aggregate_function_bc"
257- " caml_sqlite3_create_aggregate_function_nc "
279+ " caml_sqlite3_create_aggregate_function "
258280
259281 let create_funN db name ~init ~step ~final =
260282 create_function db name (- 1 ) init step final
@@ -281,10 +303,18 @@ module Backup = struct
281303 dst : db -> dst_name : string ->
282304 src : db -> src_name : string -> t = " caml_sqlite3_backup_init"
283305
284- external step : t -> int -> Rc .t = " caml_sqlite3_backup_step"
306+ external step : t -> (int [@ untagged]) -> Rc .t
307+ = " caml_sqlite3_backup_step_bc" " caml_sqlite3_backup_step"
308+
285309 external finish : t -> Rc .t = " caml_sqlite3_backup_finish"
286- external remaining : t -> int = " caml_sqlite3_backup_remaining"
287- external pagecount : t -> int = " caml_sqlite3_backup_pagecount"
310+
311+ external remaining : t -> (int [@ untagged])
312+ = " caml_sqlite3_backup_remaining_bc" " caml_sqlite3_backup_remaining"
313+ [@@ noalloc]
314+
315+ external pagecount : t -> (int [@ untagged])
316+ = " caml_sqlite3_backup_pagecount_bc" " caml_sqlite3_backup_pagecount"
317+ [@@ noalloc]
288318end
289319
290320(* Initialisation *)
0 commit comments