X-Git-Url: http://git.sven.stormbind.net/?a=blobdiff_plain;f=mysql-proxy%2Fquery-mirror-sqlite3.lua;fp=mysql-proxy%2Fquery-mirror-sqlite3.lua;h=00818b17341513ace44ede118866b707c41f60b7;hb=a89d796f02699d2d16f99af021cc25d94e2ddf51;hp=0000000000000000000000000000000000000000;hpb=488bf506a4decb4e313c9d027cfcab23049474e7;p=sven%2Fscripts.git diff --git a/mysql-proxy/query-mirror-sqlite3.lua b/mysql-proxy/query-mirror-sqlite3.lua new file mode 100644 index 0000000..00818b1 --- /dev/null +++ b/mysql-proxy/query-mirror-sqlite3.lua @@ -0,0 +1,29 @@ +-- unfuck the cpath set by mysql-proxy and load sqlite3 driver +package.cpath=package.cpath .. ";/usr/lib/i386-linux-gnu/lua/5.1/?.so" +require "luasql.sqlite3" + +-- intercept mysql queries +function read_query( packet ) + if packet:byte() == proxy.COM_QUERY then + print("DEBUG: we got a normal query: " .. packet:sub(2)) + local query = string.sub(packet, 2) + + if string.match(string.upper(query), '^%s*INSERT') then + print("DEBUG: found a query to process") + -- create environment object + local env = assert (luasql.sqlite3()) + -- connect to data source + local con = assert (env:connect("mydb.sqlite3")) + + -- act on the database + -- local cur = assert (con:execute(query)) + local cur = con:execute(query) + + -- closing time + cur:close() + con:close() + env:close() + end + end +end +