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

Commit 9a5c996

Browse files
Merge pull request #125 from livecode/bugfix-11919
[11919] Add support for URI filenames in SQLITE databases
2 parents 4e53f21 + f02110e commit 9a5c996

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-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/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)