aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/exchange-tools/taler-exchange-dbinit.c3
-rw-r--r--src/exchange-tools/taler-exchange-reservemod.c3
-rw-r--r--src/exchange/taler-exchange-aggregator.c10
-rw-r--r--src/exchange/taler-exchange-httpd.c22
-rw-r--r--src/exchange/taler-exchange-httpd.h5
-rw-r--r--src/exchange/taler-exchange-httpd_db.c27
-rw-r--r--src/exchange/taler-exchange-httpd_keystate.c3
-rw-r--r--src/exchange/test_taler_exchange_aggregator.c10
-rw-r--r--src/exchangedb/perf_taler_exchangedb_interpreter.c15
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c85
-rw-r--r--src/exchangedb/test_exchangedb.c23
-rw-r--r--src/include/taler_exchangedb_plugin.h15
12 files changed, 82 insertions, 139 deletions
diff --git a/src/exchange-tools/taler-exchange-dbinit.c b/src/exchange-tools/taler-exchange-dbinit.c
index f936e64d6..e51f5a21a 100644
--- a/src/exchange-tools/taler-exchange-dbinit.c
+++ b/src/exchange-tools/taler-exchange-dbinit.c
@@ -54,8 +54,7 @@ run (void *cls,
return;
}
if (GNUNET_OK !=
- plugin->create_tables (plugin->cls,
- GNUNET_NO))
+ plugin->create_tables (plugin->cls))
{
fprintf (stderr,
"Failed to initialize database.\n");
diff --git a/src/exchange-tools/taler-exchange-reservemod.c b/src/exchange-tools/taler-exchange-reservemod.c
index de3e57f1f..2aeb951ce 100644
--- a/src/exchange-tools/taler-exchange-reservemod.c
+++ b/src/exchange-tools/taler-exchange-reservemod.c
@@ -73,8 +73,7 @@ run_transaction (const struct TALER_ReservePublicKeyP *reserve_pub,
int ret;
struct TALER_EXCHANGEDB_Session *session;
- session = plugin->get_session (plugin->cls,
- GNUNET_NO);
+ session = plugin->get_session (plugin->cls);
if (NULL == session)
{
fprintf (stderr,
diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c
index 57eab8138..4732e4e18 100644
--- a/src/exchange/taler-exchange-aggregator.c
+++ b/src/exchange/taler-exchange-aggregator.c
@@ -173,7 +173,7 @@ static struct AggregationUnit *au;
static int global_ret;
/**
- * #GNUNET_YES if we are in test mode and are using temporary tables.
+ * #GNUNET_YES if we are in test mode and should exit when idle.
*/
static int test_mode;
@@ -518,8 +518,7 @@ run_aggregation (void *cls)
return;
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Checking for ready deposits to aggregate\n");
- if (NULL == (session = db_plugin->get_session (db_plugin->cls,
- test_mode)))
+ if (NULL == (session = db_plugin->get_session (db_plugin->cls)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Failed to obtain database session!\n");
@@ -891,8 +890,7 @@ run_transfers (void *cls)
tc = GNUNET_SCHEDULER_get_task_context ();
if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
return;
- if (NULL == (session = db_plugin->get_session (db_plugin->cls,
- test_mode)))
+ if (NULL == (session = db_plugin->get_session (db_plugin->cls)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Failed to obtain database session!\n");
@@ -987,7 +985,7 @@ main (int argc,
"wireformat to use, overrides WIREFORMAT option in [exchange] section", 1,
&GNUNET_GETOPT_set_filename, &exchange_wireformat},
{'t', "test", NULL,
- "run in test mode with temporary tables", 0,
+ "run in test mode and exit when idle", 0,
&GNUNET_GETOPT_set_one, &test_mode},
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
GNUNET_GETOPT_OPTION_END
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c
index 11f2e1c9d..5f9f51422 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -81,11 +81,6 @@ struct TALER_MasterPublicKeyP TMH_master_public_key;
struct TALER_EXCHANGEDB_Plugin *TMH_plugin;
/**
- * Are we running in test mode?
- */
-int TMH_test_mode;
-
-/**
* Default timeout in seconds for HTTP requests.
*/
static unsigned int connection_timeout = 30;
@@ -466,9 +461,7 @@ exchange_serve_process_config ()
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Running in TEST mode! Database contents will not persist!\n");
- TMH_test_mode = GNUNET_YES;
- TMH_plugin->create_tables (TMH_plugin->cls,
- GNUNET_YES);
+ TMH_plugin->create_tables (TMH_plugin->cls);
}
{
@@ -906,19 +899,6 @@ main (int argc,
MHD_stop_daemon (mydaemon);
break;
}
-
- if (GNUNET_YES == TMH_test_mode)
- {
- struct TALER_EXCHANGEDB_Session *session;
-
- session = TMH_plugin->get_session (TMH_plugin->cls,
- GNUNET_YES);
- if (NULL == session)
- GNUNET_break (0);
- else
- TMH_plugin->drop_temporary (TMH_plugin->cls,
- session);
- }
TALER_EXCHANGEDB_plugin_unload (TMH_plugin);
TMH_VALIDATION_done ();
return (GNUNET_SYSERR == ret) ? 1 : 0;
diff --git a/src/exchange/taler-exchange-httpd.h b/src/exchange/taler-exchange-httpd.h
index 236df9e19..54e382f52 100644
--- a/src/exchange/taler-exchange-httpd.h
+++ b/src/exchange/taler-exchange-httpd.h
@@ -44,11 +44,6 @@ extern int TMH_exchange_connection_close;
extern struct GNUNET_CONFIGURATION_Handle *cfg;
/**
- * Are we running in test mode?
- */
-extern int TMH_test_mode;
-
-/**
* Main directory with exchange data.
*/
extern char *TMH_exchange_directory;
diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c
index 4b6b458ce..237a1aa7c 100644
--- a/src/exchange/taler-exchange-httpd_db.c
+++ b/src/exchange/taler-exchange-httpd_db.c
@@ -160,8 +160,7 @@ TMH_DB_execute_deposit (struct MHD_Connection *connection,
struct TALER_EXCHANGEDB_DenominationKeyIssueInformation *dki;
int ret;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -278,8 +277,7 @@ TMH_DB_execute_reserve_status (struct MHD_Connection *connection,
struct TALER_EXCHANGEDB_ReserveHistory *rh;
int res;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -524,8 +522,7 @@ TMH_DB_execute_reserve_withdraw (struct MHD_Connection *connection,
GNUNET_CRYPTO_hash (blinded_msg,
blinded_msg_len,
&h_blind);
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -725,8 +722,7 @@ TMH_DB_execute_refresh_melt (struct MHD_Connection *connection,
int res;
unsigned int i;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -1237,8 +1233,7 @@ TMH_DB_execute_refresh_reveal (struct MHD_Connection *connection,
unsigned int j;
unsigned int off;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -1465,8 +1460,7 @@ TMH_DB_execute_refresh_link (struct MHD_Connection *connection,
int res;
unsigned int i;
- if (NULL == (ctx.session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (ctx.session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -1528,8 +1522,7 @@ TMH_DB_execute_admin_add_incoming (struct MHD_Connection *connection,
struct TALER_EXCHANGEDB_Session *session;
int ret;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -1713,8 +1706,7 @@ TMH_DB_execute_wire_deposits (struct MHD_Connection *connection,
struct TALER_EXCHANGEDB_Session *session;
struct TMH_WireDepositDetail *wdd;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
@@ -1879,8 +1871,7 @@ TMH_DB_execute_deposit_wtid (struct MHD_Connection *connection,
struct DepositWtidContext ctx;
struct TALER_EXCHANGEDB_Session *session;
- if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode)))
+ if (NULL == (session = TMH_plugin->get_session (TMH_plugin->cls)))
{
GNUNET_break (0);
return TMH_RESPONSE_reply_internal_db_error (connection);
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c
index 5d564d864..2f5069d4a 100644
--- a/src/exchange/taler-exchange-httpd_keystate.c
+++ b/src/exchange/taler-exchange-httpd_keystate.c
@@ -250,8 +250,7 @@ reload_keys_denom_iter (void *cls,
GNUNET_CRYPTO_hash_context_read (ctx->hash_context,
&denom_key_hash,
sizeof (struct GNUNET_HashCode));
- session = TMH_plugin->get_session (TMH_plugin->cls,
- TMH_test_mode);
+ session = TMH_plugin->get_session (TMH_plugin->cls);
if (NULL == session)
return GNUNET_SYSERR;
/* Try to insert DKI into DB until we succeed; note that if the DB
diff --git a/src/exchange/test_taler_exchange_aggregator.c b/src/exchange/test_taler_exchange_aggregator.c
index d9052ec7d..d38d07906 100644
--- a/src/exchange/test_taler_exchange_aggregator.c
+++ b/src/exchange/test_taler_exchange_aggregator.c
@@ -285,8 +285,8 @@ shutdown_action (void *cls)
GNUNET_OS_process_destroy (aggregator_proc);
aggregator_proc = NULL;
}
- plugin->drop_temporary (plugin->cls,
- session);
+ plugin->drop_tables (plugin->cls,
+ session);
TALER_EXCHANGEDB_plugin_unload (plugin);
plugin = NULL;
}
@@ -1106,8 +1106,7 @@ run (void *cls)
plugin = TALER_EXCHANGEDB_plugin_load (cfg);
if (GNUNET_OK !=
- plugin->create_tables (plugin->cls,
- GNUNET_YES))
+ plugin->create_tables (plugin->cls))
{
GNUNET_break (0);
TALER_EXCHANGEDB_plugin_unload (plugin);
@@ -1115,8 +1114,7 @@ run (void *cls)
result = 77;
return;
}
- session = plugin->get_session (plugin->cls,
- GNUNET_YES);
+ session = plugin->get_session (plugin->cls);
GNUNET_assert (NULL != session);
fake_issue (&issue);
dpk.rsa_public_key = coin_pub;
diff --git a/src/exchangedb/perf_taler_exchangedb_interpreter.c b/src/exchangedb/perf_taler_exchangedb_interpreter.c
index 897a06eed..cb805a0b3 100644
--- a/src/exchangedb/perf_taler_exchangedb_interpreter.c
+++ b/src/exchangedb/perf_taler_exchangedb_interpreter.c
@@ -1369,7 +1369,7 @@ interpret (struct PERF_TALER_EXCHANGEDB_interpreter_state *state)
break;
case PERF_TALER_EXCHANGEDB_CMD_NEW_SESSION:
- state->session = state->plugin->get_session (state->plugin->cls, GNUNET_YES);
+ state->session = state->plugin->get_session (state->plugin->cls);
break;
case PERF_TALER_EXCHANGEDB_CMD_START_TRANSACTION:
@@ -1816,8 +1816,7 @@ PERF_TALER_EXCHANGEDB_interpret (struct TALER_EXCHANGEDB_Plugin *db_plugin,
ret = cmd_init (cmd);
if (GNUNET_SYSERR == ret)
return ret;
- state.session = db_plugin->get_session (db_plugin->cls,
- GNUNET_YES);
+ state.session = db_plugin->get_session (db_plugin->cls);
GNUNET_assert (NULL != state.session);
ret = interpret (&state);
cmd_clean (cmd);
@@ -1943,8 +1942,7 @@ PERF_TALER_EXCHANGEDB_run_benchmark (const char *benchmark_name,
"Error connectiong to the database\n");
return GNUNET_NO;
}
- ret = plugin->create_tables (plugin->cls,
- GNUNET_YES);
+ ret = plugin->create_tables (plugin->cls);
if (GNUNET_OK != ret)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -1981,10 +1979,9 @@ PERF_TALER_EXCHANGEDB_run_benchmark (const char *benchmark_name,
{
struct TALER_EXCHANGEDB_Session *session;
- session = plugin->get_session (plugin->cls,
- GNUNET_YES);
- ret = plugin->drop_temporary (plugin->cls,
- session);
+ session = plugin->get_session (plugin->cls);
+ ret = plugin->drop_tables (plugin->cls,
+ session);
if (GNUNET_OK != ret)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index ad5b5d982..1cc64ce4d 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -30,15 +30,6 @@
#include "plugin_exchangedb_common.c"
/**
- * For testing / experiments, we set the Postgres schema to
- * #TALER_TEMP_SCHEMA_NAME so we can easily purge everything
- * associated with a test. We *also* should use the database
- * "talercheck" instead of "taler" for testing, but we're doing
- * both: better safe than sorry.
- */
-#define TALER_TEMP_SCHEMA_NAME "taler_temporary"
-
-/**
* Log a query error.
*
* @param result PQ result object of the query that failed
@@ -138,39 +129,48 @@ struct PostgresClosure
-/**
- * Set the given connection to use a temporary schema
- *
- * @param db the database connection
- * @return #GNUNET_OK upon success; #GNUNET_SYSERR upon error
- */
-static int
-set_temporary_schema (PGconn *db)
-{
- SQLEXEC_(db,
- "CREATE SCHEMA IF NOT EXISTS " TALER_TEMP_SCHEMA_NAME ";"
- "SET search_path to " TALER_TEMP_SCHEMA_NAME ";");
- return GNUNET_OK;
- SQLEXEC_fail:
- return GNUNET_SYSERR;
-}
-
/**
- * Drop the temporary taler schema. This is only useful for testcases
+ * Drop all Taler tables. This should only be used by testcases.
*
* @param cls the `struct PostgresClosure` with the plugin-specific state
* @param session database session to use
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
*/
static int
-postgres_drop_temporary (void *cls,
- struct TALER_EXCHANGEDB_Session *session)
+postgres_drop_tables (void *cls,
+ struct TALER_EXCHANGEDB_Session *session)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Dropping temporary tables\n");
+ "Dropping ALL tables\n");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS prewire;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS aggregation_tracking;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS deposits;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS refresh_out;");
SQLEXEC_ (session->conn,
- "DROP SCHEMA " TALER_TEMP_SCHEMA_NAME " CASCADE;");
+ "DROP TABLE IF EXISTS refresh_commit_coin;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS refresh_commit_link;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS refresh_order;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS refresh_melts;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS refresh_sessions;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS known_coins;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS reserves_out;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS reserves_in;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS reserves;");
+ SQLEXEC_ (session->conn,
+ "DROP TABLE IF EXISTS denominations;");
return GNUNET_OK;
SQLEXEC_fail:
return GNUNET_SYSERR;
@@ -215,12 +215,10 @@ pq_notice_processor_cb (void *arg,
* Create the necessary tables if they are not present
*
* @param cls the `struct PostgresClosure` with the plugin-specific state
- * @param temporary should we use a temporary schema
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
*/
static int
-postgres_create_tables (void *cls,
- int temporary)
+postgres_create_tables (void *cls)
{
struct PostgresClosure *pc = cls;
PGconn *conn;
@@ -239,12 +237,6 @@ postgres_create_tables (void *cls,
PQsetNoticeProcessor (conn,
&pq_notice_processor_cb,
NULL);
- if ( (GNUNET_YES == temporary) &&
- (GNUNET_SYSERR == set_temporary_schema (conn)))
- {
- PQfinish (conn);
- return GNUNET_SYSERR;
- }
#define SQLEXEC(sql) SQLEXEC_(conn, sql);
#define SQLEXEC_INDEX(sql) SQLEXEC_IGNORE_ERROR_(conn, sql);
/* Denomination table for holding the publicly available information of
@@ -1200,13 +1192,10 @@ db_conn_destroy (void *cls)
* Connect to the db if the connection does not exist yet.
*
* @param cls the `struct PostgresClosure` with the plugin-specific state
- * @param temporary #GNUNET_YES to use a temporary schema; #GNUNET_NO to use the
- * database default one
* @return the database connection, or NULL on error
*/
static struct TALER_EXCHANGEDB_Session *
-postgres_get_session (void *cls,
- int temporary)
+postgres_get_session (void *cls)
{
struct PostgresClosure *pc = cls;
PGconn *db_conn;
@@ -1229,12 +1218,6 @@ postgres_get_session (void *cls,
PQsetNoticeProcessor (db_conn,
&pq_notice_processor_cb,
NULL);
- if ( (GNUNET_YES == temporary) &&
- (GNUNET_SYSERR == set_temporary_schema(db_conn)) )
- {
- GNUNET_break (0);
- return NULL;
- }
if (GNUNET_OK !=
postgres_prepare (db_conn))
{
@@ -4243,7 +4226,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)
plugin = GNUNET_new (struct TALER_EXCHANGEDB_Plugin);
plugin->cls = pg;
plugin->get_session = &postgres_get_session;
- plugin->drop_temporary = &postgres_drop_temporary;
+ plugin->drop_tables = &postgres_drop_tables;
plugin->create_tables = &postgres_create_tables;
plugin->start = &postgres_start;
plugin->commit = &postgres_commit;
diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c
index 16ee95f9c..2ef7f5d72 100644
--- a/src/exchangedb/test_exchangedb.c
+++ b/src/exchangedb/test_exchangedb.c
@@ -663,18 +663,27 @@ run (void *cls)
result = 77;
return;
}
+ if (NULL !=
+ (session = plugin->get_session (plugin->cls)))
+ {
+ if (GNUNET_OK !=
+ plugin->drop_tables (plugin->cls,
+ session))
+ {
+ result = 77;
+ goto drop;
+ }
+ }
if (GNUNET_OK !=
- plugin->create_tables (plugin->cls,
- GNUNET_YES))
+ plugin->create_tables (plugin->cls))
{
result = 77;
goto drop;
}
if (NULL ==
- (session = plugin->get_session (plugin->cls,
- GNUNET_YES)))
+ (session = plugin->get_session (plugin->cls)))
{
- result = 3;
+ result = 77;
goto drop;
}
RND_BLK (&reserve_pub);
@@ -934,8 +943,8 @@ run (void *cls)
rh = NULL;
if (NULL != session)
GNUNET_break (GNUNET_OK ==
- plugin->drop_temporary (plugin->cls,
- session));
+ plugin->drop_tables (plugin->cls,
+ session));
if (NULL != dkp)
destroy_denom_key_pair (dkp);
if (NULL != cbc.sig.rsa_signature)
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h
index 45553634c..ebcfe3757 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -717,36 +717,31 @@ struct TALER_EXCHANGEDB_Plugin
* Connect to the db if the connection does not exist yet.
*
* @param cls the @e cls of this struct with the plugin-specific state
- * @param temporary #GNUNET_YES to use a temporary schema; #GNUNET_NO to use the
- * database default one
* @param the database connection, or NULL on error
*/
struct TALER_EXCHANGEDB_Session *
- (*get_session) (void *cls,
- int temporary);
+ (*get_session) (void *cls);
/**
- * Drop the temporary taler schema. This is only useful for testcases.
+ * Drop the Taler tables. This should only be used in testcases.
*
* @param cls the @e cls of this struct with the plugin-specific state
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
*/
int
- (*drop_temporary) (void *cls,
- struct TALER_EXCHANGEDB_Session *db);
+ (*drop_tables) (void *cls,
+ struct TALER_EXCHANGEDB_Session *db);
/**
* Create the necessary tables if they are not present
*
* @param cls the @e cls of this struct with the plugin-specific state
- * @param temporary should we use a temporary schema
* @return #GNUNET_OK upon success; #GNUNET_SYSERR upon failure
*/
int
- (*create_tables) (void *cls,
- int temporary);
+ (*create_tables) (void *cls);
/**