diff options
Diffstat (limited to 'src/mint/test_mint_deposits.c')
-rw-r--r-- | src/mint/test_mint_deposits.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/mint/test_mint_deposits.c b/src/mint/test_mint_deposits.c index 00664cbbf..045485b20 100644 --- a/src/mint/test_mint_deposits.c +++ b/src/mint/test_mint_deposits.c | |||
@@ -52,6 +52,44 @@ static int persistent; | |||
52 | static int result; | 52 | static int result; |
53 | 53 | ||
54 | 54 | ||
55 | int | ||
56 | TALER_MINT_DB_init_deposits (PGconn *conn, int tmp) | ||
57 | { | ||
58 | const char *tmp_str = (1 == tmp) ? "TEMPORARY" : ""; | ||
59 | char *sql; | ||
60 | PGresult *res; | ||
61 | int ret; | ||
62 | |||
63 | res = NULL; | ||
64 | (void) GNUNET_asprintf (&sql, | ||
65 | "CREATE %1$s TABLE IF NOT EXISTS deposits (" | ||
66 | " coin_pub BYTEA NOT NULL PRIMARY KEY CHECK (length(coin_pub)=32)" | ||
67 | ",denom_pub BYTEA NOT NULL CHECK (length(denom_pub)=32)" | ||
68 | ",transaction_id INT8 NOT NULL" | ||
69 | ",amount_value INT4 NOT NULL" | ||
70 | ",amount_fraction INT4 NOT NULL" | ||
71 | ",amount_currency VARCHAR(4) NOT NULL" | ||
72 | ",merchant_pub BYTEA NOT NULL" | ||
73 | ",h_contract BYTEA NOT NULL CHECK (length(h_contract)=64)" | ||
74 | ",h_wire BYTEA NOT NULL CHECK (length(h_wire)=64)" | ||
75 | ",coin_sig BYTEA NOT NULL CHECK (length(coin_sig)=64)" | ||
76 | ",wire TEXT NOT NULL" | ||
77 | ")", | ||
78 | tmp_str); | ||
79 | res = PQexec (conn, sql); | ||
80 | GNUNET_free (sql); | ||
81 | if (PGRES_COMMAND_OK != PQresultStatus (res)) | ||
82 | { | ||
83 | break_db_err (res); | ||
84 | ret = GNUNET_SYSERR; | ||
85 | } | ||
86 | else | ||
87 | ret = GNUNET_OK; | ||
88 | PQclear (res); | ||
89 | return ret; | ||
90 | } | ||
91 | |||
92 | |||
55 | static void | 93 | static void |
56 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 94 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
57 | { | 95 | { |
@@ -89,7 +127,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
89 | &do_shutdown, NULL); | 127 | &do_shutdown, NULL); |
90 | EXITIF (NULL == (conn = PQconnectdb(DB_URI))); | 128 | EXITIF (NULL == (conn = PQconnectdb(DB_URI))); |
91 | EXITIF (GNUNET_OK != TALER_MINT_DB_init_deposits (conn, !persistent)); | 129 | EXITIF (GNUNET_OK != TALER_MINT_DB_init_deposits (conn, !persistent)); |
92 | EXITIF (GNUNET_OK != TALER_MINT_DB_prepare_deposits (conn)); | 130 | EXITIF (GNUNET_OK != TALER_MINT_DB_prepare (conn)); |
93 | deposit = GNUNET_malloc (sizeof (struct Deposit) + sizeof (wire)); | 131 | deposit = GNUNET_malloc (sizeof (struct Deposit) + sizeof (wire)); |
94 | /* Makeup a random coin public key */ | 132 | /* Makeup a random coin public key */ |
95 | GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, | 133 | GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, |