diff options
author | Yorhel <git@yorhel.nl> | 2009-08-08 16:41:34 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2009-08-08 16:41:34 +0200 |
commit | 1e2a5c75f0154a12af7d19929153c27c75d193b1 (patch) | |
tree | d3a949969ef8ecc8d3c06f70238c8e5fe439e65f | |
parent | c90e590bdbe7933df8e8a0d83c82dddfa22afc37 (diff) |
Converted threads_posts.date and edited to timestamptz
Everything still seems to be working fine so far.
-rw-r--r-- | lib/Multi/IRC.pm | 2 | ||||
-rw-r--r-- | lib/VNDB/DB/Discussions.pm | 10 | ||||
-rw-r--r-- | util/dump.sql | 4 | ||||
-rw-r--r-- | util/updates/update_2.6.sql | 11 |
4 files changed, 19 insertions, 8 deletions
diff --git a/lib/Multi/IRC.pm b/lib/Multi/IRC.pm index 2373178b..84f307d9 100644 --- a/lib/Multi/IRC.pm +++ b/lib/Multi/IRC.pm @@ -268,7 +268,7 @@ sub notify { # name, pid, payload FROM threads_posts tp JOIN threads t ON t.id = tp.tid JOIN users u ON u.id = tp.uid - WHERE tp.date > ? + WHERE tp.date > to_timestamp(?) ORDER BY tp.date| : q|SELECT 'g' AS type, t.id, t.name AS title, u.username diff --git a/lib/VNDB/DB/Discussions.pm b/lib/VNDB/DB/Discussions.pm index 5e371fbc..26beaaee 100644 --- a/lib/VNDB/DB/Discussions.pm +++ b/lib/VNDB/DB/Discussions.pm @@ -32,8 +32,8 @@ sub dbThreadGet { my @select = ( qw|t.id t.title t.count t.locked t.hidden|, - $o{what} =~ /firstpost/ ? ('tpf.uid AS fuid', 'tpf.date AS fdate', 'uf.username AS fusername') : (), - $o{what} =~ /lastpost/ ? ('tpl.uid AS luid', 'tpl.date AS ldate', 'ul.username AS lusername') : (), + $o{what} =~ /firstpost/ ? ('tpf.uid AS fuid', q|EXTRACT('epoch' from tpf.date) AS fdate|, 'uf.username AS fusername') : (), + $o{what} =~ /lastpost/ ? ('tpl.uid AS luid', q|EXTRACT('epoch' from tpl.date) AS ldate|, 'ul.username AS lusername') : (), ); my @join = ( @@ -170,7 +170,7 @@ sub dbPostGet { $o{uid} ? ( 'tp.uid = ?' => $o{uid} ) : (), $o{mindate} ? ( - 'tp.date > ?' => $o{mindate} ) : (), + 'tp.date > to_timestamp(?)' => $o{mindate} ) : (), $o{hide} ? ( 'tp.hidden = FALSE' => 1 ) : (), $o{hide} && $o{what} =~ /thread/ ? ( @@ -178,7 +178,7 @@ sub dbPostGet { ); my @select = ( - qw|tp.num tp.date tp.edited tp.msg tp.hidden|, + qw|tp.num tp.msg tp.hidden|, q|extract('epoch' from tp.date) as date|, q|extract('epoch' from tp.edited) as edited|, $o{what} =~ /user/ ? qw|tp.uid u.username| : (), $o{what} =~ /thread/ ? (qw|tp.tid t.title|, 't.hidden AS thread_hidden') : (), ); @@ -206,7 +206,7 @@ sub dbPostEdit { my %set = ( 'msg = ?' => $o{msg}, - 'edited = ?' => $o{lastmod}, + 'edited = to_timestamp(?)' => $o{lastmod}, 'hidden = ?' => $o{hidden}?1:0, ); diff --git a/util/dump.sql b/util/dump.sql index f103d14d..3667c3b5 100644 --- a/util/dump.sql +++ b/util/dump.sql @@ -233,8 +233,8 @@ CREATE TABLE threads_posts ( tid integer NOT NULL DEFAULT 0, num smallint NOT NULL DEFAULT 0, uid integer NOT NULL DEFAULT 0, - date bigint NOT NULL DEFAULT DATE_PART('epoch', NOW()), - edited bigint NOT NULL DEFAULT 0, + date timestamptz NOT NULL DEFAULT NOW(), + edited timestamptz NOT NULL, msg text NOT NULL DEFAULT '', hidden boolean NOT NULL DEFAULT FALSE, PRIMARY KEY(tid, num) diff --git a/util/updates/update_2.6.sql b/util/updates/update_2.6.sql index 67482461..f3760d6a 100644 --- a/util/updates/update_2.6.sql +++ b/util/updates/update_2.6.sql @@ -59,6 +59,17 @@ ALTER TABLE wlists ALTER COLUMN added TYPE timestamptz USING to_timestamp(added) ALTER TABLE wlists ALTER COLUMN added SET DEFAULT NOW(); +-- threads_posts.date -> timestamptz +ALTER TABLE threads_posts ALTER COLUMN date DROP DEFAULT; +ALTER TABLE threads_posts ALTER COLUMN date TYPE timestamptz USING to_timestamp(date); +ALTER TABLE threads_posts ALTER COLUMN date SET DEFAULT NOW(); + +-- threads_posts.edited -> timestamptz + allow NULL +ALTER TABLE threads_posts ALTER COLUMN edited DROP NOT NULL; +ALTER TABLE threads_posts ALTER COLUMN edited DROP DEFAULT; +ALTER TABLE threads_posts ALTER COLUMN edited TYPE timestamptz USING CASE WHEN edited = 0 THEN NULL ELSE to_timestamp(edited) END; + + -- screenshots.status (smallint) -> screenshots.processed (boolean) ALTER TABLE screenshots RENAME COLUMN status TO processed; ALTER TABLE screenshots ALTER COLUMN processed DROP DEFAULT; |