| // 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_ |