| Index: sql/connection.h
|
| ===================================================================
|
| --- sql/connection.h (revision 147715)
|
| +++ sql/connection.h (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -12,6 +12,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/threading/thread_restrictions.h"
|
| #include "base/time.h"
|
| #include "sql/sql_export.h"
|
|
|
| @@ -320,6 +321,14 @@
|
| // sqlite3_open. The string can also be sqlite's special ":memory:" string.
|
| bool OpenInternal(const std::string& file_name);
|
|
|
| + // Check whether the current thread is allowed to make IO calls, but only
|
| + // if database wasn't open in memory. Function is inlined to be a no-op in
|
| + // official build.
|
| + void AssertIOAllowed() {
|
| + if (!in_memory_)
|
| + base::ThreadRestrictions::AssertIOAllowed();
|
| + }
|
| +
|
| // Internal helper for DoesTableExist and DoesIndexExist.
|
| bool DoesTableOrIndexExist(const char* name, const char* type) const;
|
|
|
| @@ -355,6 +364,10 @@
|
| // no longer be active.
|
| void Close();
|
|
|
| + // Check whether the current thread is allowed to make IO calls, but only
|
| + // if database wasn't open in memory.
|
| + void AssertIOAllowed() { if (connection_) connection_->AssertIOAllowed(); }
|
| +
|
| private:
|
| friend class base::RefCounted<StatementRef>;
|
|
|
| @@ -417,6 +430,10 @@
|
| // a rollback instead of a commit.
|
| bool needs_rollback_;
|
|
|
| + // True if database is open with OpenInMemory(), False if database is open
|
| + // with Open().
|
| + bool in_memory_;
|
| +
|
| // This object handles errors resulting from all forms of executing sqlite
|
| // commands or statements. It can be null which means default handling.
|
| scoped_refptr<ErrorDelegate> error_delegate_;
|
|
|