diff options
| author | Ted Trask <ttrask01@yahoo.com> | 2013-10-09 19:38:05 +0000 | 
|---|---|---|
| committer | Ted Trask <ttrask01@yahoo.com> | 2013-10-09 19:38:05 +0000 | 
| commit | ee99aaec435442035100801ac7093ca536375265 (patch) | |
| tree | af0857df4ff1303d20a1fef109bc6e8902607d03 | |
| parent | 3f507e4e6710b559ed1efe4260b043b6c1b1694d (diff) | |
| download | acf-lib-ee99aaec435442035100801ac7093ca536375265.tar.bz2 acf-lib-ee99aaec435442035100801ac7093ca536375265.tar.xz | |
Add support for sqlite3 to db.lua
| -rw-r--r-- | db.lua | 18 | 
1 files changed, 16 insertions, 2 deletions
| @@ -27,6 +27,9 @@ export.databaseconnect = function(dbobject)  		if dbobject.engine == engine.postgresql then  			require("luasql.postgres")  			dbobject.env = assert (luasql.postgres()) +		elseif dbobject.engine == engine.sqlite3 then +			require("luasql.sqlite3") +			dbobject.env = assert (luasql.sqlite3())  		else  			error("Unknown database engine "..tostring(dbobject.engine))  		end @@ -60,7 +63,12 @@ export.runsqlcommand = function(dbobject, sql, transaction)          local res, err = dbobject.con:execute(sql)  	if not res and err then  		-- Catch the error to see if it's caused by lack of table -		local table = string.match(err, "relation \"(%S+)\" does not exist") +		local table +		if dbobject.engine == engine.postgresql then +			table = string.match(err, "relation \"(%S+)\" does not exist") +		elseif dbobject.engine == engine.sqlite3 then +			table = string.match(err, "LuaSQL: no such table: (%S+)") +		end  		if table and dbobject.table_creation_scripts[table] then  			if transaction then assert(dbobject.con:execute("ROLLBACK TO before_command")) end  			dbobject.runscript(dbobject.table_creation_scripts[table]) @@ -96,7 +104,12 @@ export.getselectresponse = function(dbobject, sql, transaction)  	end)  	if not res and err then  		-- Catch the error to see if it's caused by lack of table -		local table = string.match(err, "relation \"(%S+)\" does not exist") +		local table +		if dbobject.engine == engine.postgresql then +			table = string.match(err, "relation \"(%S+)\" does not exist") +		elseif dbobject.engine == engine.sqlite3 then +			table = string.match(err, "LuaSQL: no such table: (%S+)") +		end  		if table and dbobject.table_creation_scripts[table] then  			if transaction then assert(con:execute("ROLLBACK TO before_select")) end  			dbobject.runscript(dbobject.table_creation_scripts[table]) @@ -167,6 +180,7 @@ end  engine = {  ["postgresql"] = 1, +["sqlite3"] = 2,  }  create = function(engine, database, user, password, host, port) | 
