Comparison

plugins/mod_storage_sql.lua @ 12723:4cfd09343947

mod_storage_sql: Strip timestamp precision in queries to fix error (thanks muppeth) Fixes Error in SQL transaction: Error executing statement parameters: ERROR: invalid input syntax for integer This was handled for INSERT in 9524bb7f3944 but not SELECT.
author Kim Alvefur <zash@zash.se>
date Wed, 07 Sep 2022 12:27:12 +0200
parent 12631:9524bb7f3944
child 12824:735bf601b78d
comparison
equal deleted inserted replaced
12722:cd993fd7b60d 12723:4cfd09343947
353 353
354 -- Helpers for building the WHERE clause 354 -- Helpers for building the WHERE clause
355 local function archive_where(query, args, where) 355 local function archive_where(query, args, where)
356 -- Time range, inclusive 356 -- Time range, inclusive
357 if query.start then 357 if query.start then
358 args[#args+1] = query.start 358 args[#args+1] = math.floor(query.start);
359 where[#where+1] = "\"when\" >= ?" 359 where[#where+1] = "\"when\" >= ?"
360 end 360 end
361 361
362 if query["end"] then 362 if query["end"] then
363 args[#args+1] = query["end"]; 363 args[#args+1] = math.floor(query["end"]);
364 if query.start then 364 if query.start then
365 where[#where] = "\"when\" BETWEEN ? AND ?" -- is this inclusive? 365 where[#where] = "\"when\" BETWEEN ? AND ?" -- is this inclusive?
366 else 366 else
367 where[#where+1] = "\"when\" <= ?" 367 where[#where+1] = "\"when\" <= ?"
368 end 368 end