aboutsummaryrefslogtreecommitdiff
path: root/src/pq/test_pq.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pq/test_pq.c')
-rw-r--r--src/pq/test_pq.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/pq/test_pq.c b/src/pq/test_pq.c
index b09354af8..e588da45d 100644
--- a/src/pq/test_pq.c
+++ b/src/pq/test_pq.c
@@ -47,10 +47,11 @@ postgres_prepare (struct GNUNET_PQ_Context *db)
47 ",u16" 47 ",u16"
48 ",u32" 48 ",u32"
49 ",u64" 49 ",u64"
50 ",unn"
50 ") VALUES " 51 ") VALUES "
51 "($1, $2, $3, $4, $5, $6," 52 "($1, $2, $3, $4, $5, $6,"
52 "$7, $8, $9);", 53 "$7, $8, $9, $10);",
53 9), 54 10),
54 GNUNET_PQ_make_prepare ("test_select", 55 GNUNET_PQ_make_prepare ("test_select",
55 "SELECT" 56 "SELECT"
56 " pub" 57 " pub"
@@ -62,6 +63,7 @@ postgres_prepare (struct GNUNET_PQ_Context *db)
62 ",u16" 63 ",u16"
63 ",u32" 64 ",u32"
64 ",u64" 65 ",u64"
66 ",unn"
65 " FROM test_pq" 67 " FROM test_pq"
66 " ORDER BY abs_time DESC " 68 " ORDER BY abs_time DESC "
67 " LIMIT 1;", 69 " LIMIT 1;",
@@ -106,7 +108,8 @@ run_queries (struct GNUNET_PQ_Context *db)
106 uint32_t u322; 108 uint32_t u322;
107 uint64_t u64; 109 uint64_t u64;
108 uint64_t u642; 110 uint64_t u642;
109 111 uint64_t uzzz = 42;
112
110 priv = GNUNET_CRYPTO_rsa_private_key_create (1024); 113 priv = GNUNET_CRYPTO_rsa_private_key_create (1024);
111 pub = GNUNET_CRYPTO_rsa_private_key_get_public (priv); 114 pub = GNUNET_CRYPTO_rsa_private_key_get_public (priv);
112 memset (&hmsg, 42, sizeof(hmsg)); 115 memset (&hmsg, 42, sizeof(hmsg));
@@ -127,11 +130,13 @@ run_queries (struct GNUNET_PQ_Context *db)
127 GNUNET_PQ_query_param_uint16 (&u16), 130 GNUNET_PQ_query_param_uint16 (&u16),
128 GNUNET_PQ_query_param_uint32 (&u32), 131 GNUNET_PQ_query_param_uint32 (&u32),
129 GNUNET_PQ_query_param_uint64 (&u64), 132 GNUNET_PQ_query_param_uint64 (&u64),
133 GNUNET_PQ_query_param_null (),
130 GNUNET_PQ_query_param_end 134 GNUNET_PQ_query_param_end
131 }; 135 };
132 struct GNUNET_PQ_QueryParam params_select[] = { 136 struct GNUNET_PQ_QueryParam params_select[] = {
133 GNUNET_PQ_query_param_end 137 GNUNET_PQ_query_param_end
134 }; 138 };
139 bool got_null = false;
135 struct GNUNET_PQ_ResultSpec results_select[] = { 140 struct GNUNET_PQ_ResultSpec results_select[] = {
136 GNUNET_PQ_result_spec_rsa_public_key ("pub", &pub2), 141 GNUNET_PQ_result_spec_rsa_public_key ("pub", &pub2),
137 GNUNET_PQ_result_spec_rsa_signature ("sig", &sig2), 142 GNUNET_PQ_result_spec_rsa_signature ("sig", &sig2),
@@ -142,6 +147,9 @@ run_queries (struct GNUNET_PQ_Context *db)
142 GNUNET_PQ_result_spec_uint16 ("u16", &u162), 147 GNUNET_PQ_result_spec_uint16 ("u16", &u162),
143 GNUNET_PQ_result_spec_uint32 ("u32", &u322), 148 GNUNET_PQ_result_spec_uint32 ("u32", &u322),
144 GNUNET_PQ_result_spec_uint64 ("u64", &u642), 149 GNUNET_PQ_result_spec_uint64 ("u64", &u642),
150 GNUNET_PQ_result_spec_allow_null (
151 GNUNET_PQ_result_spec_uint64 ("unn", &uzzz),
152 &got_null),
145 GNUNET_PQ_result_spec_end 153 GNUNET_PQ_result_spec_end
146 }; 154 };
147 155
@@ -197,6 +205,8 @@ run_queries (struct GNUNET_PQ_Context *db)
197 GNUNET_break (16 == u162); 205 GNUNET_break (16 == u162);
198 GNUNET_break (32 == u322); 206 GNUNET_break (32 == u322);
199 GNUNET_break (64 == u642); 207 GNUNET_break (64 == u642);
208 GNUNET_break (42 == uzzz);
209 GNUNET_break (got_null);
200 GNUNET_PQ_cleanup_result (results_select); 210 GNUNET_PQ_cleanup_result (results_select);
201 PQclear (result); 211 PQclear (result);
202 } 212 }
@@ -225,6 +235,7 @@ main (int argc,
225 ",u16 INT2 NOT NULL" 235 ",u16 INT2 NOT NULL"
226 ",u32 INT4 NOT NULL" 236 ",u32 INT4 NOT NULL"
227 ",u64 INT8 NOT NULL" 237 ",u64 INT8 NOT NULL"
238 ",unn INT8"
228 ")"), 239 ")"),
229 GNUNET_PQ_EXECUTE_STATEMENT_END 240 GNUNET_PQ_EXECUTE_STATEMENT_END
230 }; 241 };