From 7d6d899f273ffe252c7381e2162a1bbc611cddc5 Mon Sep 17 00:00:00 2001 From: polwex Date: Mon, 23 Jun 2025 06:52:20 +0700 Subject: damn right --- litedb/query.ml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'litedb/query.ml') diff --git a/litedb/query.ml b/litedb/query.ml index 61616b4..37530db 100644 --- a/litedb/query.ml +++ b/litedb/query.ml @@ -103,3 +103,19 @@ let sqlite_pragmas = [ "PRAGMA synchronous = NORMAL"; "PRAGMA mmap_size = 30000000000"; ] + +(* Example of how to execute raw SQL with Caqti *) +let init_connection conn = + let module C = (val conn : Rapper_helper.CONNECTION) in + (* Create a request: unit input -> unit output using Caqti infix operators *) + let pragma_req sql = + let open Caqti_request.Infix in + let open Caqti_type in + (unit ->. unit) sql + in + (* Execute each pragma *) + List.fold_left (fun acc sql -> + match acc with + | Error e -> Error e + | Ok () -> C.exec (pragma_req sql) () + ) (Ok ()) sqlite_pragmas -- cgit v1.2.3