*/
/**
* @file include/gnunet_pq_lib.h
- * @brief helper functions for DB interactions
+ * @brief helper functions for Postgres DB interactions
* @author Christian Grothoff
*/
-#ifndef GNUNET_PQ_LIB_H_
-#define GNUNET_PQ_LIB_H_
+#ifndef GNUNET_PQ_LIB_H
+#define GNUNET_PQ_LIB_H
#include <libpq-fe.h>
#include "gnunet_util_lib.h"
* @param[out] dst where to store the result
* @return
* #GNUNET_YES if all results could be extracted
- * #GNUNET_NO if at least one result was NULL
- * #GNUNET_SYSERR if a result was invalid (non-existing field)
+ * #GNUNET_SYSERR if a result was invalid (non-existing field or NULL)
*/
typedef int
(*GNUNET_PQ_ResultConverter)(void *cls,
/**
- * Variable-size result expected.
+ * 0-terminated string expected.
*
* @param name name of the field in the table
* @param[out] dst where to store the result, allocated
- * @param[out] sptr where to store the size of @a dst
* @return array entry for the result specification to use
*/
struct GNUNET_PQ_ResultSpec
-GNUNET_PQ_result_spec_variable_size (const char *name,
- void **dst,
- size_t *sptr);
+GNUNET_PQ_result_spec_string (const char *name,
+ char **dst);
/**
/**
* Extract results from a query result according to the given specification.
- * If colums are NULL, the destination is not modified, and #GNUNET_NO
- * is returned.
*
* @param result result to process
* @param[in,out] rs result specification to extract for
* @param row row from the result to extract
* @return
* #GNUNET_YES if all results could be extracted
- * #GNUNET_NO if at least one result was NULL
* #GNUNET_SYSERR if a result was invalid (non-existing field)
*/
int