Skip to content

Commit 8064c11

Browse files
author
Jan Rochel
committed
make_persistent does not do a SELECT query anymore
1 parent 23b1bf7 commit 8064c11

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/extensions/ocsipersist-pgsql/ocsipersist.ml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,24 +101,22 @@ type 'a t = {
101101
let open_store store = use_pool @@ fun db ->
102102
create_table db store >> Lwt.return store
103103

104+
let make_persistent ~store ~name ~default = use_pool @@ fun db ->
105+
insert db store name default >> Lwt.return {store = store; name = name}
106+
104107
let make_persistent_lazy_lwt ~store ~name ~default = use_pool @@ fun db ->
105108
let query = sprintf "SELECT value FROM %s WHERE key = $1 " store in
106109
lwt result = exec db query [name] in
107-
lwt () = begin match result with
110+
match result with
108111
| [] ->
109112
lwt default = default () in
110-
insert db store name default
111-
| xs -> Lwt.return ()
112-
end in
113-
Lwt.return {store = store; name = name}
113+
make_persistent ~store ~name ~default
114+
| xs -> Lwt.return {store = store; name = name}
114115

115116
let make_persistent_lazy ~store ~name ~default =
116117
let default () = Lwt.wrap default in
117118
make_persistent_lazy_lwt ~store ~name ~default
118119

119-
let make_persistent ~store ~name ~default =
120-
make_persistent_lazy ~store ~name ~default:(fun () -> default)
121-
122120
let get p = use_pool @@ fun db ->
123121
let query = sprintf "SELECT value FROM %s WHERE key = $1 " p.store in
124122
Lwt.map (unmarshal @. one) (exec db query [p.name])

0 commit comments

Comments
 (0)