From e12275dbd466f8ad7649360d4604e733d6fec332 Mon Sep 17 00:00:00 2001 From: alikia2x Date: Tue, 11 Mar 2025 23:50:21 +0800 Subject: [PATCH] fix: zero division error --- lib/db/snapshot.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/db/snapshot.ts b/lib/db/snapshot.ts index bdad6e0..663a628 100644 --- a/lib/db/snapshot.ts +++ b/lib/db/snapshot.ts @@ -90,8 +90,25 @@ export async function getShortTermEtaPrediction(client: Client, aid: number) { ) SELECT CASE - WHEN n.views > 100000 THEN (1000000 - n.views) / ((n.views - o.views) / (EXTRACT(EPOCH FROM (n.created_at - o.created_at)) + 0.01)) - ELSE (100000 - n.views) / ((n.views - o.views) / (EXTRACT(EPOCH FROM (n.created_at - o.created_at)) + 0.01)) + WHEN n.views > 100000 + THEN + (1000000 - n.views) -- Views remaining + / + ( + (n.views - o.views) -- Views delta + / + (EXTRACT(EPOCH FROM (n.created_at - o.created_at)) + 0.001) -- Time delta in seconds + + 0.001 + ) -- Increment per second + ELSE + (100000 - n.views) -- Views remaining + / + ( + (n.views - o.views) -- Views delta + / + (EXTRACT(EPOCH FROM (n.created_at - o.created_at)) + 0.001) -- Time delta in seconds + + 0.001 + ) -- Increment per second END AS eta FROM old_snapshot o, new_snapshot n; `,