left join on find_sk/dn to fill revoked_sig (todo: test)
This commit is contained in:
parent
9a68d18a1d
commit
477dd2230b
2 changed files with 39 additions and 25 deletions
31
src/pg.ml
31
src/pg.ml
|
|
@ -37,16 +37,20 @@ let preflight =
|
|||
in
|
||||
fun (module Conn : CONN) -> Syntax.list_iter (fun p -> Conn.exec p ()) l
|
||||
|
||||
(* TODO revoked_sig *)
|
||||
(* TODO revoked_sig
|
||||
check left join *)
|
||||
let find_signkey =
|
||||
let find_signkey =
|
||||
Caqti_type.(eddsa_pub ->? signkey_data)
|
||||
"SELECT exchange_pub, valid_from, expire_sign, expire_legal, master_sig \
|
||||
FROM exchange_sign_keys WHERE exchange_pub=$1"
|
||||
"SELECT exchange_pub, valid_from, expire_sign, expire_legal, \
|
||||
exchange_sign_keys.master_sig, signkey_revocations.master_sig FROM \
|
||||
exchange_sign_keys WHERE exchange_pub=$1\n\
|
||||
\ LEFT JOIN signkey_revocations USING (esk_serial)"
|
||||
in
|
||||
fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) ->
|
||||
Conn.find_opt find_signkey exchange_pub
|
||||
|
||||
(* note: does not update revocation *)
|
||||
let insert_signkey =
|
||||
let insert_signkey =
|
||||
Caqti_type.(signkey_data ->. unit)
|
||||
|
|
@ -60,11 +64,14 @@ let find_denom =
|
|||
Caqti_type.(denomination_hash ->? denom_data)
|
||||
"SELECT denom_pub, (coin).*, valid_from, expire_withdraw, \
|
||||
expire_deposit, expire_legal, (fee_withdraw).*, (fee_deposit).*, \
|
||||
(fee_refresh).*, (fee_refund).*, age_mask, denom_pub_hash, master_sig \
|
||||
FROM denominations WHERE denom_pub_hash=$1"
|
||||
(fee_refresh).*, (fee_refund).*, age_mask, denom_pub_hash, \
|
||||
denominations.master_sig, denomination_revocations.master_sig FROM \
|
||||
denominations WHERE denom_pub_hash=$1 LEFT JOIN \
|
||||
denomination_revocations USING (denominations_serial)"
|
||||
in
|
||||
fun (module Conn : CONN) h_denom_pub -> Conn.find_opt find_denom h_denom_pub
|
||||
|
||||
(* note: does not update revocation *)
|
||||
let insert_denom =
|
||||
let insert_denom =
|
||||
Caqti_type.(denom_data ->. unit)
|
||||
|
|
@ -286,6 +293,20 @@ let insert_partner =
|
|||
in
|
||||
fun (module Conn : CONN) v -> Conn.exec insert_partner v
|
||||
|
||||
(*
|
||||
let get_denominations =
|
||||
let get_denominations =
|
||||
Caqti_type.(unit ->* denom_data)
|
||||
"SELECT denominations_serial, denominations.master_sig, \
|
||||
denom_revocations_serial_id IS NOT NULL AS revoked, valid_from, \
|
||||
expire_withdraw, expire_deposit, expire_legal, coin, fee_withdraw, \
|
||||
fee_deposit, fee_refresh, fee_refund, denom_type, age_mask, denom_pub \
|
||||
FROM denominations LEFT JOIN denomination_revocations USING \
|
||||
(denominations_serial)"
|
||||
in
|
||||
fun (module Conn : CONN) -> Conn.collect_list get_denominations ()
|
||||
*)
|
||||
|
||||
(* TODO
|
||||
iterate_denominations
|
||||
iterate_active_signkeys
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue