summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-04-06 10:22:09 +0200
committerChristian Grothoff <christian@grothoff.org>2016-04-06 10:22:09 +0200
commitad8351c912995a9ef0524822f0fdeef55e9d27a9 (patch)
treed74ff1654a60434d032f4c32571c26a3942b9622 /src/include
parentf3819ae60d5055a5560deff835d8a9c8bd6e2324 (diff)
downloadexchange-ad8351c912995a9ef0524822f0fdeef55e9d27a9.tar.gz
exchange-ad8351c912995a9ef0524822f0fdeef55e9d27a9.tar.bz2
exchange-ad8351c912995a9ef0524822f0fdeef55e9d27a9.zip
fix iterate_matching_deposits(), LIMIT does not work with variables in Postgres (#4360)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_exchangedb_plugin.h15
-rw-r--r--src/include/taler_json_lib.h2
2 files changed, 15 insertions, 2 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h
index cb1dcb344..3646981cd 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -947,6 +947,17 @@ struct TALER_EXCHANGEDB_Plugin
void *deposit_cb_cls);
+/**
+ * Maximum number of results we return from iterate_matching_deposits().
+ *
+ * Limit on the number of transactions we aggregate at once. Note
+ * that the limit must be big enough to ensure that when transactions
+ * of the smallest possible unit are aggregated, they do surpass the
+ * "tiny" threshold beyond which we never trigger a wire transaction!
+ */
+#define TALER_EXCHANGEDB_MATCHING_DEPOSITS_LIMIT 10000
+#define TALER_EXCHANGEDB_MATCHING_DEPOSITS_LIMIT_STR "10000"
+
/**
* Obtain information about other pending deposits for the same
* destination. Those deposits must not already be "done".
@@ -957,7 +968,9 @@ struct TALER_EXCHANGEDB_Plugin
* @param merchant_pub public key of the merchant
* @param deposit_cb function to call for each deposit
* @param deposit_cb_cls closure for @a deposit_cb
- * @param limit maximum number of matching deposits to return
+ * @param limit maximum number of matching deposits to return; should
+ * be #TALER_EXCHANGEDB_MATCHING_DEPOSITS_LIMIT, larger values
+ * are not supported, smaller values would be inefficient.
* @return number of rows processed, 0 if none exist,
* #GNUNET_SYSERR on error
*/
diff --git a/src/include/taler_json_lib.h b/src/include/taler_json_lib.h
index 3dd661a91..79589dba7 100644
--- a/src/include/taler_json_lib.h
+++ b/src/include/taler_json_lib.h
@@ -89,7 +89,7 @@ TALER_JSON_spec_denomination_signature (const char *field,
* @return #GNUNET_OK on success, #GNUNET_SYSERR on error
*/
int
-TALER_JSON_hash (json_t *json,
+TALER_JSON_hash (const json_t *json,
struct GNUNET_HashCode *hc);
#endif /* TALER_JSON_LIB_H_ */