diff options
author | shess <shess@chromium.org> | 2015-09-23 13:29:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-23 20:33:56 +0000 |
commit | 9a1948a4d6d445d5c8e209bdcd1cd050af72060b (patch) | |
tree | a2b6abac4673affa109bcc57ae72d67904ae8c29 /sql/statement.cc | |
parent | fa2fd3809241aae99bf07463ff99ad03dc9a1e07 (diff) | |
download | chromium_src-9a1948a4d6d445d5c8e209bdcd1cd050af72060b.zip chromium_src-9a1948a4d6d445d5c8e209bdcd1cd050af72060b.tar.gz chromium_src-9a1948a4d6d445d5c8e209bdcd1cd050af72060b.tar.bz2 |
[sql] Use memory-mapped I/O for sql::Connection.
sql::Connection::Open*() uses PRAGMA mmap_size to enable SQLite's
memory-mapped I/O. Additionally instrument to flush dirty pages from
the page cache after writes.
BUG=489784,533682
Review URL: https://codereview.chromium.org/1349863003
Cr-Commit-Position: refs/heads/master@{#350362}
Diffstat (limited to 'sql/statement.cc')
-rw-r--r-- | sql/statement.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/statement.cc b/sql/statement.cc index 09c95da..2a0faa7 100644 --- a/sql/statement.cc +++ b/sql/statement.cc @@ -110,6 +110,11 @@ void Statement::Reset(bool clear_bound_vars) { ref_->connection()->RecordOneEvent(Connection::EVENT_STATEMENT_SUCCESS); } + // Potentially release dirty cache pages if an autocommit statement made + // changes. + if (ref_->connection()) + ref_->connection()->ReleaseCacheMemoryIfNeeded(false); + succeeded_ = false; stepped_ = false; } |