diff options
Diffstat (limited to 'src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c')
-rw-r--r-- | src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c b/src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c index 685e71381..94537b151 100644 --- a/src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c +++ b/src/auditordb/pg_get_denomination_key_validity_withdraw_inconsistency.c @@ -97,19 +97,21 @@ denomination_key_validity_withdraw_inconsistency_cb (void *cls, enum GNUNET_DB_QueryStatus TAH_PG_get_denomination_key_validity_withdraw_inconsistency ( void *cls, - uint64_t start_id, - bool return_suppressed, // maybe not needed + int64_t limit, + uint64_t offset, + bool return_suppressed, // maybe not needed TALER_AUDITORDB_DenominationKeyValidityWithdrawInconsistencyCallback cb, void *cb_cls) { struct PostgresClosure *pg = cls; - struct GNUNET_PQ_QueryParam params[] = { - GNUNET_PQ_query_param_uint64 (&start_id), - GNUNET_PQ_query_param_bool (return_suppressed), - GNUNET_PQ_query_param_end - }; + struct GNUNET_PQ_QueryParam params[] = { + GNUNET_PQ_query_param_uint64 (&offset), + GNUNET_PQ_query_param_bool (return_suppressed), + GNUNET_PQ_query_param_int64 (&limit), + GNUNET_PQ_query_param_end + }; struct DenominationKeyValidityWithdrawInconsistencyContext dcc = { .cb = cb, .cb_cls = cb_cls, @@ -118,17 +120,33 @@ TAH_PG_get_denomination_key_validity_withdraw_inconsistency ( enum GNUNET_DB_QueryStatus qs; PREPARE (pg, - "auditor_denomination_key_validity_withdraw_inconsistency_get", + "auditor_denomination_key_validity_withdraw_inconsistency_get_desc", "SELECT" " row_id" ",execution_date" ",reserve_pub" ",denompub_h" " FROM auditor_denomination_key_validity_withdraw_inconsistency" - " WHERE row_id>$1" + " WHERE (row_id < $1)" + " AND ($2 OR suppressed is false)" + " ORDER BY row_id DESC" + " LIMIT $3" ); + PREPARE (pg, + "auditor_denomination_key_validity_withdraw_inconsistency_get_asc", + "SELECT" + " row_id" + ",execution_date" + ",reserve_pub" + ",denompub_h" + " FROM auditor_denomination_key_validity_withdraw_inconsistency" + " WHERE (row_id > $1)" + " AND ($2 OR suppressed is false)" + " ORDER BY row_id ASC" + " LIMIT $3" + ); qs = GNUNET_PQ_eval_prepared_multi_select (pg->conn, - "auditor_denomination_key_validity_withdraw_inconsistency_get", + (limit > 0 ) ? "auditor_denomination_key_validity_withdraw_inconsistency_get_asc" : "auditor_denomination_key_validity_withdraw_inconsistency_get_desc", params, & denomination_key_validity_withdraw_inconsistency_cb, |