Software /
code /
prosody
Comparison
plugins/mod_storage_sql.lua @ 12599:5aafcf6a0730 0.12
mod_storage_sql: Fix summary API with Postgres (fixes #1766)
The ORDER BY and LIMIT clauses are not needed and don't even make much
sense. This part was most likely a leftover from the :find method.
Tested with sqlite and postgres 14
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 22 Jul 2022 19:09:50 +0200 |
parent | 12592:d580e6a57cbb |
child | 12600:3d3a0c4e2662 |
child | 12823:dd6c35325241 |
comparison
equal
deleted
inserted
replaced
12598:a2624315d30e | 12599:5aafcf6a0730 |
---|---|
542 local ok, result = engine:transaction(function() | 542 local ok, result = engine:transaction(function() |
543 local sql_query = [[ | 543 local sql_query = [[ |
544 SELECT DISTINCT "with", COUNT(*), MIN("when"), MAX("when") | 544 SELECT DISTINCT "with", COUNT(*), MIN("when"), MAX("when") |
545 FROM "prosodyarchive" | 545 FROM "prosodyarchive" |
546 WHERE %s | 546 WHERE %s |
547 GROUP BY "with" | 547 GROUP BY "with"; |
548 ORDER BY "sort_id" %s%s; | |
549 ]]; | 548 ]]; |
550 local args = { host, user or "", store, }; | 549 local args = { host, user or "", store, }; |
551 local where = { "\"host\" = ?", "\"user\" = ?", "\"store\" = ?", }; | 550 local where = { "\"host\" = ?", "\"user\" = ?", "\"store\" = ?", }; |
552 | 551 |
553 archive_where(query, args, where); | 552 archive_where(query, args, where); |
556 | 555 |
557 if query.limit then | 556 if query.limit then |
558 args[#args+1] = query.limit; | 557 args[#args+1] = query.limit; |
559 end | 558 end |
560 | 559 |
561 sql_query = sql_query:format(t_concat(where, " AND "), query.reverse | 560 sql_query = sql_query:format(t_concat(where, " AND ")); |
562 and "DESC" or "ASC", query.limit and " LIMIT ?" or ""); | |
563 return engine:select(sql_query, unpack(args)); | 561 return engine:select(sql_query, unpack(args)); |
564 end); | 562 end); |
565 if not ok then return ok, result end | 563 if not ok then return ok, result end |
566 local counts = {}; | 564 local counts = {}; |
567 local earliest, latest = {}, {}; | 565 local earliest, latest = {}, {}; |