Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: sql/connection.h

Issue 14976003: Histogram versions and extended error codes for SQLite databases. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Oops - need old histograms for continuity. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/net/sqlite_persistent_cookie_store.cc ('k') | sql/connection.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SQL_CONNECTION_H_ 5 #ifndef SQL_CONNECTION_H_
6 #define SQL_CONNECTION_H_ 6 #define SQL_CONNECTION_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 void set_exclusive_locking() { exclusive_locking_ = true; } 139 void set_exclusive_locking() { exclusive_locking_ = true; }
140 140
141 // Sets the object that will handle errors. Recomended that it should be set 141 // Sets the object that will handle errors. Recomended that it should be set
142 // before calling Open(). If not set, the default is to ignore errors on 142 // before calling Open(). If not set, the default is to ignore errors on
143 // release and assert on debug builds. 143 // release and assert on debug builds.
144 // Takes ownership of |delegate|. 144 // Takes ownership of |delegate|.
145 void set_error_delegate(ErrorDelegate* delegate) { 145 void set_error_delegate(ErrorDelegate* delegate) {
146 error_delegate_.reset(delegate); 146 error_delegate_.reset(delegate);
147 } 147 }
148 148
149 // SQLite error codes for errors on all connections are logged to 149 // Set this tag to enable additional connection-type histogramming
150 // enum histogram "Sqlite.Error". Setting this additionally logs 150 // for SQLite error codes and database version numbers.
151 // errors to the histogram |name|. 151 void set_histogram_tag(const std::string& tag) {
152 void set_error_histogram_name(const std::string& name) { 152 histogram_tag_ = tag;
153 error_histogram_name_ = name;
154 } 153 }
155 154
155 // Record a sparse UMA histogram sample under
156 // |name|+"."+|histogram_tag_|. If |histogram_tag_| is empty, no
157 // histogram is recorded.
158 void AddTaggedHistogram(const std::string& name, size_t sample) const;
159
156 // Initialization ------------------------------------------------------------ 160 // Initialization ------------------------------------------------------------
157 161
158 // Initializes the SQL connection for the given file, returning true if the 162 // Initializes the SQL connection for the given file, returning true if the
159 // file could be opened. You can call this or OpenInMemory. 163 // file could be opened. You can call this or OpenInMemory.
160 bool Open(const base::FilePath& path) WARN_UNUSED_RESULT; 164 bool Open(const base::FilePath& path) WARN_UNUSED_RESULT;
161 165
162 // Initializes the SQL connection for a temporary in-memory database. There 166 // Initializes the SQL connection for a temporary in-memory database. There
163 // will be no associated file on disk, and the initial database will be 167 // will be no associated file on disk, and the initial database will be
164 // empty. You can call this or Open. 168 // empty. You can call this or Open.
165 bool OpenInMemory() WARN_UNUSED_RESULT; 169 bool OpenInMemory() WARN_UNUSED_RESULT;
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // |true| if the connection was closed using RazeAndClose(). Used 494 // |true| if the connection was closed using RazeAndClose(). Used
491 // to enable diagnostics to distinguish calls to never-opened 495 // to enable diagnostics to distinguish calls to never-opened
492 // databases (incorrect use of the API) from calls to once-valid 496 // databases (incorrect use of the API) from calls to once-valid
493 // databases. 497 // databases.
494 bool poisoned_; 498 bool poisoned_;
495 499
496 // This object handles errors resulting from all forms of executing sqlite 500 // This object handles errors resulting from all forms of executing sqlite
497 // commands or statements. It can be null which means default handling. 501 // commands or statements. It can be null which means default handling.
498 scoped_ptr<ErrorDelegate> error_delegate_; 502 scoped_ptr<ErrorDelegate> error_delegate_;
499 503
500 // Auxiliary error-code histogram. 504 // Tag for auxiliary histograms.
501 std::string error_histogram_name_; 505 std::string histogram_tag_;
502 506
503 DISALLOW_COPY_AND_ASSIGN(Connection); 507 DISALLOW_COPY_AND_ASSIGN(Connection);
504 }; 508 };
505 509
506 } // namespace sql 510 } // namespace sql
507 511
508 #endif // SQL_CONNECTION_H_ 512 #endif // SQL_CONNECTION_H_
OLDNEW
« no previous file with comments | « content/browser/net/sqlite_persistent_cookie_store.cc ('k') | sql/connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698