X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_mysql_lib.h;h=0fef43a5a899563dea4fda9b7a2fb65aec4833fc;hb=d41ed82a4ea0cc8e1674b6d5d2c49fd6462610bb;hp=fc0bfdfacd5419d0dab0c89458f0cd74476a8724;hpb=1732154b8c021e7ee0e34c28cf3b1a843454727a;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_mysql_lib.h b/src/include/gnunet_mysql_lib.h index fc0bfdfac..0fef43a5a 100644 --- a/src/include/gnunet_mysql_lib.h +++ b/src/include/gnunet_mysql_lib.h @@ -2,21 +2,21 @@ This file is part of GNUnet Copyright (C) 2012 GNUnet e.V. - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Affero General Public License for more details. - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + SPDX-License-Identifier: AGPL3.0-or-later + */ /** * @author Christian Grothoff * @@ -61,10 +61,12 @@ struct GNUNET_MYSQL_StatementHandle; * @param cls user-defined argument * @param num_values number of elements in values * @param values values returned by MySQL - * @return GNUNET_OK to continue iterating, GNUNET_SYSERR to abort + * @return #GNUNET_OK to continue iterating, #GNUNET_SYSERR to abort */ -typedef int (*GNUNET_MYSQL_DataProcessor) (void *cls, unsigned int num_values, - MYSQL_BIND * values); +typedef int +(*GNUNET_MYSQL_DataProcessor) (void *cls, + unsigned int num_values, + MYSQL_BIND * values); /** @@ -75,8 +77,8 @@ typedef int (*GNUNET_MYSQL_DataProcessor) (void *cls, unsigned int num_values, * @return the mysql context */ struct GNUNET_MYSQL_Context * -GNUNET_MYSQL_context_create (const struct GNUNET_CONFIGURATION_Handle *cfg, - const char *section); +GNUNET_MYSQL_context_create(const struct GNUNET_CONFIGURATION_Handle *cfg, + const char *section); /** @@ -85,7 +87,7 @@ GNUNET_MYSQL_context_create (const struct GNUNET_CONFIGURATION_Handle *cfg, * @param mc context to destroy */ void -GNUNET_MYSQL_context_destroy (struct GNUNET_MYSQL_Context *mc); +GNUNET_MYSQL_context_destroy(struct GNUNET_MYSQL_Context *mc); /** @@ -96,19 +98,19 @@ GNUNET_MYSQL_context_destroy (struct GNUNET_MYSQL_Context *mc); * @param mc mysql context */ void -GNUNET_MYSQL_statements_invalidate (struct GNUNET_MYSQL_Context *mc); +GNUNET_MYSQL_statements_invalidate(struct GNUNET_MYSQL_Context *mc); /** * Get internal handle for a prepared statement. This function should rarely * be used, and if, with caution! On failures during the interaction with - * the handle, you must call 'GNUNET_MYSQL_statements_invalidate'! + * the handle, you must call #GNUNET_MYSQL_statements_invalidate()! * * @param sh prepared statement to introspect * @return MySQL statement handle, NULL on error */ MYSQL_STMT * -GNUNET_MYSQL_statement_get_stmt (struct GNUNET_MYSQL_StatementHandle *sh); +GNUNET_MYSQL_statement_get_stmt(struct GNUNET_MYSQL_StatementHandle *sh); /** @@ -120,8 +122,8 @@ GNUNET_MYSQL_statement_get_stmt (struct GNUNET_MYSQL_StatementHandle *sh); * @return prepared statement, NULL on error */ struct GNUNET_MYSQL_StatementHandle * -GNUNET_MYSQL_statement_prepare (struct GNUNET_MYSQL_Context *mc, - const char *query); +GNUNET_MYSQL_statement_prepare(struct GNUNET_MYSQL_Context *mc, + const char *query); /** @@ -129,75 +131,12 @@ GNUNET_MYSQL_statement_prepare (struct GNUNET_MYSQL_Context *mc, * * @param mc mysql context * @param sql SQL statement to run - * @return GNUNET_OK on success - * GNUNET_SYSERR if there was a problem - */ -int -GNUNET_MYSQL_statement_run (struct GNUNET_MYSQL_Context *mc, - const char *sql); - - -/** - * Run a prepared SELECT statement. - * - * @param sh handle to SELECT statment - * @param result_size number of elements in results array - * @param results pointer to already initialized MYSQL_BIND - * array (of sufficient size) for passing results - * @param processor function to call on each result - * @param processor_cls extra argument to processor - * @param ... pairs and triplets of "MYSQL_TYPE_XXX" keys and their respective - * values (size + buffer-reference for pointers); terminated - * with "-1" - * @return GNUNET_SYSERR on error, otherwise - * the number of successfully affected (or queried) rows - */ -int -GNUNET_MYSQL_statement_run_prepared_select (struct GNUNET_MYSQL_StatementHandle *sh, - unsigned int result_size, MYSQL_BIND * results, - GNUNET_MYSQL_DataProcessor processor, - void *processor_cls, ...); - - -/** - * Run a prepared SELECT statement. - * - * @param s statement to run - * @param result_size number of elements in results array - * @param results pointer to already initialized MYSQL_BIND - * array (of sufficient size) for passing results - * @param processor function to call on each result - * @param processor_cls extra argument to processor - * @param ap pairs and triplets of "MYSQL_TYPE_XXX" keys and their respective - * values (size + buffer-reference for pointers); terminated - * with "-1" - * @return GNUNET_SYSERR on error, otherwise - * the number of successfully affected (or queried) rows - */ -int -GNUNET_MYSQL_statement_run_prepared_select_va (struct GNUNET_MYSQL_StatementHandle *s, - unsigned int result_size, - MYSQL_BIND * results, - GNUNET_MYSQL_DataProcessor processor, - void *processor_cls, - va_list ap); - - -/** - * Run a prepared statement that does NOT produce results. - * - * @param sh handle to statment - * @param insert_id NULL or address where to store the row ID of whatever - * was inserted (only for INSERT statements!) - * @param ... pairs and triplets of "MYSQL_TYPE_XXX" keys and their respective - * values (size + buffer-reference for pointers); terminated - * with "-1" - * @return GNUNET_SYSERR on error, otherwise - * the number of successfully affected rows + * @return #GNUNET_OK on success + * #GNUNET_SYSERR if there was a problem */ int -GNUNET_MYSQL_statement_run_prepared (struct GNUNET_MYSQL_StatementHandle *sh, - unsigned long long *insert_id, ...); +GNUNET_MYSQL_statement_run(struct GNUNET_MYSQL_Context *mc, + const char *sql); #if 0 /* keep Emacsens' auto-indent happy */