chore(*.psql/*.sql): update all *.psql to *.sql files
This commit is contained in:
parent
c9015a7f2b
commit
fc37600b8b
63 changed files with 21 additions and 41 deletions
22
queries/functions/update_days_read.sql
Normal file
22
queries/functions/update_days_read.sql
Normal file
|
@ -0,0 +1,22 @@
|
|||
CREATE OR REPLACE FUNCTION update_days_read()
|
||||
RETURNS TRIGGER AS $$
|
||||
DECLARE
|
||||
pacific_now TIMESTAMPTZ;
|
||||
pacific_today DATE;
|
||||
last_read DATE;
|
||||
BEGIN
|
||||
SELECT (NOW() AT TIME ZONE 'America/Los_Angeles')::DATE INTO pacific_today;
|
||||
SELECT COALESCE(last_read_date::DATE, pacific_today - INTERVAL '1 day') INTO last_read FROM reading_streak LIMIT 1;
|
||||
IF last_read < pacific_today - INTERVAL '1 day' THEN
|
||||
UPDATE reading_streak
|
||||
SET days_read = 0, last_read_date = NOW() AT TIME ZONE 'America/Los_Angeles'
|
||||
WHERE id = 1;
|
||||
END IF;
|
||||
IF last_read IS DISTINCT FROM pacific_today THEN
|
||||
UPDATE reading_streak
|
||||
SET days_read = days_read + 1, last_read_date = NOW() AT TIME ZONE 'America/Los_Angeles'
|
||||
WHERE id = 1;
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
Loading…
Add table
Add a link
Reference in a new issue