summaryrefslogtreecommitdiff
path: root/src/mintdb/perf_taler_mintdb_interpreter.h
diff options
context:
space:
mode:
authorFournier Nicolas <nicolas.fournier@ensta-paristech.fr>2015-06-22 14:46:19 +0200
committerFournier Nicolas <nicolas.fournier@ensta-paristech.fr>2015-06-22 14:46:19 +0200
commita4773ac3909239fa9cb8e2f71913c186b4edc745 (patch)
treea024e75ca8f711e2ba82401ea61b98a4e7b763ee /src/mintdb/perf_taler_mintdb_interpreter.h
parent3954fbe8c0bf1501c6067907c874127109a12457 (diff)
downloadexchange-a4773ac3909239fa9cb8e2f71913c186b4edc745.tar.gz
exchange-a4773ac3909239fa9cb8e2f71913c186b4edc745.tar.bz2
exchange-a4773ac3909239fa9cb8e2f71913c186b4edc745.zip
Added suport for testing more database operations
Diffstat (limited to 'src/mintdb/perf_taler_mintdb_interpreter.h')
-rw-r--r--src/mintdb/perf_taler_mintdb_interpreter.h155
1 files changed, 131 insertions, 24 deletions
diff --git a/src/mintdb/perf_taler_mintdb_interpreter.h b/src/mintdb/perf_taler_mintdb_interpreter.h
index 367aaf295..798660313 100644
--- a/src/mintdb/perf_taler_mintdb_interpreter.h
+++ b/src/mintdb/perf_taler_mintdb_interpreter.h
@@ -119,6 +119,37 @@
}
/**
+ * Extracts @a _nb_saved items of type @a _save_type
+ * from the command @a _label_save during the loop @a _label_loop
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY(_label, _label_loop, _label_save, _nb_saved, _save_type) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_SAVE_ARRAY, \
+ .label = _label, \
+ .exposed_type = PERF_TALER_MINTDB_NONE, \
+ .details.save_array = { \
+ .label_loop = _label_loop, \
+ .label_save = _label_save, \
+ .nb_saved = _nb_saved, \
+ .type_saved = _save_type \
+ } \
+}
+
+/**
+ * Loads @a _nb_saved previously sampled data of type @a _saved_type
+ * from @a _label_save during the loop @a _label_loop
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY(_label, _label_loop, _label_save) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_LOAD_ARRAY, \
+ .label = _label, \
+ .exposed_type = PERF_TALER_MINTDB_NONE, \
+ .details.load_array = { \
+ .label_loop = _label_loop, \
+ .label_save = _label_save \
+ } \
+}
+/**
* Insert a deposit into the database
*/
#define PERF_TALER_MINTDB_INIT_CMD_INSERT_DEPOSIT(_label) \
@@ -141,37 +172,71 @@
}
/**
- * Extracts @a _nb_saved items of type @a _save_type
- * from the command @a _label_save during the loop @a _label_loop
+ * Creates a new reserve in the database
*/
-#define PERF_TALER_MINTDB_INIT_CMD_SAVE_ARRAY(_label, _label_loop, _label_save, _nb_saved, _save_type) \
+#define PERF_TALER_MINTDB_INIT_CMD_INSERT_RESERVE(_label) \
{ \
- .command = PERF_TALER_MINTDB_CMD_SAVE_ARRAY, \
+ .command = PERF_TALER_MINTDB_CMD_INSERT_RESERVE \
+ .label = _label \
+ .exposed_type = PERF_TALER_MINTDB_RESERVE \
+}
+
+
+/**
+ * Polls the database for a secific reserve's details
+ * @param _label_source Source for the reserve to poll
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_GET_RESERVE(_label, _label_source) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_GET_RESERVE \
.label = _label, \
.exposed_type = PERF_TALER_MINTDB_NONE, \
- .details.save_array = { \
- .label_loop = _label_loop, \
- .label_save = _label_save, \
- .nb_saved = _nb_saved, \
- .type_saved = _save_type \
- } \
+ .details.get_reserve.label_source = _label_source \
}
+
/**
- * Loads @a _nb_saved previously sampled data of type @a _saved_type
- * from @a _label_save during the loop @a _label_loop
+ * Inserts informations about a withdrawal in the database
*/
-#define PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY(_label, _label_loop, _label_save) \
+#define PERF_TALER_MINTDB_INIT_CMD_INSERT_WITHDRAW(_label) \
{ \
- .command = PERF_TALER_MINTDB_CMD_LOAD_ARRAY, \
+ .command = PERF_TALER_MINTDB_CMD_INSERT_WITHDRAW, \
+ .label = _label, \
+ .exposed_type = PERF_TALER_MINTDB_BLINDCOIN, \
+}\
+
+
+/**
+ * Polls the database about informations regarding a secific withdrawal
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_GET_WITHDRAW(_label, _label_source) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_GET_WITHDRAW, \
.label = _label, \
.exposed_type = PERF_TALER_MINTDB_NONE, \
- .details.load_array = { \
- .label_loop = _label_loop, \
- .label_save = _label_save \
- } \
+ .details.get_withdraw.label_source = _label_source, \
}
+/**
+ * Inserts informations about a denomination key in the database
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_INSERT_DENOMINATION(_label) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_INSERT_WITHDRAW, \
+ .label = _label, \
+ .exposed_type = PERF_TALER_MINTDB_DENOMINATION_KEY, \
+}
+
+/**
+ * Polls the database about informations regarding a specific denomination key
+ */
+#define PERF_TALER_MINTDB_INIT_CMD_GET_DENOMINATION(_label, _label_source) \
+{ \
+ .command = PERF_TALER_MINTDB_CMD_GET_DENOMINATION, \
+ .label = _label, \
+ .exposed_type = PERF_TALER_MINTDB_NONE, \
+ .details.get_denomination.label_source = _label_source, \
+}
/**
@@ -184,7 +249,9 @@ enum PERF_TALER_MINTDB_Type
PERF_TALER_MINTDB_TIME,
PERF_TALER_MINTDB_DEPOSIT,
PERF_TALER_MINTDB_BLINDCOIN,
+ PERF_TALER_MINTDB_RESERVE_KEY,
PERF_TALER_MINTDB_RESERVE,
+ PERF_TALER_MINTDB_DENOMINATION_KEY,
PERF_TALER_MINTDB_DENOMINATION_INFO,
PERF_TALER_MINTDB_COIN_INFO,
};
@@ -195,10 +262,11 @@ enum PERF_TALER_MINTDB_Type
*/
union PERF_TALER_MINTDB_Data
{
- struct TALER_MINTDB_Deposit *deposit;
struct timespec time;
+ struct TALER_MINTDB_Deposit *deposit;
struct TALER_MINTDB_CollectableBlindcoin *blindcoin;
struct TALER_MINTDB_Reserve *reserve;
+ struct TALER_DenominationPublicKey *dpk;
struct TALER_MINTDB_DenominationKeyIssueInformation *dki;
struct TALER_CoinPublicInfo *cpi;
};
@@ -239,19 +307,36 @@ enum PERF_TALER_MINTDB_CMD_Name
// Abort a transaction
PERF_TALER_MINTDB_CMD_ABORT_TRANSACTION,
+ // Saves random deposits from a loop
+ PERF_TALER_MINTDB_CMD_SAVE_ARRAY,
+
+ // Load deposits saved earlier
+ PERF_TALER_MINTDB_CMD_LOAD_ARRAY,
+
// Insert a deposit into the database
PERF_TALER_MINTDB_CMD_INSERT_DEPOSIT,
// Check if a deposit is in the database
PERF_TALER_MINTDB_CMD_GET_DEPOSIT,
- // Saves random deposits from a loop
- PERF_TALER_MINTDB_CMD_SAVE_ARRAY,
+ // Insert currency in a reserve / Create a reserve
+ PERF_TALER_MINTDB_CMD_INSERT_RESERVE,
- // Load deposits saved earlier
- PERF_TALER_MINTDB_CMD_LOAD_ARRAY,
+ // Get Informations about a reserve
+ PERF_TALER_MINTDB_CMD_GET_RESERVE,
+
+ // Insert informations about a withdrawal in the database
+ PERF_TALER_MINTDB_CMD_INSERT_WITHDRAW,
-} command;
+ // Pulls informations about a withdrawal from the database
+ PERF_TALER_MINTDB_CMD_GET_WITHDRAW,
+
+ // Insert informations about a denomination key in the database
+ PERF_TALER_MINTDB_CMD_INSERT_DENOMINATION,
+
+ // polls the database for informations about a specific denomination key
+ PERF_TALER_MINTDB_CMD_GET_DENOMINATION
+};
/**
@@ -366,6 +451,26 @@ struct PERF_TALER_MINTDB_CMD_get_deposit_details
/**
+ * Extra data requiered for the GET_DEPOSIT command
+ */
+struct PERF_TALER_MINTDB_CMD_get_reserve_details
+{
+ /**
+ * The label of the source of the reserve to check
+ */
+ const char *label_source;
+};
+
+
+struct PERF_TALER_MINTDB_CMD_get_denomination_details
+{
+ /**
+ * The label of the source of the denomination to check
+ */
+ const char *label_source;
+};
+
+/**
* Contains extra data required for any command
*/
union PERF_TALER_MINTDB_CMD_Details
@@ -376,6 +481,8 @@ union PERF_TALER_MINTDB_CMD_Details
struct PERF_TALER_MINTDB_CMD_save_array_details save_array;
struct PERF_TALER_MINTDB_CMD_load_array_details load_array;
struct PERF_TALER_MINTDB_CMD_get_deposit_details get_deposit;
+ struct PERF_TALER_MINTDB_CMD_get_reserve_details get_reserve;
+ struct PERF_TALER_MINTDB_CMD_get_denomination_details get_denomination;
};