3 #include "ypc/core/db.h"
8 define_column(encrypted_skey, column,
ypc::hex_bytes,
"encrypted_skey");
9 define_column(encrypted_input, column,
ypc::hex_bytes,
"encrypted_input");
10 define_column(provider_pkey, column,
ypc::hex_bytes,
"provider_pkey");
11 define_column(analyzer_pkey, column,
ypc::hex_bytes,
"analyzer_pkey");
12 define_column(enclave_hash, column,
ypc::hex_bytes,
"program_enclave_hash");
15 define_column(status, column, uint64_t,
"status");
16 define_column(encrypted_result, column,
ypc::hex_bytes,
"encrypted_result");
17 define_column(result_signature, column,
ypc::hex_bytes,
"result_signature");
18 define_column(cost_signature, column,
ypc::hex_bytes,
"cost_signature");
23 template <
class STMT>
struct mysql_bind_setter<STMT, ypc::hex_bytes> {
24 static void bind(STMT stmt,
int index,
const ypc::hex_bytes &value) {
25 stmt->setString(index,
26 std::string((
const char *)value.data(), value.size()));
30 template <>
struct mysql_rs_getter<ypc::hex_bytes> {
31 template <
typename RST>
33 std::string str = r->getString(name);
58 constexpr
static const char *table_name =
"RequestData";
61 typedef ::ff::sql::table<::ff::sql::mysql<::ff::sql::cppconn>,
63 encrypted_input, provider_pkey, analyzer_pkey,
64 enclave_hash, forward_sig, status, encrypted_result,
65 result_signature, cost_signature, data_hash>
67 typedef typename request_data_table::row_type request_data_item_t;
71 request_db(
const std::string &url,
const std::string &usrname,
72 const std::string &passwd,
const std::string &dbname);
73 virtual void create_tables();
74 virtual void clear_tables();