]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-sql: Add comments about NULL values.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 6 Oct 2017 12:52:36 +0000 (15:52 +0300)
committerTimo Sirainen <tss@dovecot.fi>
Fri, 6 Oct 2017 14:21:16 +0000 (17:21 +0300)
src/lib-sql/sql-api.h

index b0ac3c1b99e61a4c29123817f710181b05de7414..6911900b0ce8e0fa4bd9997c97f6f9429a36a535 100644 (file)
@@ -179,15 +179,22 @@ const char *sql_result_get_field_name(struct sql_result *result,
 /* Return field index for given name, or -1 if not found. */
 int sql_result_find_field(struct sql_result *result, const char *field_name);
 
-/* Returns value of given field as string. */
+/* Returns value of given field as string. Note that it can be NULL. */
 const char *sql_result_get_field_value(struct sql_result *result,
                                       unsigned int idx);
+/* Returns a binary value. Note that a NULL is returned as NULL with size=0,
+   while empty string returns non-NULL with size=0. */
 const unsigned char *
 sql_result_get_field_value_binary(struct sql_result *result,
                                  unsigned int idx, size_t *size_r);
+/* Find the field and return its value. NULL return value can mean that either
+   the field didn't exist or that its value is NULL. */
 const char *sql_result_find_field_value(struct sql_result *result,
                                        const char *field_name);
-/* Return all values of current row. */
+/* Return all values of current row. Note that this array is not
+   NULL-terminated - you must use sql_result_get_fields_count() to find out
+   the array's length. It's also possible that some of the values inside the
+   array are NULL. */
 const char *const *sql_result_get_values(struct sql_result *result);
 
 /* Return last error message in result. */