aboutsummaryrefslogtreecommitdiff
path: root/src/datastore/plugin_datastore_sqlite.c
diff options
context:
space:
mode:
authorgrothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96>2010-05-18 07:05:20 +0000
committergrothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96>2010-05-18 07:05:20 +0000
commit5fa763d3a154f7e493d5b3508f623a14b9678a43 (patch)
tree934143b5005941e022b7eaaef7c48e16b4c4b278 /src/datastore/plugin_datastore_sqlite.c
parenta09d3072464fdef20fb752a19fea5843ee10feac (diff)
fix quota calculations
git-svn-id: https://gnunet.org/svn/gnunet@11410 140774ce-b5e7-0310-ab8b-a85725594a96
Diffstat (limited to 'src/datastore/plugin_datastore_sqlite.c')
-rw-r--r--src/datastore/plugin_datastore_sqlite.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/datastore/plugin_datastore_sqlite.c b/src/datastore/plugin_datastore_sqlite.c
index 1576cef006..6e20a74914 100644
--- a/src/datastore/plugin_datastore_sqlite.c
+++ b/src/datastore/plugin_datastore_sqlite.c
@@ -1613,13 +1613,19 @@ process_stat_done (void *cls,
struct Plugin *plugin = cls;
sqlite3_stmt *stmt;
uint64_t pages;
- uint64_t free_pages;
+ uint64_t page_size;
plugin->stat_get = NULL;
if (plugin->stats_worked == GNUNET_NO)
{
CHECK (SQLITE_OK ==
sq_prepare (plugin->dbh,
+ "VACUUM;",
+ &stmt));
+ sqlite3_step (stmt);
+ sqlite3_finalize (stmt);
+ CHECK (SQLITE_OK ==
+ sq_prepare (plugin->dbh,
"PRAGMA page_count",
&stmt));
if (SQLITE_ROW ==
@@ -1630,17 +1636,17 @@ process_stat_done (void *cls,
sqlite3_finalize (stmt);
CHECK (SQLITE_OK ==
sq_prepare (plugin->dbh,
- "PRAGMA freelist_count",
+ "PRAGMA page_size",
&stmt));
CHECK (SQLITE_ROW ==
sqlite3_step (stmt));
- free_pages = sqlite3_column_int64 (stmt, 0);
+ 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 total, %llu free)\n"),
+ _("Using sqlite page utilization to estimate payload (%llu pages of size %llu bytes)\n"),
(unsigned long long) pages,
- (unsigned long long) free_pages);
- plugin->payload = (pages - free_pages) * 4092LL;
+ (unsigned long long) page_size);
+ plugin->payload = pages * page_size;
}
}