Index: sql/proxy.h |
diff --git a/sql/proxy.h b/sql/proxy.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7a2863bfa78fbe442b4d3eef82ac1bc9c4162527 |
--- /dev/null |
+++ b/sql/proxy.h |
@@ -0,0 +1,39 @@ |
+// Copyright 2015 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. |
+ |
+#ifndef SQL_PROXY_H_ |
+#define SQL_PROXY_H_ |
+ |
+#include "sql/sql_export.h" |
+#include "third_party/sqlite/sqlite3.h" |
+ |
+// TODO(shess): third_party/sqlite does not track component build correctly, so |
+// each shared library gets a private copy of everything, so sqlite3_* calls |
+// outside of the main sql/ component don't work right. Hack around this by |
+// adding pass-through functions while I land a separate fix for the component |
+// issue. |
+ |
+// This is only required for tests - if these abilities are desired for |
+// production code, they should probably do obvious things like live in |
+// sql::Connection and use C++ wrappers. |
+ |
+// http://crbug.com/489444 |
+ |
+namespace sql { |
+ |
+SQL_EXPORT int sqlite3_create_function_v2( |
+ sqlite3 *db, |
+ const char *zFunctionName, |
+ int nArg, |
+ int eTextRep, |
+ void *pApp, |
+ void (*xFunc)(sqlite3_context*,int,sqlite3_value**), |
+ void (*xStep)(sqlite3_context*,int,sqlite3_value**), |
+ void (*xFinal)(sqlite3_context*), |
+ void (*xDestroy)(void*)); |
+SQL_EXPORT void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); |
+ |
+} // namespace sql |
+ |
+#endif // SQL_PROXY_H_ |