diff options
| author | Christian Grothoff <christian@grothoff.org> | 2020-01-17 03:08:30 +0100 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2020-01-17 03:08:30 +0100 | 
| commit | d4fded4b666032a86b653d40193713932f12b113 (patch) | |
| tree | c6c34639212a752f55d86c4fe6248c013c624cf2 /src/exchangedb | |
| parent | da0a2f39d0ae59036e9bb08f7ae9ef02cfacc3c9 (diff) | |
fix build system
Diffstat (limited to 'src/exchangedb')
| -rw-r--r-- | src/exchangedb/Makefile.am | 2 | ||||
| -rw-r--r-- | src/exchangedb/exchangedb-postgres.conf | 3 | ||||
| -rw-r--r-- | src/exchangedb/plugin_exchangedb_postgres.c | 27 | ||||
| -rw-r--r-- | src/exchangedb/test-exchange-db-postgres.conf | 3 | 
4 files changed, 32 insertions, 3 deletions
| diff --git a/src/exchangedb/Makefile.am b/src/exchangedb/Makefile.am index 52e1bdad..40db0974 100644 --- a/src/exchangedb/Makefile.am +++ b/src/exchangedb/Makefile.am @@ -22,7 +22,7 @@ EXTRA_DIST = \    exchangedb.conf \    exchangedb-postgres.conf \    plugin_exchangedb_common.c \ -  test-exchange-db-postgres.conf +  test-exchange-db-postgres.conf \    $(sql_DATA)  plugindir = $(libdir)/taler diff --git a/src/exchangedb/exchangedb-postgres.conf b/src/exchangedb/exchangedb-postgres.conf index 5ebd656c..40fe3de0 100644 --- a/src/exchangedb/exchangedb-postgres.conf +++ b/src/exchangedb/exchangedb-postgres.conf @@ -1,2 +1,5 @@  [exchangedb-postgres]  CONFIG = "postgres:///taler" + +# Where are the SQL files to setup our tables? +SQL_DIR = $DATADIR/sql/exchange/ diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index 47ac8e7b..e144342f 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -115,6 +115,11 @@ struct PostgresClosure    char *connection_cfg_str;    /** +   * Directory with SQL statements to run to create tables. +   */ +  char *sql_dir; + +  /**     * After how long should idle reserves be closed?     */    struct GNUNET_TIME_Relative idle_reserve_expiration_time; @@ -503,8 +508,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; @@ -7489,11 +7494,23 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)    const char *ec;    pg = GNUNET_new (struct PostgresClosure); - +  if (GNUNET_OK != +      GNUNET_CONFIGURATION_get_value_filename (cfg, +                                               "exchangedb-postgres", +                                               "SQL_DIR", +                                               &pg->sql_dir)) +  { +    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, +                               "exchangedb-postgres", +                               "CONFIG"); +    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;    } @@ -7513,6 +7530,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)        GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,                                   "exchangedb-postgres",                                   "CONFIG"); +      GNUNET_free (pg->sql_dir);        GNUNET_free (pg);        return NULL;      } @@ -7533,6 +7551,8 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)      GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,                                 "exchangedb",                                 "LEGAL/IDLE_RESERVE_EXPIRATION_TIME"); +    GNUNET_free (pg->connection_cfg_str); +    GNUNET_free (pg->sql_dir);      GNUNET_free (pg);      return NULL;    } @@ -7545,6 +7565,8 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)      GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,                                 "taler",                                 "CURRENCY"); +    GNUNET_free (pg->connection_cfg_str); +    GNUNET_free (pg->sql_dir);      GNUNET_free (pg);      return NULL;    } @@ -7656,6 +7678,7 @@ libtaler_plugin_exchangedb_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/exchangedb/test-exchange-db-postgres.conf b/src/exchangedb/test-exchange-db-postgres.conf index e61c4505..f6db7694 100644 --- a/src/exchangedb/test-exchange-db-postgres.conf +++ b/src/exchangedb/test-exchange-db-postgres.conf @@ -7,6 +7,9 @@ DB = postgres  #The connection string the plugin has to use for connecting to the database  CONFIG = postgres:///talercheck +# Where are the SQL files to setup our tables? +SQL_DIR = $DATADIR/sql/exchange/ +  [taler]  CURRENCY = EUR | 
