From 6e599264ad13e8fc105493d74d7c11d46f8739ed Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 6 Sep 2019 22:46:29 +0000 Subject: first step to remove plibc --- src/datastore/plugin_datastore_sqlite.c | 893 ++++++++++++++------------------ 1 file changed, 399 insertions(+), 494 deletions(-) (limited to 'src/datastore/plugin_datastore_sqlite.c') diff --git a/src/datastore/plugin_datastore_sqlite.c b/src/datastore/plugin_datastore_sqlite.c index d548935ea..4bd2b39cb 100644 --- a/src/datastore/plugin_datastore_sqlite.c +++ b/src/datastore/plugin_datastore_sqlite.c @@ -1,4 +1,4 @@ - /* +/* * This file is part of GNUnet * Copyright (C) 2009, 2011, 2017 GNUnet e.V. * @@ -55,7 +55,17 @@ * a failure of the command 'cmd' on file 'filename' * with the message given by strerror(errno). */ -#define LOG_SQLITE(db, level, cmd) do { GNUNET_log_from (level, "sqlite", _("`%s' failed at %s:%d with error: %s\n"), cmd, __FILE__, __LINE__, sqlite3_errmsg(db->dbh)); } while(0) +#define LOG_SQLITE(db, level, cmd) \ + do \ + { \ + GNUNET_log_from (level, \ + "sqlite", \ + _ ("`%s' failed at %s:%d with error: %s\n"), \ + cmd, \ + __FILE__, \ + __LINE__, \ + sqlite3_errmsg (db->dbh)); \ + } while (0) /** @@ -63,8 +73,23 @@ * a failure of the command 'cmd' on file 'filename' * with the message given by strerror(errno). */ -#define LOG_SQLITE_MSG(db, msg, level, cmd) do { GNUNET_log_from (level, "sqlite", _("`%s' failed at %s:%d with error: %s\n"), cmd, __FILE__, __LINE__, sqlite3_errmsg(db->dbh)); GNUNET_asprintf(msg, _("`%s' failed at %s:%u with error: %s"), cmd, __FILE__, __LINE__, sqlite3_errmsg(db->dbh)); } while(0) - +#define LOG_SQLITE_MSG(db, msg, level, cmd) \ + do \ + { \ + GNUNET_log_from (level, \ + "sqlite", \ + _ ("`%s' failed at %s:%d with error: %s\n"), \ + cmd, \ + __FILE__, \ + __LINE__, \ + sqlite3_errmsg (db->dbh)); \ + GNUNET_asprintf (msg, \ + _ ("`%s' failed at %s:%u with error: %s"), \ + cmd, \ + __FILE__, \ + __LINE__, \ + sqlite3_errmsg (db->dbh)); \ + } while (0) /** @@ -141,7 +166,6 @@ struct Plugin * Should the database be dropped on shutdown? */ int drop_on_shutdown; - }; @@ -154,9 +178,7 @@ struct Plugin * @return 0 on success */ static int -sq_prepare (sqlite3 *dbh, - const char *zSql, - sqlite3_stmt **ppStmt) +sq_prepare (sqlite3 *dbh, const char *zSql, sqlite3_stmt **ppStmt) { char *dummy; int result; @@ -182,37 +204,56 @@ sq_prepare (sqlite3 *dbh, * @param dbh handle to the database */ static void -create_indices (sqlite3 * dbh) +create_indices (sqlite3 *dbh) { /* create indices */ - if (0 != - (SQLITE_OK != - sqlite3_exec (dbh, "CREATE INDEX IF NOT EXISTS idx_hash ON gn091 (hash)", - NULL, NULL, NULL)) + + if ( + 0 != + (SQLITE_OK != + sqlite3_exec (dbh, + "CREATE INDEX IF NOT EXISTS idx_hash ON gn091 (hash)", + NULL, + NULL, + NULL)) + (SQLITE_OK != - sqlite3_exec (dbh, - "CREATE INDEX IF NOT EXISTS idx_anon_type ON gn091 (anonLevel ASC,type)", - NULL, NULL, NULL)) + + sqlite3_exec ( + dbh, + "CREATE INDEX IF NOT EXISTS idx_anon_type ON gn091 (anonLevel ASC,type)", + NULL, + NULL, + NULL)) + (SQLITE_OK != sqlite3_exec (dbh, "CREATE INDEX IF NOT EXISTS idx_expire ON gn091 (expire ASC)", - NULL, NULL, NULL)) + + NULL, + NULL, + NULL)) + (SQLITE_OK != - sqlite3_exec (dbh, - "CREATE INDEX IF NOT EXISTS idx_repl_rvalue ON gn091 (repl,rvalue)", - NULL, NULL, NULL)) ) - GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "sqlite", - "Failed to create indices: %s\n", sqlite3_errmsg (dbh)); + sqlite3_exec ( + dbh, + "CREATE INDEX IF NOT EXISTS idx_repl_rvalue ON gn091 (repl,rvalue)", + NULL, + NULL, + NULL))) + GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, + "sqlite", + "Failed to create indices: %s\n", + sqlite3_errmsg (dbh)); } #if 0 -#define CHECK(a) GNUNET_break(a) +#define CHECK(a) GNUNET_break (a) #define ENULL NULL #else #define ENULL &e #define ENULL_DEFINED 1 -#define CHECK(a) if (! (a)) { GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "%s\n", e); sqlite3_free(e); } +#define CHECK(a) \ + if (! (a)) \ + { \ + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "%s\n", e); \ + sqlite3_free (e); \ + } #endif @@ -235,21 +276,19 @@ database_setup (const struct GNUNET_CONFIGURATION_Handle *cfg, char *e; #endif - if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_filename (cfg, - "datastore-sqlite", - "FILENAME", - &afsdir)) + if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, + "datastore-sqlite", + "FILENAME", + &afsdir)) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "datastore-sqlite", + "datastore-sqlite", "FILENAME"); return GNUNET_SYSERR; } if (GNUNET_OK != GNUNET_DISK_file_test (afsdir)) { - if (GNUNET_OK != - GNUNET_DISK_directory_create_for_file (afsdir)) + if (GNUNET_OK != GNUNET_DISK_directory_create_for_file (afsdir)) { GNUNET_break (0); GNUNET_free (afsdir); @@ -257,48 +296,46 @@ database_setup (const struct GNUNET_CONFIGURATION_Handle *cfg, } /* database is new or got deleted, reset payload to zero! */ if (NULL != plugin->env->duc) - plugin->env->duc (plugin->env->cls, - 0); + plugin->env->duc (plugin->env->cls, 0); } /* afsdir should be UTF-8-encoded. If it isn't, it's a bug */ plugin->fn = afsdir; /* Open database and precompile statements */ - if (SQLITE_OK != - sqlite3_open (plugin->fn, &plugin->dbh)) + if (SQLITE_OK != sqlite3_open (plugin->fn, &plugin->dbh)) { - GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "sqlite", - _("Unable to initialize SQLite: %s.\n"), + GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, + "sqlite", + _ ("Unable to initialize SQLite: %s.\n"), sqlite3_errmsg (plugin->dbh)); return GNUNET_SYSERR; } - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA temp_store=MEMORY", NULL, NULL, - ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA synchronous=OFF", NULL, NULL, - ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA legacy_file_format=OFF", NULL, NULL, - ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA auto_vacuum=INCREMENTAL", NULL, - NULL, ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA locking_mode=EXCLUSIVE", NULL, NULL, - ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA page_size=4096", NULL, NULL, - ENULL)); - - CHECK (SQLITE_OK == - sqlite3_busy_timeout (plugin->dbh, BUSY_TIMEOUT_MS)); + CHECK ( + SQLITE_OK == + sqlite3_exec (plugin->dbh, "PRAGMA temp_store=MEMORY", NULL, NULL, ENULL)); + CHECK ( + SQLITE_OK == + sqlite3_exec (plugin->dbh, "PRAGMA synchronous=OFF", NULL, NULL, ENULL)); + CHECK (SQLITE_OK == sqlite3_exec (plugin->dbh, + "PRAGMA legacy_file_format=OFF", + NULL, + NULL, + ENULL)); + CHECK (SQLITE_OK == sqlite3_exec (plugin->dbh, + "PRAGMA auto_vacuum=INCREMENTAL", + NULL, + NULL, + ENULL)); + CHECK (SQLITE_OK == sqlite3_exec (plugin->dbh, + "PRAGMA locking_mode=EXCLUSIVE", + NULL, + NULL, + ENULL)); + CHECK ( + SQLITE_OK == + sqlite3_exec (plugin->dbh, "PRAGMA page_size=4096", NULL, NULL, ENULL)); + + CHECK (SQLITE_OK == sqlite3_busy_timeout (plugin->dbh, BUSY_TIMEOUT_MS)); /* We have to do it here, because otherwise precompiling SQL might fail */ @@ -312,152 +349,135 @@ database_setup (const struct GNUNET_CONFIGURATION_Handle *cfg, * we do math or inequality tests, so we can't handle the entire range of uint32_t. * This will also cause problems for expiration times after 294247-01-10-04:00:54 UTC. */ - if ( (SQLITE_DONE == - sqlite3_step (stmt)) && - (SQLITE_OK != - sqlite3_exec (plugin->dbh, - "CREATE TABLE gn091 (" - " repl INT4 NOT NULL DEFAULT 0," - " type INT4 NOT NULL DEFAULT 0," - " prio INT4 NOT NULL DEFAULT 0," - " anonLevel INT4 NOT NULL DEFAULT 0," - " expire INT8 NOT NULL DEFAULT 0," - " rvalue INT8 NOT NULL," - " hash TEXT NOT NULL DEFAULT ''," - " vhash TEXT NOT NULL DEFAULT ''," - " value BLOB NOT NULL DEFAULT '')", - NULL, - NULL, - NULL)) ) + if ((SQLITE_DONE == sqlite3_step (stmt)) && + (SQLITE_OK != sqlite3_exec (plugin->dbh, + "CREATE TABLE gn091 (" + " repl INT4 NOT NULL DEFAULT 0," + " type INT4 NOT NULL DEFAULT 0," + " prio INT4 NOT NULL DEFAULT 0," + " anonLevel INT4 NOT NULL DEFAULT 0," + " expire INT8 NOT NULL DEFAULT 0," + " rvalue INT8 NOT NULL," + " hash TEXT NOT NULL DEFAULT ''," + " vhash TEXT NOT NULL DEFAULT ''," + " value BLOB NOT NULL DEFAULT '')", + NULL, + NULL, + NULL))) { - LOG_SQLITE (plugin, - GNUNET_ERROR_TYPE_ERROR, - "sqlite3_exec"); + LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite3_exec"); sqlite3_finalize (stmt); return GNUNET_SYSERR; } sqlite3_finalize (stmt); create_indices (plugin->dbh); -#define RESULT_COLUMNS "repl, type, prio, anonLevel, expire, hash, value, _ROWID_" - if ( (SQLITE_OK != - sq_prepare (plugin->dbh, - "UPDATE gn091 " - "SET prio = prio + ?, " - "repl = repl + ?, " - "expire = MAX(expire, ?) " - "WHERE hash = ? AND vhash = ?", - &plugin->update)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "UPDATE gn091 " "SET repl = MAX (0, repl - 1) WHERE _ROWID_ = ?", - &plugin->updRepl)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE repl=?2 AND " " (rvalue>=?1 OR " - " NOT EXISTS (SELECT 1 FROM gn091 " - "WHERE repl=?2 AND rvalue>=?1 LIMIT 1) ) " - "ORDER BY rvalue ASC LIMIT 1", - &plugin->selRepl)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT MAX(repl) FROM gn091", - &plugin->maxRepl)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE NOT EXISTS (SELECT 1 FROM gn091 WHERE expire < ?1 LIMIT 1) OR (expire < ?1) " - "ORDER BY expire ASC LIMIT 1", - &plugin->selExpi)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ? AND " - "anonLevel = 0 AND " - "type = ? " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->selZeroAnon)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "INSERT INTO gn091 (repl, type, prio, anonLevel, expire, rvalue, hash, vhash, value) " - "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", - &plugin->insertContent)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[0])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "type = ?4 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[1])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "hash = ?3 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[2])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "hash = ?3 AND " - "type = ?4 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[3])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "rvalue >= ?2 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[4])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "rvalue >= ?2 AND " - "type = ?4 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[5])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "rvalue >= ?2 AND " - "hash = ?3 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[6])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT " RESULT_COLUMNS " FROM gn091 " - "WHERE _ROWID_ >= ?1 AND " - "rvalue >= ?2 AND " - "hash = ?3 AND " - "type = ?4 " - "ORDER BY _ROWID_ ASC LIMIT 1", - &plugin->get[7])) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "DELETE FROM gn091 WHERE _ROWID_ = ?", - &plugin->delRow)) || - (SQLITE_OK != - sq_prepare (plugin->dbh, - "DELETE FROM gn091 " - "WHERE hash = ? AND " - "value = ? ", - &plugin->remove)) || - false) +#define RESULT_COLUMNS \ + "repl, type, prio, anonLevel, expire, hash, value, _ROWID_" + if ( + (SQLITE_OK != sq_prepare (plugin->dbh, + "UPDATE gn091 " + "SET prio = prio + ?, " + "repl = repl + ?, " + "expire = MAX(expire, ?) " + "WHERE hash = ? AND vhash = ?", + &plugin->update)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "UPDATE gn091 " + "SET repl = MAX (0, repl - 1) WHERE _ROWID_ = ?", + &plugin->updRepl)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE repl=?2 AND " + " (rvalue>=?1 OR " + " NOT EXISTS (SELECT 1 FROM gn091 " + "WHERE repl=?2 AND rvalue>=?1 LIMIT 1) ) " + "ORDER BY rvalue ASC LIMIT 1", + &plugin->selRepl)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT MAX(repl) FROM gn091", + &plugin->maxRepl)) || + (SQLITE_OK != + sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE NOT EXISTS (SELECT 1 FROM gn091 WHERE expire < ?1 LIMIT 1) OR (expire < ?1) " + "ORDER BY expire ASC LIMIT 1", + &plugin->selExpi)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ? AND " + "anonLevel = 0 AND " + "type = ? " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->selZeroAnon)) || + (SQLITE_OK != + sq_prepare (plugin->dbh, + "INSERT INTO gn091 (repl, type, prio, anonLevel, expire, rvalue, hash, vhash, value) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", + &plugin->insertContent)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[0])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "type = ?4 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[1])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "hash = ?3 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[2])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "hash = ?3 AND " + "type = ?4 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[3])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "rvalue >= ?2 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[4])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "rvalue >= ?2 AND " + "type = ?4 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[5])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "rvalue >= ?2 AND " + "hash = ?3 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[6])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "SELECT " RESULT_COLUMNS " FROM gn091 " + "WHERE _ROWID_ >= ?1 AND " + "rvalue >= ?2 AND " + "hash = ?3 AND " + "type = ?4 " + "ORDER BY _ROWID_ ASC LIMIT 1", + &plugin->get[7])) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "DELETE FROM gn091 WHERE _ROWID_ = ?", + &plugin->delRow)) || + (SQLITE_OK != sq_prepare (plugin->dbh, + "DELETE FROM gn091 " + "WHERE hash = ? AND " + "value = ? ", + &plugin->remove)) || + false) { - LOG_SQLITE (plugin, - GNUNET_ERROR_TYPE_ERROR, - "precompiling"); + LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "precompiling"); return GNUNET_SYSERR; } return GNUNET_OK; @@ -503,11 +523,12 @@ database_shutdown (struct Plugin *plugin) #if SQLITE_VERSION_NUMBER >= 3007000 if (result == SQLITE_BUSY) { - GNUNET_log_from (GNUNET_ERROR_TYPE_WARNING, - "sqlite", - _("Tried to close sqlite without finalizing all prepared statements.\n")); - stmt = sqlite3_next_stmt (plugin->dbh, - NULL); + GNUNET_log_from ( + GNUNET_ERROR_TYPE_WARNING, + "sqlite", + _ ( + "Tried to close sqlite without finalizing all prepared statements.\n")); + stmt = sqlite3_next_stmt (plugin->dbh, NULL); while (NULL != stmt) { GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, @@ -521,16 +542,13 @@ database_shutdown (struct Plugin *plugin) "Failed to close statement %p: %d\n", stmt, result); - stmt = sqlite3_next_stmt (plugin->dbh, - NULL); + stmt = sqlite3_next_stmt (plugin->dbh, NULL); } result = sqlite3_close (plugin->dbh); } #endif if (SQLITE_OK != result) - LOG_SQLITE (plugin, - GNUNET_ERROR_TYPE_ERROR, - "sqlite3_close"); + LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite3_close"); GNUNET_free_non_null (plugin->fn); } @@ -543,28 +561,22 @@ database_shutdown (struct Plugin *plugin) * @param rid the ID of the row to delete */ static int -delete_by_rowid (struct Plugin *plugin, - uint64_t rid) +delete_by_rowid (struct Plugin *plugin, uint64_t rid) { - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_uint64 (&rid), - GNUNET_SQ_query_param_end - }; - - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->delRow, - params)) + struct GNUNET_SQ_QueryParam params[] = {GNUNET_SQ_query_param_uint64 (&rid), + GNUNET_SQ_query_param_end}; + + if (GNUNET_OK != GNUNET_SQ_bind (plugin->delRow, params)) return GNUNET_SYSERR; if (SQLITE_DONE != sqlite3_step (plugin->delRow)) { - LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, + LOG_SQLITE (plugin, + GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - GNUNET_SQ_reset (plugin->dbh, - plugin->delRow); + GNUNET_SQ_reset (plugin->dbh, plugin->delRow); return GNUNET_SYSERR; } - GNUNET_SQ_reset (plugin->dbh, - plugin->delRow); + GNUNET_SQ_reset (plugin->dbh, plugin->delRow); return GNUNET_OK; } @@ -603,94 +615,78 @@ sqlite_plugin_put (void *cls, struct GNUNET_HashCode vhash; char *msg = NULL; - GNUNET_CRYPTO_hash (data, - size, - &vhash); + GNUNET_CRYPTO_hash (data, size, &vhash); - if (!absent) + if (! absent) { - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_uint32 (&priority), - GNUNET_SQ_query_param_uint32 (&replication), - GNUNET_SQ_query_param_absolute_time (&expiration), - GNUNET_SQ_query_param_auto_from_type (key), - GNUNET_SQ_query_param_auto_from_type (&vhash), - GNUNET_SQ_query_param_end - }; - - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->update, - params)) + struct GNUNET_SQ_QueryParam params[] = + {GNUNET_SQ_query_param_uint32 (&priority), + GNUNET_SQ_query_param_uint32 (&replication), + GNUNET_SQ_query_param_absolute_time (&expiration), + GNUNET_SQ_query_param_auto_from_type (key), + GNUNET_SQ_query_param_auto_from_type (&vhash), + GNUNET_SQ_query_param_end}; + + if (GNUNET_OK != GNUNET_SQ_bind (plugin->update, params)) { - cont (cont_cls, - key, - size, - GNUNET_SYSERR, - _("sqlite bind failure")); + cont (cont_cls, key, size, GNUNET_SYSERR, _ ("sqlite bind failure")); return; } if (SQLITE_DONE != sqlite3_step (plugin->update)) { - LOG_SQLITE_MSG (plugin, &msg, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, + LOG_SQLITE_MSG (plugin, + &msg, + GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - cont (cont_cls, - key, - size, - GNUNET_SYSERR, - msg); + cont (cont_cls, key, size, GNUNET_SYSERR, msg); GNUNET_free_non_null (msg); return; } int changes = sqlite3_changes (plugin->dbh); - GNUNET_SQ_reset (plugin->dbh, - plugin->update); + GNUNET_SQ_reset (plugin->dbh, plugin->update); if (0 != changes) { - cont (cont_cls, - key, - size, - GNUNET_NO, - NULL); + cont (cont_cls, key, size, GNUNET_NO, NULL); return; } } uint64_t rvalue; uint32_t type32 = (uint32_t) type; - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_uint32 (&replication), - GNUNET_SQ_query_param_uint32 (&type32), - GNUNET_SQ_query_param_uint32 (&priority), - GNUNET_SQ_query_param_uint32 (&anonymity), - GNUNET_SQ_query_param_absolute_time (&expiration), - GNUNET_SQ_query_param_uint64 (&rvalue), - GNUNET_SQ_query_param_auto_from_type (key), - GNUNET_SQ_query_param_auto_from_type (&vhash), - GNUNET_SQ_query_param_fixed_size (data, size), - GNUNET_SQ_query_param_end - }; + struct GNUNET_SQ_QueryParam params[] = + {GNUNET_SQ_query_param_uint32 (&replication), + GNUNET_SQ_query_param_uint32 (&type32), + GNUNET_SQ_query_param_uint32 (&priority), + GNUNET_SQ_query_param_uint32 (&anonymity), + GNUNET_SQ_query_param_absolute_time (&expiration), + GNUNET_SQ_query_param_uint64 (&rvalue), + GNUNET_SQ_query_param_auto_from_type (key), + GNUNET_SQ_query_param_auto_from_type (&vhash), + GNUNET_SQ_query_param_fixed_size (data, size), + GNUNET_SQ_query_param_end}; int n; int ret; sqlite3_stmt *stmt; if (size > MAX_ITEM_SIZE) { - cont (cont_cls, key, size, GNUNET_SYSERR, _("Data too large")); + cont (cont_cls, key, size, GNUNET_SYSERR, _ ("Data too large")); return; } - GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "sqlite", - "Storing in database block with type %u/key `%s'/priority %u/expiration in %s (%s).\n", - type, - GNUNET_h2s (key), - priority, - GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_remaining (expiration), - GNUNET_YES), - GNUNET_STRINGS_absolute_time_to_string (expiration)); + GNUNET_log_from ( + GNUNET_ERROR_TYPE_DEBUG, + "sqlite", + "Storing in database block with type %u/key `%s'/priority %u/expiration in %s (%s).\n", + type, + GNUNET_h2s (key), + priority, + GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_remaining ( + expiration), + GNUNET_YES), + GNUNET_STRINGS_absolute_time_to_string (expiration)); stmt = plugin->insertContent; rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX); - if (GNUNET_OK != - GNUNET_SQ_bind (stmt, - params)) + if (GNUNET_OK != GNUNET_SQ_bind (stmt, params)) { cont (cont_cls, key, size, GNUNET_SYSERR, NULL); return; @@ -702,7 +698,8 @@ sqlite_plugin_put (void *cls, if (NULL != plugin->env->duc) plugin->env->duc (plugin->env->cls, size + GNUNET_DATASTORE_ENTRY_OVERHEAD); - GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "sqlite", + GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, + "sqlite", "Stored new entry (%u bytes)\n", size + GNUNET_DATASTORE_ENTRY_OVERHEAD); ret = GNUNET_OK; @@ -710,28 +707,26 @@ sqlite_plugin_put (void *cls, case SQLITE_BUSY: GNUNET_break (0); LOG_SQLITE_MSG (plugin, - &msg, - GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, + &msg, + GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); ret = GNUNET_SYSERR; break; default: LOG_SQLITE_MSG (plugin, - &msg, - GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, + &msg, + GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - GNUNET_SQ_reset (plugin->dbh, - stmt); + GNUNET_SQ_reset (plugin->dbh, stmt); database_shutdown (plugin); database_setup (plugin->env->cfg, plugin); cont (cont_cls, key, size, GNUNET_SYSERR, msg); - GNUNET_free_non_null(msg); + GNUNET_free_non_null (msg); return; } - GNUNET_SQ_reset (plugin->dbh, - stmt); + GNUNET_SQ_reset (plugin->dbh, stmt); cont (cont_cls, key, size, ret, msg); - GNUNET_free_non_null(msg); + GNUNET_free_non_null (msg); } @@ -761,26 +756,22 @@ execute_get (struct Plugin *plugin, size_t value_size; struct GNUNET_HashCode key; int ret; - struct GNUNET_SQ_ResultSpec rs[] = { - GNUNET_SQ_result_spec_uint32 (&replication), - GNUNET_SQ_result_spec_uint32 (&type), - GNUNET_SQ_result_spec_uint32 (&priority), - GNUNET_SQ_result_spec_uint32 (&anonymity), - GNUNET_SQ_result_spec_absolute_time (&expiration), - GNUNET_SQ_result_spec_auto_from_type (&key), - GNUNET_SQ_result_spec_variable_size (&value, - &value_size), - GNUNET_SQ_result_spec_uint64 (&rowid), - GNUNET_SQ_result_spec_end - }; + struct GNUNET_SQ_ResultSpec rs[] = + {GNUNET_SQ_result_spec_uint32 (&replication), + GNUNET_SQ_result_spec_uint32 (&type), + GNUNET_SQ_result_spec_uint32 (&priority), + GNUNET_SQ_result_spec_uint32 (&anonymity), + GNUNET_SQ_result_spec_absolute_time (&expiration), + GNUNET_SQ_result_spec_auto_from_type (&key), + GNUNET_SQ_result_spec_variable_size (&value, &value_size), + GNUNET_SQ_result_spec_uint64 (&rowid), + GNUNET_SQ_result_spec_end}; n = sqlite3_step (stmt); switch (n) { case SQLITE_ROW: - if (GNUNET_OK != - GNUNET_SQ_extract_result (stmt, - rs)) + if (GNUNET_OK != GNUNET_SQ_extract_result (stmt, rs)) { GNUNET_break (0); break; @@ -800,12 +791,9 @@ execute_get (struct Plugin *plugin, expiration, rowid); GNUNET_SQ_cleanup_result (rs); - GNUNET_SQ_reset (plugin->dbh, - stmt); - if ( (GNUNET_NO == ret) && - (GNUNET_OK == delete_by_rowid (plugin, - rowid)) && - (NULL != plugin->env->duc) ) + GNUNET_SQ_reset (plugin->dbh, stmt); + if ((GNUNET_NO == ret) && (GNUNET_OK == delete_by_rowid (plugin, rowid)) && + (NULL != plugin->env->duc)) plugin->env->duc (plugin->env->cls, -(value_size + GNUNET_DATASTORE_ENTRY_OVERHEAD)); return; @@ -819,20 +807,17 @@ execute_get (struct Plugin *plugin, LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - if (SQLITE_OK != - sqlite3_reset (stmt)) + if (SQLITE_OK != sqlite3_reset (stmt)) LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_reset"); GNUNET_break (0); proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); database_shutdown (plugin); - database_setup (plugin->env->cfg, - plugin); + database_setup (plugin->env->cfg, plugin); return; } - GNUNET_SQ_reset (plugin->dbh, - stmt); + GNUNET_SQ_reset (plugin->dbh, stmt); proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); } @@ -858,16 +843,14 @@ sqlite_plugin_get_zero_anonymity (void *cls, { struct Plugin *plugin = cls; uint32_t type32 = type; - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_uint64 (&next_uid), - GNUNET_SQ_query_param_uint32 (&type32), - GNUNET_SQ_query_param_end - }; + struct GNUNET_SQ_QueryParam params[] = {GNUNET_SQ_query_param_uint64 ( + &next_uid), + GNUNET_SQ_query_param_uint32 ( + &type32), + GNUNET_SQ_query_param_end}; GNUNET_assert (type != GNUNET_BLOCK_TYPE_ANY); - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->selZeroAnon, - params)) + if (GNUNET_OK != GNUNET_SQ_bind (plugin->selZeroAnon, params)) { proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; @@ -905,13 +888,12 @@ sqlite_plugin_get_key (void *cls, int use_type = GNUNET_BLOCK_TYPE_ANY != type; int use_key = NULL != key; sqlite3_stmt *stmt = plugin->get[use_rvalue * 4 + use_key * 2 + use_type]; - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_uint64 (&next_uid), - GNUNET_SQ_query_param_uint64 (&rvalue), - GNUNET_SQ_query_param_auto_from_type (key), - GNUNET_SQ_query_param_uint32 (&type32), - GNUNET_SQ_query_param_end - }; + struct GNUNET_SQ_QueryParam params[] = + {GNUNET_SQ_query_param_uint64 (&next_uid), + GNUNET_SQ_query_param_uint64 (&rvalue), + GNUNET_SQ_query_param_auto_from_type (key), + GNUNET_SQ_query_param_uint32 (&type32), + GNUNET_SQ_query_param_end}; /* SQLite doesn't like it when you try to bind a parameter greater than the * last numbered parameter, but unused parameters in the middle are OK. @@ -928,24 +910,18 @@ sqlite_plugin_get_key (void *cls, } if (random) { - rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); + rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX); next_uid = 0; } else rvalue = 0; - if (GNUNET_OK != - GNUNET_SQ_bind (stmt, - params)) + if (GNUNET_OK != GNUNET_SQ_bind (stmt, params)) { proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; } - execute_get (plugin, - stmt, - proc, - proc_cls); + execute_get (plugin, stmt, proc, proc_cls); } @@ -1051,37 +1027,27 @@ sqlite_plugin_get_replication (void *cls, struct ReplCtx rc; uint64_t rvalue; uint32_t repl; - struct GNUNET_SQ_QueryParam params_sel_repl[] = { - GNUNET_SQ_query_param_uint64 (&rvalue), - GNUNET_SQ_query_param_uint32 (&repl), - GNUNET_SQ_query_param_end - }; - struct GNUNET_SQ_QueryParam params_upd_repl[] = { - GNUNET_SQ_query_param_uint64 (&rc.uid), - GNUNET_SQ_query_param_end - }; + struct GNUNET_SQ_QueryParam params_sel_repl[] = + {GNUNET_SQ_query_param_uint64 (&rvalue), + GNUNET_SQ_query_param_uint32 (&repl), + GNUNET_SQ_query_param_end}; + struct GNUNET_SQ_QueryParam params_upd_repl[] = + {GNUNET_SQ_query_param_uint64 (&rc.uid), GNUNET_SQ_query_param_end}; GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "datastore-sqlite", "Getting random block based on replication order.\n"); - if (SQLITE_ROW != - sqlite3_step (plugin->maxRepl)) + if (SQLITE_ROW != sqlite3_step (plugin->maxRepl)) { - GNUNET_SQ_reset (plugin->dbh, - plugin->maxRepl); + GNUNET_SQ_reset (plugin->dbh, plugin->maxRepl); /* DB empty */ proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; } - repl = sqlite3_column_int (plugin->maxRepl, - 0); - GNUNET_SQ_reset (plugin->dbh, - plugin->maxRepl); - rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->selRepl, - params_sel_repl)) + repl = sqlite3_column_int (plugin->maxRepl, 0); + GNUNET_SQ_reset (plugin->dbh, plugin->maxRepl); + rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX); + if (GNUNET_OK != GNUNET_SQ_bind (plugin->selRepl, params_sel_repl)) { proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; @@ -1089,26 +1055,19 @@ sqlite_plugin_get_replication (void *cls, rc.have_uid = GNUNET_SYSERR; rc.proc = proc; rc.proc_cls = proc_cls; - execute_get (plugin, - plugin->selRepl, - &repl_proc, - &rc); + execute_get (plugin, plugin->selRepl, &repl_proc, &rc); if (GNUNET_YES == rc.have_uid) { - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->updRepl, - params_upd_repl)) + if (GNUNET_OK != GNUNET_SQ_bind (plugin->updRepl, params_upd_repl)) { proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; } - if (SQLITE_DONE != - sqlite3_step (plugin->updRepl)) + if (SQLITE_DONE != sqlite3_step (plugin->updRepl)) LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - GNUNET_SQ_reset (plugin->dbh, - plugin->updRepl); + GNUNET_SQ_reset (plugin->dbh, plugin->updRepl); } if (GNUNET_SYSERR == rc.have_uid) { @@ -1127,25 +1086,24 @@ sqlite_plugin_get_replication (void *cls, * @param proc_cls closure for @a proc */ static void -sqlite_plugin_get_expiration (void *cls, PluginDatumProcessor proc, +sqlite_plugin_get_expiration (void *cls, + PluginDatumProcessor proc, void *proc_cls) { struct Plugin *plugin = cls; sqlite3_stmt *stmt; struct GNUNET_TIME_Absolute now; - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_absolute_time (&now), - GNUNET_SQ_query_param_end - }; - - GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, - "sqlite", - "Getting random block based on expiration and priority order.\n"); + struct GNUNET_SQ_QueryParam params[] = {GNUNET_SQ_query_param_absolute_time ( + &now), + GNUNET_SQ_query_param_end}; + + GNUNET_log_from ( + GNUNET_ERROR_TYPE_DEBUG, + "sqlite", + "Getting random block based on expiration and priority order.\n"); now = GNUNET_TIME_absolute_get (); stmt = plugin->selExpi; - if (GNUNET_OK != - GNUNET_SQ_bind (stmt, - params)) + if (GNUNET_OK != GNUNET_SQ_bind (stmt, params)) { proc (proc_cls, NULL, 0, NULL, 0, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0); return; @@ -1162,52 +1120,35 @@ sqlite_plugin_get_expiration (void *cls, PluginDatumProcessor proc, * @param proc_cls closure for @a proc */ static void -sqlite_plugin_get_keys (void *cls, - PluginKeyProcessor proc, - void *proc_cls) +sqlite_plugin_get_keys (void *cls, PluginKeyProcessor proc, void *proc_cls) { struct Plugin *plugin = cls; struct GNUNET_HashCode key; - struct GNUNET_SQ_ResultSpec results[] = { - GNUNET_SQ_result_spec_auto_from_type (&key), - GNUNET_SQ_result_spec_end - }; + struct GNUNET_SQ_ResultSpec results[] = + {GNUNET_SQ_result_spec_auto_from_type (&key), GNUNET_SQ_result_spec_end}; sqlite3_stmt *stmt; int ret; GNUNET_assert (NULL != proc); - if (SQLITE_OK != - sq_prepare (plugin->dbh, - "SELECT hash FROM gn091", - &stmt)) + if (SQLITE_OK != sq_prepare (plugin->dbh, "SELECT hash FROM gn091", &stmt)) { LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, - "sqlite_prepare"); - proc (proc_cls, - NULL, - 0); + "sqlite_prepare"); + proc (proc_cls, NULL, 0); return; } while (SQLITE_ROW == (ret = sqlite3_step (stmt))) { - if (GNUNET_OK == - GNUNET_SQ_extract_result (stmt, - results)) - proc (proc_cls, - &key, - 1); + if (GNUNET_OK == GNUNET_SQ_extract_result (stmt, results)) + proc (proc_cls, &key, 1); else GNUNET_break (0); } if (SQLITE_DONE != ret) - LOG_SQLITE (plugin, - GNUNET_ERROR_TYPE_ERROR, - "sqlite_step"); + LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); sqlite3_finalize (stmt); - proc (proc_cls, - NULL, - 0); + proc (proc_cls, NULL, 0); } @@ -1244,21 +1185,14 @@ sqlite_plugin_remove_key (void *cls, void *cont_cls) { struct Plugin *plugin = cls; - struct GNUNET_SQ_QueryParam params[] = { - GNUNET_SQ_query_param_auto_from_type (key), - GNUNET_SQ_query_param_fixed_size (data, size), - GNUNET_SQ_query_param_end - }; - - if (GNUNET_OK != - GNUNET_SQ_bind (plugin->remove, - params)) + struct GNUNET_SQ_QueryParam params[] = + {GNUNET_SQ_query_param_auto_from_type (key), + GNUNET_SQ_query_param_fixed_size (data, size), + GNUNET_SQ_query_param_end}; + + if (GNUNET_OK != GNUNET_SQ_bind (plugin->remove, params)) { - cont (cont_cls, - key, - size, - GNUNET_SYSERR, - "bind failed"); + cont (cont_cls, key, size, GNUNET_SYSERR, "bind failed"); return; } if (SQLITE_DONE != sqlite3_step (plugin->remove)) @@ -1266,35 +1200,21 @@ sqlite_plugin_remove_key (void *cls, LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "sqlite3_step"); - GNUNET_SQ_reset (plugin->dbh, - plugin->remove); - cont (cont_cls, - key, - size, - GNUNET_SYSERR, - "sqlite3_step failed"); + GNUNET_SQ_reset (plugin->dbh, plugin->remove); + cont (cont_cls, key, size, GNUNET_SYSERR, "sqlite3_step failed"); return; } int changes = sqlite3_changes (plugin->dbh); - GNUNET_SQ_reset (plugin->dbh, - plugin->remove); + GNUNET_SQ_reset (plugin->dbh, plugin->remove); if (0 == changes) { - cont (cont_cls, - key, - size, - GNUNET_NO, - NULL); + cont (cont_cls, key, size, GNUNET_NO, NULL); return; } if (NULL != plugin->env->duc) plugin->env->duc (plugin->env->cls, -(size + GNUNET_DATASTORE_ENTRY_OVERHEAD)); - cont (cont_cls, - key, - size, - GNUNET_OK, - NULL); + cont (cont_cls, key, size, GNUNET_OK, NULL); } @@ -1306,8 +1226,7 @@ sqlite_plugin_remove_key (void *cls, * @return the size of the database on disk (estimate) */ static void -sqlite_plugin_estimate_size (void *cls, - unsigned long long *estimate) +sqlite_plugin_estimate_size (void *cls, unsigned long long *estimate) { struct Plugin *plugin = cls; sqlite3_stmt *stmt; @@ -1322,45 +1241,35 @@ sqlite_plugin_estimate_size (void *cls, return; if (SQLITE_VERSION_NUMBER < 3006000) { - GNUNET_log_from (GNUNET_ERROR_TYPE_WARNING, - "datastore-sqlite", - _("sqlite version to old to determine size, assuming zero\n")); + GNUNET_log_from ( + GNUNET_ERROR_TYPE_WARNING, + "datastore-sqlite", + _ ("sqlite version to old to determine size, assuming zero\n")); *estimate = 0; return; } - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "VACUUM", - NULL, - NULL, - ENULL)); - CHECK (SQLITE_OK == - sqlite3_exec (plugin->dbh, - "PRAGMA auto_vacuum=INCREMENTAL", - NULL, - NULL, ENULL)); - CHECK (SQLITE_OK == - sq_prepare (plugin->dbh, - "PRAGMA page_count", - &stmt)); + CHECK (SQLITE_OK == sqlite3_exec (plugin->dbh, "VACUUM", NULL, NULL, ENULL)); + CHECK (SQLITE_OK == sqlite3_exec (plugin->dbh, + "PRAGMA auto_vacuum=INCREMENTAL", + NULL, + NULL, + ENULL)); + CHECK (SQLITE_OK == sq_prepare (plugin->dbh, "PRAGMA page_count", &stmt)); if (SQLITE_ROW == sqlite3_step (stmt)) - pages = sqlite3_column_int64 (stmt, - 0); + pages = sqlite3_column_int64 (stmt, 0); else pages = 0; sqlite3_finalize (stmt); - CHECK (SQLITE_OK == - sq_prepare (plugin->dbh, - "PRAGMA page_size", - &stmt)); - CHECK (SQLITE_ROW == - sqlite3_step (stmt)); + CHECK (SQLITE_OK == sq_prepare (plugin->dbh, "PRAGMA page_size", &stmt)); + CHECK (SQLITE_ROW == sqlite3_step (stmt)); page_size = sqlite3_column_int64 (stmt, 0); sqlite3_finalize (stmt); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - _("Using sqlite page utilization to estimate payload (%llu pages of size %llu bytes)\n"), - (unsigned long long) pages, - (unsigned long long) page_size); + GNUNET_log ( + GNUNET_ERROR_TYPE_INFO, + _ ( + "Using sqlite page utilization to estimate payload (%llu pages of size %llu bytes)\n"), + (unsigned long long) pages, + (unsigned long long) page_size); *estimate = pages * page_size; } @@ -1379,10 +1288,8 @@ libgnunet_plugin_datastore_sqlite_init (void *cls) struct GNUNET_DATASTORE_PluginFunctions *api; if (NULL != plugin.env) - return NULL; /* can only initialize once! */ - memset (&plugin, - 0, - sizeof (struct Plugin)); + return NULL; /* can only initialize once! */ + memset (&plugin, 0, sizeof (struct Plugin)); plugin.env = env; if (GNUNET_OK != database_setup (env->cfg, &plugin)) { @@ -1402,7 +1309,7 @@ libgnunet_plugin_datastore_sqlite_init (void *cls) api->remove_key = &sqlite_plugin_remove_key; GNUNET_log_from (GNUNET_ERROR_TYPE_INFO, "sqlite", - _("Sqlite database running\n")); + _ ("Sqlite database running\n")); return api; } @@ -1431,10 +1338,8 @@ libgnunet_plugin_datastore_sqlite_done (void *cls) GNUNET_free (api); if (NULL != fn) { - if (0 != UNLINK (fn)) - GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, - "unlink", - fn); + if (0 != unlink (fn)) + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "unlink", fn); GNUNET_free (fn); } return NULL; -- cgit v1.2.3