From d4fded4b666032a86b653d40193713932f12b113 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 17 Jan 2020 03:08:30 +0100 Subject: fix build system --- src/auditordb/auditordb-postgres.conf | 3 +++ src/auditordb/plugin_auditordb_postgres.c | 23 ++++++++++++++++++++++- src/auditordb/test-auditor-db-postgres.conf | 4 +++- 3 files changed, 28 insertions(+), 2 deletions(-) (limited to 'src/auditordb') diff --git a/src/auditordb/auditordb-postgres.conf b/src/auditordb/auditordb-postgres.conf index 9a6d39884..fe408c3bb 100644 --- a/src/auditordb/auditordb-postgres.conf +++ b/src/auditordb/auditordb-postgres.conf @@ -1,3 +1,6 @@ [auditordb-postgres] # Argument for Postgres for how to connect to the database. CONFIG = "postgres:///taler" + +# Where are the SQL files to setup our tables? +SQL_DIR = $DATADIR/sql/auditor/ diff --git a/src/auditordb/plugin_auditordb_postgres.c b/src/auditordb/plugin_auditordb_postgres.c index 7e6b7bf09..30b036c9e 100644 --- a/src/auditordb/plugin_auditordb_postgres.c +++ b/src/auditordb/plugin_auditordb_postgres.c @@ -79,6 +79,11 @@ struct PostgresClosure */ pthread_key_t db_conn_threadlocal; + /** + * Directory with SQL statements to run to create tables. + */ + char *sql_dir; + /** * Database connection string, as read from * the configuration. @@ -408,8 +413,8 @@ postgres_create_tables (void *cls) struct GNUNET_PQ_Context *conn; conn = GNUNET_PQ_connect (pc->connection_cfg_str, + pc->sql_dir, NULL, - es, NULL); if (NULL == conn) return GNUNET_SYSERR; @@ -3446,10 +3451,23 @@ libtaler_plugin_auditordb_postgres_init (void *cls) const char *ec; pg = GNUNET_new (struct PostgresClosure); + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_filename (cfg, + "auditordb-postgres", + "SQL_DIR", + &pg->sql_dir)) + { + GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, + "auditordb-postgres", + "SQL_DIR"); + GNUNET_free (pg); + return NULL; + } if (0 != pthread_key_create (&pg->db_conn_threadlocal, &db_conn_destroy)) { TALER_LOG_ERROR ("Cannnot create pthread key.\n"); + GNUNET_free (pg->sql_dir); GNUNET_free (pg); return NULL; } @@ -3469,6 +3487,7 @@ libtaler_plugin_auditordb_postgres_init (void *cls) GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, "auditordb-postgres", "CONFIG"); + GNUNET_free (pg->sql_dir); GNUNET_free (pg); return NULL; } @@ -3483,6 +3502,7 @@ libtaler_plugin_auditordb_postgres_init (void *cls) "taler", "CURRENCY"); GNUNET_free (pg->connection_cfg_str); + GNUNET_free (pg->sql_dir); GNUNET_free (pg); return NULL; } @@ -3589,6 +3609,7 @@ libtaler_plugin_auditordb_postgres_done (void *cls) struct PostgresClosure *pg = plugin->cls; GNUNET_free (pg->connection_cfg_str); + GNUNET_free (pg->sql_dir); GNUNET_free (pg->currency); GNUNET_free (pg); GNUNET_free (plugin); diff --git a/src/auditordb/test-auditor-db-postgres.conf b/src/auditordb/test-auditor-db-postgres.conf index b08195eb8..924aef435 100644 --- a/src/auditordb/test-auditor-db-postgres.conf +++ b/src/auditordb/test-auditor-db-postgres.conf @@ -6,6 +6,8 @@ DB = postgres # Argument for Postgres for how to connect to the database. CONFIG = "postgres:///talercheck" +# Where are the SQL files to setup our tables? +SQL_DIR = $DATADIR/sql/exchange/ + [taler] CURRENCY = "EUR" - -- cgit v1.2.3