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

Unified Diff: chrome/browser/sync/util/query_helpers.h

Issue 526002: Finish removing query_helpers.* (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/syncable/syncable_unittest.cc ('k') | chrome/browser/sync/util/query_helpers.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/util/query_helpers.h
===================================================================
--- chrome/browser/sync/util/query_helpers.h (revision 35655)
+++ chrome/browser/sync/util/query_helpers.h (working copy)
@@ -1,695 +0,0 @@
-// Copyright (c) 2009 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.
-//
-// Typesafe composition of SQL query strings.
-
-#ifndef CHROME_BROWSER_SYNC_UTIL_QUERY_HELPERS_H_
-#define CHROME_BROWSER_SYNC_UTIL_QUERY_HELPERS_H_
-
-#include <limits>
-#include <string>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/file_path.h"
-#include "base/logging.h"
-#include "base/string16.h"
-#include "build/build_config.h"
-#include "chrome/browser/sync/util/sync_types.h"
-#include "third_party/sqlite/preprocessed/sqlite3.h"
-
-enum SqliteNullType {
- SQLITE_NULL_VALUE
-};
-
-int SqliteOpen(const FilePath& filename, sqlite3** ppDb);
-
-sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query);
-sqlite3_stmt* BindArg(sqlite3_stmt*, const std::string&, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, const char*, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, int32, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, int64, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, double, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, bool, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, const std::vector<uint8>&, int index);
-sqlite3_stmt* BindArg(sqlite3_stmt*, SqliteNullType, int index);
-
-void GetColumn(sqlite3_stmt*, int index, string16* value);
-void GetColumn(sqlite3_stmt*, int index, std::string* value);
-void GetColumn(sqlite3_stmt*, int index, int32* value);
-void GetColumn(sqlite3_stmt*, int index, int64* value);
-void GetColumn(sqlite3_stmt*, int index, double* value);
-void GetColumn(sqlite3_stmt*, int index, bool* value);
-void GetColumn(sqlite3_stmt*, int index, std::vector<uint8>* value);
-
-// Checks if tablename exists in the database referenced by dbhandle.
-// If the function succeeds, *exists is set to true if the table exists, and
-// false if it doesn't.
-//
-// Returns true on success, or false on error.
-bool DoesTableExist(sqlite3* dbhandle, const std::string& tablename,
- bool* exists);
-
-// Prepares a query with a WHERE clause that filters the values by the items
-// passed inside of the Vector.
-// Example:
-//
-// vector<std::string> v;
-// v.push_back("abc");
-// v.push_back("123");
-// PrepareQuery(dbhandle, "SELECT * FROM table", "column_name", v.begin(),
-// v.end(), "ORDER BY id");
-//
-// will produce the following query.
-//
-// SELECT * FROM table WHERE column_name = 'abc' OR column_name = '123' ORDER BY
-// id.
-//
-template<typename ItemIterator>
-sqlite3_stmt* PrepareQueryWhereColumnIn(sqlite3* dbhandle,
- const std::string& query_head,
- const std::string& filtername,
- ItemIterator begin, ItemIterator end,
- const std::string& query_options) {
- std::string query;
- query.reserve(512);
- query += query_head;
- const char* joiner = " WHERE ";
- for (ItemIterator it = begin; it != end; ++it) {
- query += joiner;
- query += filtername;
- query += " = ?";
- joiner = " OR ";
- }
- query += " ";
- query += query_options;
- sqlite3_stmt* statement = NULL;
- const char* query_tail;
- if (SQLITE_OK != sqlite3_prepare(dbhandle, query.data(),
- CountBytes(query), &statement,
- &query_tail)) {
- LOG(ERROR) << query << "\n" << sqlite3_errmsg(dbhandle);
- }
- int index = 1;
- for (ItemIterator it = begin; it != end; ++it) {
- BindArg(statement, *it, index);
- ++index;
- }
- return statement;
-}
-
-template <typename Type1>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1) {
- return BindArg(PrepareQuery(dbhandle, query), arg1, 1);
-}
-
-template <typename Type1, typename Type2>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2) {
- return BindArg(PrepareQuery(dbhandle, query, arg1), arg2, 2);
-}
-
-template <typename Type1, typename Type2, typename Type3>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2), arg3, 3);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3), arg4, 4);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4),
- arg5, 5);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5),
- arg6, 6);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6),
- arg7, 7);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7),
- arg8, 8);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8),
- arg9, 9);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9),
- arg10, 10);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10),
- arg11, 11);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11),
- arg12, 12);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12),
- arg13, 13);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12,
- arg13),
- arg14, 14);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12,
- arg13, arg14),
- arg15, 15);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15, typename Type16>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15, const Type16& arg16) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12,
- arg13, arg14, arg15),
- arg16, 16);
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15, typename Type16,
- typename Type17>
-inline sqlite3_stmt* PrepareQuery(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15, const Type16& arg16,
- const Type17& arg17) {
- return BindArg(PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12,
- arg13, arg14, arg15, arg16),
- arg17, 17);
-}
-
-void ExecOrDie(sqlite3* dbhandle, const char* query);
-
-// Finalizes (deletes) the query before returning.
-void ExecOrDie(sqlite3* dbhandle, const char* query, sqlite3_stmt* statement);
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10) {
- return ExecOrDie(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9) {
- return ExecOrDie(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8) {
- return ExecOrDie(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7) {
- return ExecOrDie(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4, arg5, arg6));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4, arg5));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4));
-}
-
-template <typename Type1, typename Type2, typename Type3>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3));
-}
-
-template <typename Type1, typename Type2>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2));
-}
-
-template <typename Type1>
-inline void ExecOrDie(sqlite3* dbhandle, const char* query,
- const Type1& arg1) {
- return ExecOrDie(dbhandle, query, PrepareQuery(dbhandle, query, arg1));
-}
-
-
-int Exec(sqlite3* dbhandle, const char* query);
-// Finalizes (deletes) the query before returning.
-int Exec(sqlite3* dbhandle, const char* query, sqlite3_stmt* statement);
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15, typename Type16,
- typename Type17>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15, const Type16& arg16,
- const Type17& arg17) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13,
- arg14, arg15, arg16, arg17));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15, typename Type16>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15, const Type16& arg16) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13,
- arg14, arg15, arg16));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14, typename Type15>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14,
- const Type15& arg15) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13,
- arg14, arg15));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13, typename Type14>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13, const Type14& arg14) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13,
- arg14));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12,
- typename Type13>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12,
- const Type13& arg13) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11, typename Type12>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11, const Type12& arg12) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11, arg12));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10, typename Type11>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10,
- const Type11& arg11) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10, arg11));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9, typename Type10>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9, const Type10& arg10) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9, arg10));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8,
- typename Type9>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8,
- const Type9& arg9) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8, arg9));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7, typename Type8>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7, const Type8& arg8) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6, typename Type7>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6,
- const Type7& arg7) {
- return Exec(dbhandle, query,
- PrepareQuery(dbhandle, query, arg1, arg2, arg3, arg4, arg5,
- arg6, arg7));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5, typename Type6>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5, const Type6& arg6) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4, arg5, arg6));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4,
- typename Type5>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4,
- const Type5& arg5) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4, arg5));
-}
-
-template <typename Type1, typename Type2, typename Type3, typename Type4>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3, const Type4& arg4) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3, arg4));
-}
-
-template <typename Type1, typename Type2, typename Type3>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2,
- const Type3& arg3) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2,
- arg3));
-}
-
-template <typename Type1, typename Type2>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1, const Type2& arg2) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1, arg2));
-}
-
-template <typename Type1>
-inline int Exec(sqlite3* dbhandle, const char* query,
- const Type1& arg1) {
- return Exec(dbhandle, query, PrepareQuery(dbhandle, query, arg1));
-}
-
-
-// Holds an sqlite3_stmt* and automatically finalizes when passes out of scope.
-class ScopedStatement {
- public:
- explicit ScopedStatement(sqlite3_stmt* statement = 0)
- : statement_(statement) { }
- ~ScopedStatement();
-
- sqlite3_stmt* get() const { return statement_; }
-
- // Finalizes currently held statement and sets to new one.
- void reset(sqlite3_stmt* statement);
- protected:
- sqlite3_stmt* statement_;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedStatement);
-};
-
-
-// Holds an sqlite3_stmt* and automatically resets when passes out of scope.
-class ScopedStatementResetter {
- public:
- explicit ScopedStatementResetter(sqlite3_stmt* statement)
- : statement_(statement) { }
- ~ScopedStatementResetter();
-
- protected:
- sqlite3_stmt* const statement_;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedStatementResetter);
-};
-
-// Useful for encoding any sequence of bytes into a string that can be used in
-// a table name. Kind of like hex encoding, except that A is zero and P is 15.
-std::string APEncode(const std::string& in);
-std::string APDecode(const std::string& in);
-
-#endif // CHROME_BROWSER_SYNC_UTIL_QUERY_HELPERS_H_
« no previous file with comments | « chrome/browser/sync/syncable/syncable_unittest.cc ('k') | chrome/browser/sync/util/query_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698