Comparison

plugins/mod_storage_sql2.lua @ 6724:a8dbfa14e1a8

mod_storage_sql2: Include 'with' field from iterator like some 3rd party archive-capable storage modules
author Kim Alvefur <zash@zash.se>
date Tue, 19 May 2015 18:21:23 +0200
parent 6532:a966efeb6cb3
child 6725:41725f3df3cc
comparison
equal deleted inserted replaced
6720:936cf2f7531f 6724:a8dbfa14e1a8
279 function archive_store:find(username, query) 279 function archive_store:find(username, query)
280 query = query or {}; 280 query = query or {};
281 local user,store = username,self.store; 281 local user,store = username,self.store;
282 local total; 282 local total;
283 local ok, result = engine:transaction(function() 283 local ok, result = engine:transaction(function()
284 local sql_query = "SELECT `key`, `type`, `value`, `when` FROM `prosodyarchive` WHERE %s ORDER BY `sort_id` %s%s;"; 284 local sql_query = "SELECT `key`, `type`, `value`, `when`, `with` FROM `prosodyarchive` WHERE %s ORDER BY `sort_id` %s%s;";
285 local args = { host, user or "", store, }; 285 local args = { host, user or "", store, };
286 local where = { "`host` = ?", "`user` = ?", "`store` = ?", }; 286 local where = { "`host` = ?", "`user` = ?", "`store` = ?", };
287 287
288 archive_where(query, args, where); 288 archive_where(query, args, where);
289 289
311 end); 311 end);
312 if not ok then return ok, result end 312 if not ok then return ok, result end
313 return function() 313 return function()
314 local row = result(); 314 local row = result();
315 if row ~= nil then 315 if row ~= nil then
316 return row[1], deserialize(row[2], row[3]), row[4]; 316 return row[1], deserialize(row[2], row[3]), row[4], row[5];
317 end 317 end
318 end, total; 318 end, total;
319 end 319 end
320 320
321 function archive_store:delete(username, query) 321 function archive_store:delete(username, query)