summaryrefslogtreecommitdiff
path: root/src/pq
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-12-14 16:04:32 +0100
committerChristian Grothoff <christian@grothoff.org>2021-12-14 16:04:40 +0100
commit1a1fafbd438f3f21a15c990d904e192b045d2391 (patch)
treecdd32023fd1d7c530caeae0487528d7eaac2aa29 /src/pq
parentbf54ee30d4727217264f470321cc2f91facf63cc (diff)
downloadexchange-1a1fafbd438f3f21a15c990d904e192b045d2391.tar.gz
exchange-1a1fafbd438f3f21a15c990d904e192b045d2391.tar.bz2
exchange-1a1fafbd438f3f21a15c990d904e192b045d2391.zip
introducing GNUNET_TIME_Timestamp, recoup now with amounts
Diffstat (limited to 'src/pq')
-rw-r--r--src/pq/pq_query_helper.c119
-rw-r--r--src/pq/pq_result_helper.c140
2 files changed, 0 insertions, 259 deletions
diff --git a/src/pq/pq_query_helper.c b/src/pq/pq_query_helper.c
index 78c8af979..37d7bf5be 100644
--- a/src/pq/pq_query_helper.c
+++ b/src/pq/pq_query_helper.c
@@ -474,123 +474,4 @@ TALER_PQ_query_param_json (const json_t *x)
}
-/**
- * Function called to convert input argument into SQL parameters.
- *
- * @param cls closure
- * @param data pointer to input argument
- * @param data_len number of bytes in @a data (if applicable)
- * @param[out] param_values SQL data to set
- * @param[out] param_lengths SQL length data to set
- * @param[out] param_formats SQL format data to set
- * @param param_length number of entries available in the @a param_values, @a param_lengths and @a param_formats arrays
- * @param[out] scratch buffer for dynamic allocations (to be done via #GNUNET_malloc()
- * @param scratch_length number of entries left in @a scratch
- * @return -1 on error, number of offsets used in @a scratch otherwise
- */
-static int
-qconv_round_time (void *cls,
- const void *data,
- size_t data_len,
- void *param_values[],
- int param_lengths[],
- int param_formats[],
- unsigned int param_length,
- void *scratch[],
- unsigned int scratch_length)
-{
- const struct GNUNET_TIME_Absolute *at = data;
- struct GNUNET_TIME_Absolute tmp;
- struct GNUNET_TIME_AbsoluteNBO *buf;
-
- (void) cls;
- GNUNET_assert (1 == param_length);
- GNUNET_assert (sizeof (struct GNUNET_TIME_AbsoluteNBO) == data_len);
- GNUNET_assert (scratch_length > 0);
- GNUNET_break (NULL == cls);
- tmp = *at;
- GNUNET_assert (GNUNET_OK ==
- GNUNET_TIME_round_abs (&tmp));
- buf = GNUNET_new (struct GNUNET_TIME_AbsoluteNBO);
- *buf = GNUNET_TIME_absolute_hton (tmp);
- scratch[0] = buf;
- param_values[0] = (void *) buf;
- param_lengths[0] = sizeof (struct GNUNET_TIME_AbsoluteNBO);
- param_formats[0] = 1;
- return 1;
-}
-
-
-struct GNUNET_PQ_QueryParam
-TALER_PQ_query_param_absolute_time (const struct GNUNET_TIME_Absolute *x)
-{
- struct GNUNET_PQ_QueryParam res = {
- .conv = &qconv_round_time,
- .data = x,
- .size = sizeof (*x),
- .num_params = 1
- };
-
- return res;
-}
-
-
-/**
- * Function called to convert input argument into SQL parameters.
- *
- * @param cls closure
- * @param data pointer to input argument
- * @param data_len number of bytes in @a data (if applicable)
- * @param[out] param_values SQL data to set
- * @param[out] param_lengths SQL length data to set
- * @param[out] param_formats SQL format data to set
- * @param param_length number of entries available in the @a param_values, @a param_lengths and @a param_formats arrays
- * @param[out] scratch buffer for dynamic allocations (to be done via #GNUNET_malloc()
- * @param scratch_length number of entries left in @a scratch
- * @return -1 on error, number of offsets used in @a scratch otherwise
- */
-static int
-qconv_round_time_abs (void *cls,
- const void *data,
- size_t data_len,
- void *param_values[],
- int param_lengths[],
- int param_formats[],
- unsigned int param_length,
- void *scratch[],
- unsigned int scratch_length)
-{
- const struct GNUNET_TIME_AbsoluteNBO *at = data;
- struct GNUNET_TIME_Absolute tmp;
-
- (void) cls;
- (void) scratch;
- (void) scratch_length;
- GNUNET_assert (1 == param_length);
- GNUNET_assert (sizeof (struct GNUNET_TIME_AbsoluteNBO) == data_len);
- GNUNET_break (NULL == cls);
- tmp = GNUNET_TIME_absolute_ntoh (*at);
- GNUNET_assert (GNUNET_OK ==
- GNUNET_TIME_round_abs (&tmp));
- param_values[0] = (void *) at;
- param_lengths[0] = sizeof (struct GNUNET_TIME_AbsoluteNBO);
- param_formats[0] = 1;
- return 0;
-}
-
-
-struct GNUNET_PQ_QueryParam
-TALER_PQ_query_param_absolute_time_nbo (const struct GNUNET_TIME_AbsoluteNBO *x)
-{
- struct GNUNET_PQ_QueryParam res = {
- .conv = &qconv_round_time_abs,
- .data = x,
- .size = sizeof (*x),
- .num_params = 1
- };
-
- return res;
-}
-
-
/* end of pq/pq_query_helper.c */
diff --git a/src/pq/pq_result_helper.c b/src/pq/pq_result_helper.c
index 8c9f817b0..a6bc9409a 100644
--- a/src/pq/pq_result_helper.c
+++ b/src/pq/pq_result_helper.c
@@ -357,146 +357,6 @@ TALER_PQ_result_spec_json (const char *name,
*
* @param cls closure
* @param result where to extract data from
- * @param row the row to extract data from
- * @param fname name (or prefix) of the fields to extract from
- * @param[in,out] dst_size where to store size of result, may be NULL
- * @param[out] dst where to store the result
- * @return
- * #GNUNET_YES if all results could be extracted
- * #GNUNET_SYSERR if a result was invalid (non-existing field or NULL)
- */
-static enum GNUNET_GenericReturnValue
-extract_round_time (void *cls,
- PGresult *result,
- int row,
- const char *fname,
- size_t *dst_size,
- void *dst)
-{
- struct GNUNET_TIME_Absolute *udst = dst;
- const struct GNUNET_TIME_AbsoluteNBO *res;
- struct GNUNET_TIME_Absolute tmp;
- int fnum;
-
- (void) cls;
- fnum = PQfnumber (result,
- fname);
- if (fnum < 0)
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- if (PQgetisnull (result,
- row,
- fnum))
- return GNUNET_NO;
- GNUNET_assert (NULL != dst);
- if (sizeof (struct GNUNET_TIME_Absolute) != *dst_size)
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- res = (struct GNUNET_TIME_AbsoluteNBO *) PQgetvalue (result,
- row,
- fnum);
- tmp = GNUNET_TIME_absolute_ntoh (*res);
- GNUNET_break (GNUNET_OK ==
- GNUNET_TIME_round_abs (&tmp));
- *udst = tmp;
- return GNUNET_OK;
-}
-
-
-struct GNUNET_PQ_ResultSpec
-TALER_PQ_result_spec_absolute_time (const char *name,
- struct GNUNET_TIME_Absolute *at)
-{
- struct GNUNET_PQ_ResultSpec res = {
- .conv = &extract_round_time,
- .dst = (void *) at,
- .dst_size = sizeof (struct GNUNET_TIME_Absolute),
- .fname = name
- };
-
- return res;
-}
-
-
-/**
- * Extract data from a Postgres database @a result at row @a row.
- *
- * @param cls closure
- * @param result where to extract data from
- * @param row the row to extract data from
- * @param fname name (or prefix) of the fields to extract from
- * @param[in,out] dst_size where to store size of result, may be NULL
- * @param[out] dst where to store the result
- * @return
- * #GNUNET_YES if all results could be extracted
- * #GNUNET_SYSERR if a result was invalid (non-existing field or NULL)
- */
-static enum GNUNET_GenericReturnValue
-extract_round_time_nbo (void *cls,
- PGresult *result,
- int row,
- const char *fname,
- size_t *dst_size,
- void *dst)
-{
- struct GNUNET_TIME_AbsoluteNBO *udst = dst;
- const struct GNUNET_TIME_AbsoluteNBO *res;
- struct GNUNET_TIME_Absolute tmp;
- int fnum;
-
- (void) cls;
- fnum = PQfnumber (result,
- fname);
- if (fnum < 0)
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- if (PQgetisnull (result,
- row,
- fnum))
- return GNUNET_NO;
- GNUNET_assert (NULL != dst);
- if (sizeof (struct GNUNET_TIME_AbsoluteNBO) != *dst_size)
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- res = (struct GNUNET_TIME_AbsoluteNBO *) PQgetvalue (result,
- row,
- fnum);
- tmp = GNUNET_TIME_absolute_ntoh (*res);
- GNUNET_break (GNUNET_OK ==
- GNUNET_TIME_round_abs (&tmp));
- *udst = GNUNET_TIME_absolute_hton (tmp);
- return GNUNET_OK;
-}
-
-
-struct GNUNET_PQ_ResultSpec
-TALER_PQ_result_spec_absolute_time_nbo (const char *name,
- struct GNUNET_TIME_AbsoluteNBO *at)
-{
- struct GNUNET_PQ_ResultSpec res = {
- .conv = &extract_round_time_nbo,
- .dst = (void *) at,
- .dst_size = sizeof (struct GNUNET_TIME_AbsoluteNBO),
- .fname = name
- };
-
- return res;
-}
-
-
-/**
- * Extract data from a Postgres database @a result at row @a row.
- *
- * @param cls closure
- * @param result where to extract data from
* @param int row to extract data from
* @param fname name (or prefix) of the fields to extract from
* @param[in,out] dst_size where to store size of result, may be NULL