diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-04-26 16:40:09 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-04-26 16:40:09 +0200 |
commit | 823215c974ccb1ef3cad9eb1082999cd1b910416 (patch) | |
tree | 7984816482be2a6a50786796d7c24d297a707593 /src/namecache | |
parent | 1b21e0b643f37675683b09b9e528721cb7df74e5 (diff) | |
download | gnunet-823215c974ccb1ef3cad9eb1082999cd1b910416.tar.gz gnunet-823215c974ccb1ef3cad9eb1082999cd1b910416.zip |
misc zoneimporter fixes
Diffstat (limited to 'src/namecache')
-rw-r--r-- | src/namecache/plugin_namecache_sqlite.c | 75 |
1 files changed, 48 insertions, 27 deletions
diff --git a/src/namecache/plugin_namecache_sqlite.c b/src/namecache/plugin_namecache_sqlite.c index 6f5f2d952..e0f64a6b0 100644 --- a/src/namecache/plugin_namecache_sqlite.c +++ b/src/namecache/plugin_namecache_sqlite.c | |||
@@ -136,13 +136,16 @@ create_indices (sqlite3 * dbh) | |||
136 | { | 136 | { |
137 | /* create indices */ | 137 | /* create indices */ |
138 | if ( (SQLITE_OK != | 138 | if ( (SQLITE_OK != |
139 | sqlite3_exec (dbh, "CREATE INDEX IF NOT EXISTS ir_query_hash ON ns096blocks (query,expiration_time)", | 139 | sqlite3_exec (dbh, |
140 | "CREATE INDEX IF NOT EXISTS ir_query_hash ON ns096blocks (query,expiration_time)", | ||
140 | NULL, NULL, NULL)) || | 141 | NULL, NULL, NULL)) || |
141 | (SQLITE_OK != | 142 | (SQLITE_OK != |
142 | sqlite3_exec (dbh, "CREATE INDEX IF NOT EXISTS ir_block_expiration ON ns096blocks (expiration_time)", | 143 | sqlite3_exec (dbh, |
144 | "CREATE INDEX IF NOT EXISTS ir_block_expiration ON ns096blocks (expiration_time)", | ||
143 | NULL, NULL, NULL)) ) | 145 | NULL, NULL, NULL)) ) |
144 | LOG (GNUNET_ERROR_TYPE_ERROR, | 146 | LOG (GNUNET_ERROR_TYPE_ERROR, |
145 | "Failed to create indices: %s\n", sqlite3_errmsg (dbh)); | 147 | "Failed to create indices: %s\n", |
148 | sqlite3_errmsg (dbh)); | ||
146 | } | 149 | } |
147 | 150 | ||
148 | 151 | ||
@@ -208,28 +211,44 @@ database_setup (struct Plugin *plugin) | |||
208 | return GNUNET_SYSERR; | 211 | return GNUNET_SYSERR; |
209 | } | 212 | } |
210 | CHECK (SQLITE_OK == | 213 | CHECK (SQLITE_OK == |
211 | sqlite3_exec (plugin->dbh, "PRAGMA temp_store=MEMORY", NULL, NULL, | 214 | sqlite3_exec (plugin->dbh, |
215 | "PRAGMA temp_store=MEMORY", | ||
216 | NULL, NULL, | ||
212 | ENULL)); | 217 | ENULL)); |
213 | CHECK (SQLITE_OK == | 218 | CHECK (SQLITE_OK == |
214 | sqlite3_exec (plugin->dbh, "PRAGMA synchronous=NORMAL", NULL, NULL, | 219 | sqlite3_exec (plugin->dbh, |
220 | "PRAGMA synchronous=NORMAL", | ||
221 | NULL, NULL, | ||
215 | ENULL)); | 222 | ENULL)); |
216 | CHECK (SQLITE_OK == | 223 | CHECK (SQLITE_OK == |
217 | sqlite3_exec (plugin->dbh, "PRAGMA legacy_file_format=OFF", NULL, NULL, | 224 | sqlite3_exec (plugin->dbh, |
225 | "PRAGMA legacy_file_format=OFF", | ||
226 | NULL, NULL, | ||
218 | ENULL)); | 227 | ENULL)); |
219 | CHECK (SQLITE_OK == | 228 | CHECK (SQLITE_OK == |
220 | sqlite3_exec (plugin->dbh, "PRAGMA auto_vacuum=INCREMENTAL", NULL, | 229 | sqlite3_exec (plugin->dbh, |
221 | NULL, ENULL)); | 230 | "PRAGMA auto_vacuum=INCREMENTAL", |
231 | NULL, NULL, | ||
232 | ENULL)); | ||
222 | CHECK (SQLITE_OK == | 233 | CHECK (SQLITE_OK == |
223 | sqlite3_exec (plugin->dbh, "PRAGMA encoding=\"UTF-8\"", NULL, | 234 | sqlite3_exec (plugin->dbh, |
224 | NULL, ENULL)); | 235 | "PRAGMA encoding=\"UTF-8\"", |
236 | NULL, NULL, | ||
237 | ENULL)); | ||
225 | CHECK (SQLITE_OK == | 238 | CHECK (SQLITE_OK == |
226 | sqlite3_exec (plugin->dbh, "PRAGMA locking_mode=EXCLUSIVE", NULL, NULL, | 239 | sqlite3_exec (plugin->dbh, |
240 | "PRAGMA locking_mode=EXCLUSIVE", | ||
241 | NULL, NULL, | ||
227 | ENULL)); | 242 | ENULL)); |
228 | CHECK (SQLITE_OK == | 243 | CHECK (SQLITE_OK == |
229 | sqlite3_exec (plugin->dbh, "PRAGMA page_size=4092", NULL, NULL, | 244 | sqlite3_exec (plugin->dbh, |
245 | "PRAGMA page_size=4092", | ||
246 | NULL, NULL, | ||
230 | ENULL)); | 247 | ENULL)); |
231 | 248 | ||
232 | CHECK (SQLITE_OK == sqlite3_busy_timeout (plugin->dbh, BUSY_TIMEOUT_MS)); | 249 | CHECK (SQLITE_OK == |
250 | sqlite3_busy_timeout (plugin->dbh, | ||
251 | BUSY_TIMEOUT_MS)); | ||
233 | 252 | ||
234 | 253 | ||
235 | /* Create tables */ | 254 | /* Create tables */ |
@@ -237,17 +256,19 @@ database_setup (struct Plugin *plugin) | |||
237 | sq_prepare (plugin->dbh, | 256 | sq_prepare (plugin->dbh, |
238 | "SELECT 1 FROM sqlite_master WHERE tbl_name = 'ns096blocks'", | 257 | "SELECT 1 FROM sqlite_master WHERE tbl_name = 'ns096blocks'", |
239 | &stmt)); | 258 | &stmt)); |
240 | if ((sqlite3_step (stmt) == SQLITE_DONE) && | 259 | if ( (sqlite3_step (stmt) == SQLITE_DONE) && |
241 | (sqlite3_exec | 260 | (SQLITE_OK != |
242 | (plugin->dbh, | 261 | sqlite3_exec (plugin->dbh, |
243 | "CREATE TABLE ns096blocks (" | 262 | "CREATE TABLE ns096blocks (" |
244 | " query BLOB NOT NULL," | 263 | " query BLOB NOT NULL," |
245 | " block BLOB NOT NULL," | 264 | " block BLOB NOT NULL," |
246 | " expiration_time INT8 NOT NULL" | 265 | " expiration_time INT8 NOT NULL" |
247 | ")", | 266 | ")", |
248 | NULL, NULL, NULL) != SQLITE_OK)) | 267 | NULL, NULL, NULL)) ) |
249 | { | 268 | { |
250 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite3_exec"); | 269 | LOG_SQLITE (plugin, |
270 | GNUNET_ERROR_TYPE_ERROR, | ||
271 | "sqlite3_exec"); | ||
251 | sqlite3_finalize (stmt); | 272 | sqlite3_finalize (stmt); |
252 | return GNUNET_SYSERR; | 273 | return GNUNET_SYSERR; |
253 | } | 274 | } |
@@ -411,11 +432,11 @@ namecache_sqlite_cache_block (void *cls, | |||
411 | GNUNET_CRYPTO_hash (&block->derived_key, | 432 | GNUNET_CRYPTO_hash (&block->derived_key, |
412 | sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey), | 433 | sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey), |
413 | &query); | 434 | &query); |
414 | fprintf (stderr, // GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
415 | "Caching new version of block %s (expires %s)\n", | ||
416 | GNUNET_h2s (&query), | ||
417 | GNUNET_STRINGS_absolute_time_to_string (expiration)); | ||
418 | expiration = GNUNET_TIME_absolute_ntoh (block->expiration_time); | 435 | expiration = GNUNET_TIME_absolute_ntoh (block->expiration_time); |
436 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
437 | "Caching new version of block %s (expires %s)\n", | ||
438 | GNUNET_h2s (&query), | ||
439 | GNUNET_STRINGS_absolute_time_to_string (expiration)); | ||
419 | if (block_size > 64 * 65536) | 440 | if (block_size > 64 * 65536) |
420 | { | 441 | { |
421 | GNUNET_break (0); | 442 | GNUNET_break (0); |