@@ -169,7 +169,10 @@ external db_close : db -> bool = "caml_sqlite3_close"
169
169
170
170
external errcode : db -> Rc .t = " caml_sqlite3_errcode"
171
171
external 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]
173
176
174
177
external exec :
175
178
db -> ?cb : (string option array -> headers -> unit ) -> string -> Rc .t
@@ -187,40 +190,59 @@ external exec_not_null_no_headers :
187
190
db -> cb : (string array -> unit ) -> string -> Rc .t
188
191
= " caml_sqlite3_exec_not_null_no_headers"
189
192
190
- external changes : db -> int = " caml_sqlite3_changes"
193
+ external changes : db -> (int [@ untagged])
194
+ = " caml_sqlite3_changes_bc" " caml_sqlite3_changes"
191
195
192
196
external prepare : db -> string -> stmt = " caml_sqlite3_prepare"
193
197
external prepare_tail : stmt -> stmt option = " caml_sqlite3_prepare_tail"
194
198
external recompile : stmt -> unit = " caml_sqlite3_recompile"
195
199
196
200
external step : stmt -> Rc .t = " caml_sqlite3_step"
197
201
external 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
+
199
206
external finalize : stmt -> Rc .t = " caml_sqlite3_stmt_finalize"
200
207
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"
206
223
207
224
external 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"
209
227
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"
211
230
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"
214
233
215
234
external 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"
217
237
218
238
external 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"
220
241
221
242
external clear_bindings : stmt -> Rc .t = " caml_sqlite3_clear_bindings"
222
243
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"
224
246
225
247
external enable_load_extension :
226
248
db -> bool -> bool = " caml_sqlite3_enable_load_extension"
@@ -234,8 +256,8 @@ let row_decltypes stmt = Array.init (data_count stmt) (column_decltype stmt)
234
256
(* Function registration *)
235
257
236
258
external 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"
239
261
240
262
let create_funN db name f = create_function db name (- 1 ) f
241
263
let 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"
251
273
252
274
module Aggregate = struct
253
275
external create_function :
254
- db -> string -> int ->
276
+ db -> string -> ( int [ @ untagged]) ->
255
277
'a -> ('a -> Data .t array -> 'a ) -> ('a -> Data .t ) -> unit =
256
278
" caml_sqlite3_create_aggregate_function_bc"
257
- " caml_sqlite3_create_aggregate_function_nc "
279
+ " caml_sqlite3_create_aggregate_function "
258
280
259
281
let create_funN db name ~init ~step ~final =
260
282
create_function db name (- 1 ) init step final
@@ -281,10 +303,18 @@ module Backup = struct
281
303
dst : db -> dst_name : string ->
282
304
src : db -> src_name : string -> t = " caml_sqlite3_backup_init"
283
305
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
+
285
309
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]
288
318
end
289
319
290
320
(* Initialisation *)
0 commit comments