diff options
Diffstat (limited to 'src/auditordb')
| -rw-r--r-- | src/auditordb/auditordb-postgres.conf | 2 | ||||
| -rw-r--r-- | src/auditordb/plugin_auditordb_postgres.c | 27 | ||||
| -rw-r--r-- | src/auditordb/test-auditor-db-postgres.conf | 2 | 
3 files changed, 21 insertions, 10 deletions
diff --git a/src/auditordb/auditordb-postgres.conf b/src/auditordb/auditordb-postgres.conf index 4fe2064f..9a6d3988 100644 --- a/src/auditordb/auditordb-postgres.conf +++ b/src/auditordb/auditordb-postgres.conf @@ -1,3 +1,3 @@  [auditordb-postgres]  # Argument for Postgres for how to connect to the database. -DB_CONN_STR = "postgres:///taler" +CONFIG = "postgres:///taler" diff --git a/src/auditordb/plugin_auditordb_postgres.c b/src/auditordb/plugin_auditordb_postgres.c index 2f881ae2..13fbbc2f 100644 --- a/src/auditordb/plugin_auditordb_postgres.c +++ b/src/auditordb/plugin_auditordb_postgres.c @@ -231,6 +231,7 @@ postgres_create_tables (void *cls)  			    ")"),      GNUNET_PQ_make_execute ("CREATE TABLE IF NOT EXISTS wire_auditor_progress"  			    "(master_pub BYTEA PRIMARY KEY CHECK (LENGTH(master_pub)=32)" +                            ",account_name TEXT NOT NULL"  			    ",last_wire_reserve_in_serial_id INT8 NOT NULL DEFAULT 0"  			    ",last_wire_wire_out_serial_id INT8 NOT NULL DEFAULT 0"  			    ",last_timestamp INT8 NOT NULL" @@ -521,13 +522,14 @@ postgres_prepare (PGconn *db_conn)      GNUNET_PQ_make_prepare ("wire_auditor_progress_insert",  			    "INSERT INTO wire_auditor_progress "  			    "(master_pub" +                            ",account_name"  			    ",last_wire_reserve_in_serial_id"  			    ",last_wire_wire_out_serial_id"                              ",last_timestamp"                              ",wire_in_off"                              ",wire_out_off" -			    ") VALUES ($1,$2,$3,$4,$5,$6);", -			    6), +			    ") VALUES ($1,$2,$3,$4,$5,$6,$7);", +			    7),      /* Used in #postgres_update_wire_auditor_progress() */      GNUNET_PQ_make_prepare ("wire_auditor_progress_update",  			    "UPDATE wire_auditor_progress SET " @@ -536,8 +538,8 @@ postgres_prepare (PGconn *db_conn)                              ",last_timestamp=$3"                              ",wire_in_off=$4"                              ",wire_out_off=$5" -			    " WHERE master_pub=$6", -			    6), +			    " WHERE master_pub=$6 AND account_name=$7", +			    7),      /* Used in #postgres_get_wire_auditor_progress() */      GNUNET_PQ_make_prepare ("wire_auditor_progress_select",  			    "SELECT" @@ -547,8 +549,8 @@ postgres_prepare (PGconn *db_conn)                              ",wire_in_off"                              ",wire_out_off"  			    " FROM wire_auditor_progress" -			    " WHERE master_pub=$1;", -			    1), +			    " WHERE master_pub=$1 AND account_name=$2;", +			    2),      /* Used in #postgres_insert_reserve_info() */      GNUNET_PQ_make_prepare ("auditor_reserves_insert",  			    "INSERT INTO auditor_reserves " @@ -1342,6 +1344,7 @@ postgres_get_auditor_progress (void *cls,   * @param cls the @e cls of this struct with the plugin-specific state   * @param session connection to use   * @param master_pub master key of the exchange + * @param account_name name of the wire account we are auditing   * @param pp where is the auditor in processing   * @return transaction status code   */ @@ -1349,6 +1352,7 @@ static enum GNUNET_DB_QueryStatus  postgres_insert_wire_auditor_progress (void *cls,                                         struct TALER_AUDITORDB_Session *session,                                         const struct TALER_MasterPublicKeyP *master_pub, +                                       const char *account_name,                                         const struct TALER_AUDITORDB_WireProgressPoint *pp,                                         const void *in_wire_off,                                         const void *out_wire_off, @@ -1356,6 +1360,7 @@ postgres_insert_wire_auditor_progress (void *cls,  {    struct GNUNET_PQ_QueryParam params[] = {      GNUNET_PQ_query_param_auto_from_type (master_pub), +    GNUNET_PQ_query_param_string (account_name),      GNUNET_PQ_query_param_uint64 (&pp->last_reserve_in_serial_id),      GNUNET_PQ_query_param_uint64 (&pp->last_wire_out_serial_id),      TALER_PQ_query_param_absolute_time (&pp->last_timestamp), @@ -1379,6 +1384,7 @@ postgres_insert_wire_auditor_progress (void *cls,   * @param cls the @e cls of this struct with the plugin-specific state   * @param session connection to use   * @param master_pub master key of the exchange + * @param account_name name of the wire account we are auditing   * @param pp where is the auditor in processing   * @return transaction status code   */ @@ -1386,6 +1392,7 @@ static enum GNUNET_DB_QueryStatus  postgres_update_wire_auditor_progress (void *cls,                                         struct TALER_AUDITORDB_Session *session,                                         const struct TALER_MasterPublicKeyP *master_pub, +                                       const char *account_name,                                         const struct TALER_AUDITORDB_WireProgressPoint *pp,                                         const void *in_wire_off,                                         const void *out_wire_off, @@ -1400,6 +1407,7 @@ postgres_update_wire_auditor_progress (void *cls,      GNUNET_PQ_query_param_fixed_size (out_wire_off,                                        wire_off_size),      GNUNET_PQ_query_param_auto_from_type (master_pub), +    GNUNET_PQ_query_param_string (account_name),      GNUNET_PQ_query_param_end    }; @@ -1415,6 +1423,7 @@ postgres_update_wire_auditor_progress (void *cls,   * @param cls the @e cls of this struct with the plugin-specific state   * @param session connection to use   * @param master_pub master key of the exchange + * @param account_name name of the wire account we are auditing   * @param[out] pp set to where the auditor is in processing   * @return transaction status code   */ @@ -1422,6 +1431,7 @@ static enum GNUNET_DB_QueryStatus  postgres_get_wire_auditor_progress (void *cls,                                      struct TALER_AUDITORDB_Session *session,                                      const struct TALER_MasterPublicKeyP *master_pub, +                                    const char *account_name,                                      struct TALER_AUDITORDB_WireProgressPoint *pp,                                      void **in_wire_off,                                      void **out_wire_off, @@ -1431,6 +1441,7 @@ postgres_get_wire_auditor_progress (void *cls,    enum GNUNET_DB_QueryStatus qs;    struct GNUNET_PQ_QueryParam params[] = {      GNUNET_PQ_query_param_auto_from_type (master_pub), +    GNUNET_PQ_query_param_string (account_name),      GNUNET_PQ_query_param_end    };    struct GNUNET_PQ_ResultSpec rs[] = { @@ -2594,12 +2605,12 @@ libtaler_plugin_auditordb_postgres_init (void *cls)      if (GNUNET_OK !=          GNUNET_CONFIGURATION_get_value_string (cfg,                                                 "auditordb-postgres", -                                               "db_conn_str", +                                               "CONFIG",                                                 &pg->connection_cfg_str))      {        GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,                                   "auditordb-postgres", -                                 "db_conn_str"); +                                 "CONFIG");        GNUNET_free (pg);        return NULL;      } diff --git a/src/auditordb/test-auditor-db-postgres.conf b/src/auditordb/test-auditor-db-postgres.conf index 5c1e7fbc..fd8ffbfd 100644 --- a/src/auditordb/test-auditor-db-postgres.conf +++ b/src/auditordb/test-auditor-db-postgres.conf @@ -4,4 +4,4 @@ DB = postgres  [auditordb-postgres]  # Argument for Postgres for how to connect to the database. -DB_CONN_STR = "postgres:///talercheck" +CONFIG = "postgres:///talercheck"  | 
