Bug 658305 - Use journal_size_limit on places.sqlite.

r=dietrich
This commit is contained in:
Marco Bonardo 2011-09-01 12:01:59 +02:00
Родитель 66f54fe5a4
Коммит 57b376f1dc
2 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -592,7 +592,17 @@ Database::InitSchema(bool* aDatabaseMigrated)
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
} }
// Grow places in 10MiB increments // The journal is usually free to grow for performance reasons, but it never
// shrinks back. Since the space taken may be problematic, especially on
// mobile devices, limit its size.
// Since exceeding the limit will cause a truncate, allow a slightly
// larger limit than DATABASE_MAX_WAL_SIZE_IN_KIBIBYTES to reduce the number
// of times it is needed.
nsCAutoString journalSizePragma("PRAGMA journal_size_limit = ");
journalSizePragma.AppendInt(DATABASE_MAX_WAL_SIZE_IN_KIBIBYTES * 3);
(void)mMainConn->ExecuteSimpleSQL(journalSizePragma);
// Grow places in 10MiB increments to limit fragmentation on disk.
(void)mMainConn->SetGrowthIncrement(10 * BYTES_PER_MEBIBYTE, EmptyCString()); (void)mMainConn->SetGrowthIncrement(10 * BYTES_PER_MEBIBYTE, EmptyCString());
// We use our functions during migration, so initialize them now. // We use our functions during migration, so initialize them now.

Просмотреть файл

@ -14,7 +14,8 @@ let histograms = {
PLACES_SORTED_BOOKMARKS_PERC: function (val) do_check_eq(val, 100), PLACES_SORTED_BOOKMARKS_PERC: function (val) do_check_eq(val, 100),
PLACES_TAGGED_BOOKMARKS_PERC: function (val) do_check_eq(val, 100), PLACES_TAGGED_BOOKMARKS_PERC: function (val) do_check_eq(val, 100),
PLACES_DATABASE_FILESIZE_MB: function (val) do_check_true(val > 0), PLACES_DATABASE_FILESIZE_MB: function (val) do_check_true(val > 0),
PLACES_DATABASE_JOURNALSIZE_MB: function (val) do_check_true(val > 0), // The journal may have been truncated.
PLACES_DATABASE_JOURNALSIZE_MB: function (val) do_check_true(val >= 0),
PLACES_DATABASE_PAGESIZE_B: function (val) do_check_eq(val, 32768), PLACES_DATABASE_PAGESIZE_B: function (val) do_check_eq(val, 32768),
PLACES_DATABASE_SIZE_PER_PAGE_B: function (val) do_check_true(val > 0), PLACES_DATABASE_SIZE_PER_PAGE_B: function (val) do_check_true(val > 0),
PLACES_EXPIRATION_STEPS_TO_CLEAN: function (val) do_check_true(val > 1), PLACES_EXPIRATION_STEPS_TO_CLEAN: function (val) do_check_true(val > 1),