Index: openacs-4/packages/acs-content-repository/acs-content-repository.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v
diff -u -r1.109.2.25 -r1.109.2.26
--- openacs-4/packages/acs-content-repository/acs-content-repository.info 27 Oct 2016 18:01:59 -0000 1.109.2.25
+++ openacs-4/packages/acs-content-repository/acs-content-repository.info 27 Nov 2016 10:10:37 -0000 1.109.2.26
@@ -9,7 +9,7 @@
f
t
-
+
OpenACS
The canonical repository for OpenACS content.
2016-10-24
@@ -21,7 +21,7 @@
GPL
3
-
+
Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql,v
diff -u -r1.72.2.7 -r1.72.2.8
--- openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql 16 May 2016 10:38:40 -0000 1.72.2.7
+++ openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql 27 Nov 2016 10:10:37 -0000 1.72.2.8
@@ -1574,38 +1574,46 @@
$$ LANGUAGE plpgsql stable strict;
-select define_function_args('content_item__set_live_revision','revision_id,publish_status;ready,publish_date;now()');
+select define_function_args('content_item__set_live_revision','revision_id,publish_status;ready,publish_date;now(),is_latest;f');
--
--- procedure content_item__set_live_revision/1,2,3
+-- procedure content_item__set_live_revision/1,2,3,4
--
CREATE OR REPLACE FUNCTION content_item__set_live_revision(
- set_live_revision__revision_id integer,
- set_live_revision__publish_status varchar default 'ready',
- set_live_revision__publish_date timestamptz default now()
+ p__revision_id integer,
+ p__publish_status varchar default 'ready',
+ p__publish_date timestamptz default now(),
+ p__is_latest boolean default false
) RETURNS integer AS $$
DECLARE
BEGIN
- update
- cr_items
+ if p__is_latest then
+ update cr_items
+ set
+ live_revision = p__revision_id,
+ publish_status = p__publish_status,
+ latest_revision = p__revision_id
+ where
+ item_id = (select item_id
+ from cr_revisions
+ where revision_id = p__revision_id);
+ else
+ update cr_items
+ set
+ live_revision = p__revision_id,
+ publish_status = p__publish_status
+ where
+ item_id = (select item_id
+ from cr_revisions
+ where revision_id = p__revision_id);
+ end if;
+
+ update cr_revisions
set
- live_revision = set_live_revision__revision_id,
- publish_status = set_live_revision__publish_status
+ publish_date = p__publish_date
where
- item_id = (select
- item_id
- from
- cr_revisions
- where
- revision_id = set_live_revision__revision_id);
+ revision_id = p__revision_id;
- update
- cr_revisions
- set
- publish_date = set_live_revision__publish_date
- where
- revision_id = set_live_revision__revision_id;
-
return 0;
END;
$$ LANGUAGE plpgsql;
Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql,v
diff -u -r1.48.2.1 -r1.48.2.2
--- openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql 10 Feb 2016 09:14:20 -0000 1.48.2.1
+++ openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql 27 Nov 2016 10:10:37 -0000 1.48.2.2
@@ -790,14 +790,21 @@
END;
$$ LANGUAGE plpgsql stable strict;
--- show errors
-
+--
-- Trigger to maintain latest_revision in cr_items
-
+--
CREATE OR REPLACE FUNCTION cr_revision_latest_tr () RETURNS trigger AS $$
+DECLARE
+ v_latest_revision cr_revisions.revision_id%TYPE;
BEGIN
- update cr_items set latest_revision = new.revision_id
- where item_id = new.item_id;
+
+ select latest_revision from cr_items into v_latest_revision where item_id = new.item_id;
+
+ if v_latest_revision <> new.revision_id then
+ update cr_items set latest_revision = new.revision_id
+ where item_id = new.item_id;
+ end if;
+
return new;
END;
$$ LANGUAGE plpgsql;
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.9.1d22-5.9.1d23.sql'.
Fisheye: No comparison available. Pass `N' to diff?