summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas2009-08-07 02:38:56 +0000
committerRobert Haas2009-08-07 02:38:56 +0000
commit8af2df31e96bd5a924c44e46f84fef1ff849edc4 (patch)
tree8165b4c3e8906538798a0695738f9a88dff93f6f
parent2d6aa4d1448e0ae6da8c175120bb918d63a667ff (diff)
Add pubDate to RSS feed. Also, add really-unique activity_id for guid.
-rw-r--r--etc/audit.sql6
-rw-r--r--etc/view.sql4
-rw-r--r--perl-lib/PgCommitFest/CommitFest.pm6
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 })
);