diff options
author | Robert Haas | 2009-08-07 02:38:56 +0000 |
---|---|---|
committer | Robert Haas | 2009-08-07 02:38:56 +0000 |
commit | 8af2df31e96bd5a924c44e46f84fef1ff849edc4 (patch) | |
tree | 8165b4c3e8906538798a0695738f9a88dff93f6f | |
parent | 2d6aa4d1448e0ae6da8c175120bb918d63a667ff (diff) |
Add pubDate to RSS feed. Also, add really-unique activity_id for guid.
-rw-r--r-- | etc/audit.sql | 6 | ||||
-rw-r--r-- | etc/view.sql | 4 | ||||
-rw-r--r-- | perl-lib/PgCommitFest/CommitFest.pm | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/etc/audit.sql b/etc/audit.sql index 234d278..381865e 100644 --- a/etc/audit.sql +++ b/etc/audit.sql @@ -1,3 +1,5 @@ +CREATE SEQUENCE activity_seq; + CREATE TABLE patch_audit ( patch_id integer not null, change_type varchar not null, @@ -15,6 +17,8 @@ CREATE TABLE patch_audit ( last_updater varchar, last_updated_time timestamp with time zone not null ); +ALTER TABLE patch_audit ADD COLUMN activity_id INTEGER NOT NULL + DEFAULT nextval('activity_seq'); CREATE OR REPLACE FUNCTION patch_audit() RETURNS trigger AS $$ DECLARE @@ -161,6 +165,8 @@ CREATE TABLE patch_comment_audit ( last_updater varchar, last_updated_time timestamp with time zone not null ); +ALTER TABLE patch_comment_audit ADD COLUMN activity_id INTEGER NOT NULL + DEFAULT nextval('activity_seq'); CREATE OR REPLACE FUNCTION patch_comment_audit() RETURNS trigger AS $$ DECLARE diff --git a/etc/view.sql b/etc/view.sql index 0e19de7..9dba135 100644 --- a/etc/view.sql +++ b/etc/view.sql @@ -33,7 +33,7 @@ FROM INNER JOIN patch p ON v.patch_id = p.id; CREATE OR REPLACE VIEW commitfest_activity_log AS -SELECT v.commitfest_id, v.last_updated_time, v.last_updater, +SELECT v.activity_id, v.commitfest_id, v.last_updated_time, v.last_updater, v.original_name AS patch_name, p.id AS patch_id, CASE WHEN v.change_type = 'INSERT' THEN 'New Patch' @@ -45,7 +45,7 @@ FROM patch_audit v LEFT JOIN patch p ON v.patch_id = p.id UNION ALL -SELECT v.commitfest_id, v.last_updated_time, v.last_updater, +SELECT v.activity_id, v.commitfest_id, v.last_updated_time, v.last_updater, v.patch_name, v.patch_id, CASE WHEN v.change_type = 'INSERT' THEN 'New Comment' WHEN v.change_type = 'UPDATE' THEN 'Edit Comment' diff --git a/perl-lib/PgCommitFest/CommitFest.pm b/perl-lib/PgCommitFest/CommitFest.pm index db6e4ed..a04c72f 100644 --- a/perl-lib/PgCommitFest/CommitFest.pm +++ b/perl-lib/PgCommitFest/CommitFest.pm @@ -39,7 +39,8 @@ sub activity_rss { } my $activity = $r->db->select(<<EOM); SELECT - to_char(v.last_updated_time, 'YYYY-MM-DD HH24:MI:SS') AS last_updated_time, + v.activity_id, to_char(v.last_updated_time at time zone 'GMT', + 'Dy, DD Mon YYYY HH24:MI:SS') || ' GMT' AS last_updated_time, v.last_updater, v.patch_name, v.patch_id, v.activity_type, v.details, commitfest.name as commitfest_name FROM @@ -66,8 +67,9 @@ EOM my $content; $rss->add_item( 'guid' => 'http://commitfest.postgresql.org/activity/' . - $row->{'patch_id'} . '/' . $row->{'last_updated_time'}, + $row->{'activity_id'}, 'title' => $row->{'commitfest_name'} . ': ' . $row->{'patch_name'}, + 'pubDate' => $row->{'last_updated_time'}, 'description' => $r->eval_template('commitfest_activity_rss', { 'd' => $row }) ); |