Add pubDate to RSS feed. Also, add really-unique activity_id for guid.
authorRobert Haas <[email protected]>
Fri, 7 Aug 2009 02:38:56 +0000 (22:38 -0400)
committerRobert Haas <[email protected]>
Fri, 7 Aug 2009 02:38:56 +0000 (22:38 -0400)
etc/audit.sql
etc/view.sql
perl-lib/PgCommitFest/CommitFest.pm

index 234d27819ae7c5b7e012d565a30bf363ce7dc898..381865e334bd06e5f7977431ecc7b035aff98173 100644 (file)
@@ -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
index 0e19de72cc908ff127b72e37e8eefae5608dd2f3..9dba135239cc406dfb662a45b92bc41bf5e22280 100644 (file)
@@ -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'
index db6e4ed04e6df4cc2f12ad5d9973d944bafa9d46..a04c72f69ef5bca2ced24a5d90681f3a377cbd90 100644 (file)
@@ -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 })
                );