зеркало из https://github.com/mozilla/gecko-dev.git
Bug 658305 - Use journal_size_limit on places.sqlite.
r=dietrich
This commit is contained in:
Родитель
66f54fe5a4
Коммит
57b376f1dc
|
@ -592,7 +592,17 @@ Database::InitSchema(bool* aDatabaseMigrated)
|
|||
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());
|
||||
|
||||
// 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_TAGGED_BOOKMARKS_PERC: function (val) do_check_eq(val, 100),
|
||||
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_SIZE_PER_PAGE_B: function (val) do_check_true(val > 0),
|
||||
PLACES_EXPIRATION_STEPS_TO_CLEAN: function (val) do_check_true(val > 1),
|
||||
|
|
Загрузка…
Ссылка в новой задаче