Comparison

plugins/mod_storage_sql.lua @ 13154:6cf5c215825d

mod_storage_sql: Enable UPSERT with PostgreSQL Tested. Works.
author Kim Alvefur <zash@zash.se>
date Fri, 16 Jun 2023 13:03:34 +0200
parent 13151:7ebb3d6afcd1
child 13155:9a7523ea45cb
comparison
equal deleted inserted replaced
13153:88879f83b5b4 13154:6cf5c215825d
216 WHERE "host"=? AND "user"=? AND "store"=? AND "key"=? 216 WHERE "host"=? AND "user"=? AND "store"=? AND "key"=?
217 LIMIT 1; 217 LIMIT 1;
218 ]]; 218 ]];
219 for key, data in pairs(keydatas) do 219 for key, data in pairs(keydatas) do
220 -- TODO Test UPSERT in PostgreSQL before enabling it. 220 -- TODO Test UPSERT in PostgreSQL before enabling it.
221 if type(key) == "string" and key ~= "" and engine.params.driver == "SQLite3" and data ~= self.remove then 221 if type(key) == "string" and key ~= "" and engine.params.driver ~= "MySQL" and data ~= self.remove then
222 local t, value = assert(serialize(data)); 222 local t, value = assert(serialize(data));
223 engine:insert(upsert_sql, host, username or "", self.store, key, t, value, t, value); 223 engine:insert(upsert_sql, host, username or "", self.store, key, t, value, t, value);
224 elseif type(key) == "string" and key ~= "" then 224 elseif type(key) == "string" and key ~= "" then
225 engine:delete(delete_sql, 225 engine:delete(delete_sql,
226 host, username or "", self.store, key); 226 host, username or "", self.store, key);