From 5e2c236057b1d5050774142c43cbedbd6a3efb1e Mon Sep 17 00:00:00 2001 From: nmemmert <67961292+nmemmert@users.noreply.github.com> Date: Mon, 15 Dec 2025 12:23:55 -0500 Subject: [PATCH] Fix parameter count in SQL query --- server/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/index.js b/server/index.js index d3aaaa0..c875e58 100644 --- a/server/index.js +++ b/server/index.js @@ -474,19 +474,19 @@ app.get('/api/history/overview', (req, res) => { // Use a reliable bucketing approach with Julian Day Numbers // Convert to julian day, multiply by 24 for hours, divide by intervalHours and round - const bucketCalc = `ROUND((julianday(checked_at) * 24) / ?) * ? / 24`; + const bucketExpr = `ROUND((julianday(checked_at) * 24) / ${intervalHours}) * ${intervalHours} / 24`; recentChecks = db.prepare(` SELECT - datetime(ROUND((julianday(checked_at) * 24) / ?) * ? / 24) AS checked_at, + datetime(${bucketExpr}) AS checked_at, AVG(CASE WHEN status='up' THEN response_time ELSE NULL END) AS avg_up_response, SUM(CASE WHEN status='up' THEN 1 ELSE 0 END) AS up_count, COUNT(*) AS total_count FROM checks WHERE resource_id = ? AND checked_at > datetime('now', ?) - GROUP BY ROUND((julianday(checked_at) * 24) / ?) * ? / 24 + GROUP BY ${bucketExpr} ORDER BY checked_at ASC - `).all(intervalHours, intervalHours, intervalHours, intervalHours, resource.id, `-${days} days`, intervalHours, intervalHours).map(row => ({ + `).all(resource.id, `-${days} days`).map(row => ({ status: row.up_count >= Math.ceil(row.total_count/2) ? 'up' : 'down', response_time: Math.round(row.avg_up_response || 0), checked_at: row.checked_at,