diff options
Diffstat (limited to 'src/auditordb')
-rw-r--r-- | src/auditordb/Makefile.am | 4 | ||||
-rw-r--r-- | src/auditordb/auditor-0000.sql (renamed from src/auditordb/0000.sql) | 0 | ||||
-rw-r--r-- | src/auditordb/auditor-0001.sql (renamed from src/auditordb/0001.sql) | 4 | ||||
-rw-r--r-- | src/auditordb/auditordb_plugin.c | 5 | ||||
-rw-r--r-- | src/auditordb/plugin_auditordb_postgres.c | 95 |
5 files changed, 30 insertions, 78 deletions
diff --git a/src/auditordb/Makefile.am b/src/auditordb/Makefile.am index 1378c5496..3efdc200e 100644 --- a/src/auditordb/Makefile.am +++ b/src/auditordb/Makefile.am @@ -14,8 +14,8 @@ pkgcfg_DATA = \ sqldir = $(prefix)/share/taler/sql/auditor/ sql_DATA = \ - 0000.sql \ - 0001.sql \ + auditor-0000.sql \ + auditor-0001.sql \ drop0000.sql \ restart0000.sql diff --git a/src/auditordb/0000.sql b/src/auditordb/auditor-0000.sql index 1483e2015..1483e2015 100644 --- a/src/auditordb/0000.sql +++ b/src/auditordb/auditor-0000.sql diff --git a/src/auditordb/0001.sql b/src/auditordb/auditor-0001.sql index 7f47f0357..3e666519c 100644 --- a/src/auditordb/0001.sql +++ b/src/auditordb/auditor-0001.sql @@ -115,7 +115,7 @@ CREATE TABLE IF NOT EXISTS auditor_reserves ,auditor_reserves_rowid BIGSERIAL UNIQUE ,origin_account TEXT ); -CREATE INDEX auditor_reserves_by_reserve_pub +CREATE INDEX IF NOT EXISTS auditor_reserves_by_reserve_pub ON auditor_reserves (reserve_pub); -- Table with the sum of the balances of all customer reserves @@ -203,7 +203,7 @@ CREATE TABLE IF NOT EXISTS auditor_historic_reserve_summary ,reserve_profits_val INT8 NOT NULL ,reserve_profits_frac INT4 NOT NULL ); -CREATE INDEX auditor_historic_reserve_summary_by_master_pub_start_date +CREATE INDEX IF NOT EXISTS auditor_historic_reserve_summary_by_master_pub_start_date ON auditor_historic_reserve_summary (master_pub ,start_date); diff --git a/src/auditordb/auditordb_plugin.c b/src/auditordb/auditordb_plugin.c index 19717fe87..d04e8815a 100644 --- a/src/auditordb/auditordb_plugin.c +++ b/src/auditordb/auditordb_plugin.c @@ -35,7 +35,6 @@ TALER_AUDITORDB_plugin_load (const struct GNUNET_CONFIGURATION_Handle *cfg) { char *plugin_name; char *lib_name; - struct GNUNET_CONFIGURATION_Handle *cfg_dup; struct TALER_AUDITORDB_Plugin *plugin; if (GNUNET_SYSERR == @@ -53,14 +52,12 @@ TALER_AUDITORDB_plugin_load (const struct GNUNET_CONFIGURATION_Handle *cfg) "libtaler_plugin_auditordb_%s", plugin_name); GNUNET_free (plugin_name); - cfg_dup = GNUNET_CONFIGURATION_dup (cfg); plugin = GNUNET_PLUGIN_load (lib_name, - cfg_dup); + (void *) cfg); if (NULL != plugin) plugin->library_name = lib_name; else GNUNET_free (lib_name); - GNUNET_CONFIGURATION_destroy (cfg_dup); return plugin; } diff --git a/src/auditordb/plugin_auditordb_postgres.c b/src/auditordb/plugin_auditordb_postgres.c index 30db303b0..ca07d406b 100644 --- a/src/auditordb/plugin_auditordb_postgres.c +++ b/src/auditordb/plugin_auditordb_postgres.c @@ -80,15 +80,9 @@ struct PostgresClosure pthread_key_t db_conn_threadlocal; /** - * Directory with SQL statements to run to create tables. + * Our configuration. */ - char *sql_dir; - - /** - * Database connection string, as read from - * the configuration. - */ - char *connection_cfg_str; + const struct GNUNET_CONFIGURATION_Handle *cfg; /** * Which currency should we assume all amounts to be in? @@ -114,16 +108,12 @@ postgres_drop_tables (void *cls, { struct PostgresClosure *pc = cls; struct GNUNET_PQ_Context *conn; - char *exec_dir; - - GNUNET_asprintf (&exec_dir, - (drop_exchangelist) ? "%sdrop" : "%srestart", - pc->sql_dir); - conn = GNUNET_PQ_connect (pc->connection_cfg_str, - exec_dir, - NULL, - NULL); - GNUNET_free (exec_dir); + + conn = GNUNET_PQ_connect_with_cfg (pc->cfg, + "auditordb-postgres", + (drop_exchangelist) ? "drop" : "restart", + NULL, + NULL); if (NULL == conn) return GNUNET_SYSERR; GNUNET_PQ_disconnect (conn); @@ -143,10 +133,11 @@ postgres_create_tables (void *cls) struct PostgresClosure *pc = cls; struct GNUNET_PQ_Context *conn; - conn = GNUNET_PQ_connect (pc->connection_cfg_str, - pc->sql_dir, - NULL, - NULL); + conn = GNUNET_PQ_connect_with_cfg (pc->cfg, + "auditordb-postgres", + "auditor-", + NULL, + NULL); if (NULL == conn) return GNUNET_SYSERR; GNUNET_PQ_disconnect (conn); @@ -734,10 +725,11 @@ postgres_get_session (void *cls) GNUNET_PQ_reconnect_if_down (session->conn); return session; } - db_conn = GNUNET_PQ_connect (pc->connection_cfg_str, - NULL, - NULL, - ps); + db_conn = GNUNET_PQ_connect_with_cfg (pc->cfg, + "auditordb-postgres", + NULL, + NULL, + ps); if (NULL == db_conn) return NULL; session = GNUNET_new (struct TALER_AUDITORDB_Session); @@ -897,10 +889,11 @@ postgres_gc (void *cls) }; now = GNUNET_TIME_absolute_get (); - conn = GNUNET_PQ_connect (pc->connection_cfg_str, - NULL, - NULL, - ps); + conn = GNUNET_PQ_connect_with_cfg (pc->cfg, + "auditordb-postgres", + NULL, + NULL, + ps); if (NULL == conn) return GNUNET_SYSERR; GNUNET_log (GNUNET_ERROR_TYPE_ERROR, @@ -3244,53 +3237,19 @@ postgres_get_predicted_balance (void *cls, void * libtaler_plugin_auditordb_postgres_init (void *cls) { - struct GNUNET_CONFIGURATION_Handle *cfg = cls; + const struct GNUNET_CONFIGURATION_Handle *cfg = cls; struct PostgresClosure *pg; struct TALER_AUDITORDB_Plugin *plugin; - 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; - } + pg->cfg = cfg; 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; } - ec = getenv ("TALER_AUDITORDB_POSTGRES_CONFIG"); - if (NULL != ec) - { - pg->connection_cfg_str = GNUNET_strdup (ec); - } - else - { - if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "auditordb-postgres", - "CONFIG", - &pg->connection_cfg_str)) - { - GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "auditordb-postgres", - "CONFIG"); - GNUNET_free (pg->sql_dir); - GNUNET_free (pg); - return NULL; - } - } if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, "taler", @@ -3300,8 +3259,6 @@ libtaler_plugin_auditordb_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; } @@ -3407,8 +3364,6 @@ libtaler_plugin_auditordb_postgres_done (void *cls) struct TALER_AUDITORDB_Plugin *plugin = 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); |