Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 6599f97

Browse files
committed
[11919] Add support for URI filenames in SQLITE databases
1 parent 4e53f21 commit 6599f97

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

libsqlite/include/sqlitedataset/dataset.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class Database {
114114
virtual const char *getErrorMsg(void) { return error.c_str(); }
115115
virtual void setErrDirect(const char *p_error) { error = p_error; }
116116

117-
virtual int connect(void) { return DB_COMMAND_OK; }
117+
virtual int connect(bool p_use_uri=false) { return DB_COMMAND_OK; }
118118
virtual int connectFull( const char *newDb, const char *newHost=NULL,
119119
const char *newLogin=NULL, const char *newPasswd=NULL,const char *newPort=NULL);
120120
virtual void disconnect(void) { active = false; }

libsqlite/include/sqlitedataset/sqlitedataset.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class SqliteDatabase: public Database {
6464
virtual const char *getErrorMsg();
6565

6666
/* func. connects to database-server */
67-
virtual int connect();
67+
virtual int connect(bool p_use_uri=false);
6868
/* func. disconnects from database-server */
6969
virtual void disconnect();
7070
/* func. creates new database */

libsqlite/libsqlite.gyp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
'SQLITE_ENABLE_FTS5',
3737
'SQLITE_ENABLE_RTREE',
3838
'SQLITE_ENABLE_JSON1',
39+
'SQLITE_USE_URI',
3940
],
4041

4142
'sources':

libsqlite/src/sqlitedataset.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,14 @@ const char *SqliteDatabase::getErrorMsg() {
397397
return error.c_str();
398398
}
399399

400-
int SqliteDatabase::connect()
400+
int SqliteDatabase::connect(bool p_use_uri)
401401
{
402402
disconnect();
403-
int result = setErr(sqlite3_open(db.c_str(),&conn), NULL);
403+
int result;
404+
if (p_use_uri)
405+
result = setErr(sqlite3_open_v2(db.c_str(),&conn, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_URI, 0), NULL);
406+
else
407+
result = setErr(sqlite3_open(db.c_str(),&conn), NULL);
404408
if (!result)
405409
{
406410
char* err=NULL;

0 commit comments

Comments
 (0)