mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-05 02:06:02 -04:00
Merge pull request #16 from wjl/open-with-vfs
Support opening a database with a custom VFS.
This commit is contained in:
commit
180bd897e2
@ -23,11 +23,11 @@ namespace SQLite
|
|||||||
|
|
||||||
|
|
||||||
// Open the provided database UTF-8 filename with SQLITE_OPEN_xxx provided flags.
|
// Open the provided database UTF-8 filename with SQLITE_OPEN_xxx provided flags.
|
||||||
Database::Database(const char* apFilename, const int aFlags /*= SQLITE_OPEN_READONLY*/) : // throw(SQLite::Exception)
|
Database::Database(const char* apFilename, const int aFlags /*= SQLITE_OPEN_READONLY*/, const char* apVfs /*= NULL*/) : // throw(SQLite::Exception)
|
||||||
mpSQLite(NULL),
|
mpSQLite(NULL),
|
||||||
mFilename(apFilename)
|
mFilename(apFilename)
|
||||||
{
|
{
|
||||||
int ret = sqlite3_open_v2(apFilename, &mpSQLite, aFlags, NULL);
|
int ret = sqlite3_open_v2(apFilename, &mpSQLite, aFlags, apVfs);
|
||||||
if (SQLITE_OK != ret)
|
if (SQLITE_OK != ret)
|
||||||
{
|
{
|
||||||
std::string strerr = sqlite3_errmsg(mpSQLite);
|
std::string strerr = sqlite3_errmsg(mpSQLite);
|
||||||
@ -37,11 +37,11 @@ Database::Database(const char* apFilename, const int aFlags /*= SQLITE_OPEN_READ
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Open the provided database UTF-8 filename with SQLITE_OPEN_xxx provided flags.
|
// Open the provided database UTF-8 filename with SQLITE_OPEN_xxx provided flags.
|
||||||
Database::Database(const std::string& aFilename, const int aFlags /*= SQLITE_OPEN_READONLY*/) : // throw(SQLite::Exception)
|
Database::Database(const std::string& aFilename, const int aFlags /*= SQLITE_OPEN_READONLY*/, const std::string& aVfs /*= ""*/) : // throw(SQLite::Exception)
|
||||||
mpSQLite(NULL),
|
mpSQLite(NULL),
|
||||||
mFilename(aFilename)
|
mFilename(aFilename)
|
||||||
{
|
{
|
||||||
int ret = sqlite3_open_v2(aFilename.c_str(), &mpSQLite, aFlags, NULL);
|
int ret = sqlite3_open_v2(aFilename.c_str(), &mpSQLite, aFlags, aVfs.empty() ? NULL : aVfs.c_str());
|
||||||
if (SQLITE_OK != ret)
|
if (SQLITE_OK != ret)
|
||||||
{
|
{
|
||||||
std::string strerr = sqlite3_errmsg(mpSQLite);
|
std::string strerr = sqlite3_errmsg(mpSQLite);
|
||||||
|
@ -53,8 +53,9 @@ public:
|
|||||||
*
|
*
|
||||||
* @param[in] apFilename UTF-8 path/uri to the database file ("filename" sqlite3 parameter)
|
* @param[in] apFilename UTF-8 path/uri to the database file ("filename" sqlite3 parameter)
|
||||||
* @param[in] aFlags SQLITE_OPEN_READONLY/SQLITE_OPEN_READWRITE/SQLITE_OPEN_CREATE...
|
* @param[in] aFlags SQLITE_OPEN_READONLY/SQLITE_OPEN_READWRITE/SQLITE_OPEN_CREATE...
|
||||||
|
* @param[in] apVfs UTF-8 name of custom VFS to use, or nullptr for sqlite3 default
|
||||||
*/
|
*/
|
||||||
Database(const char* apFilename, const int aFlags = SQLITE_OPEN_READONLY); // throw(SQLite::Exception);
|
Database(const char* apFilename, const int aFlags = SQLITE_OPEN_READONLY, const char * apVfs = NULL); // throw(SQLite::Exception);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Open the provided database UTF-8 filename.
|
* @brief Open the provided database UTF-8 filename.
|
||||||
@ -68,8 +69,9 @@ public:
|
|||||||
*
|
*
|
||||||
* @param[in] aFilename UTF-8 path/uri to the database file ("filename" sqlite3 parameter)
|
* @param[in] aFilename UTF-8 path/uri to the database file ("filename" sqlite3 parameter)
|
||||||
* @param[in] aFlags SQLITE_OPEN_READONLY/SQLITE_OPEN_READWRITE/SQLITE_OPEN_CREATE...
|
* @param[in] aFlags SQLITE_OPEN_READONLY/SQLITE_OPEN_READWRITE/SQLITE_OPEN_CREATE...
|
||||||
|
* @param[in] aVfs UTF-8 name of custom VFS to use, or empty string for sqlite3 default
|
||||||
*/
|
*/
|
||||||
Database(const std::string& aFilename, const int aFlags = SQLITE_OPEN_READONLY); // throw(SQLite::Exception);
|
Database(const std::string& aFilename, const int aFlags = SQLITE_OPEN_READONLY, const std::string& aVfs = ""); // throw(SQLite::Exception);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Close the SQLite database connection.
|
* @brief Close the SQLite database connection.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user