Index: openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-4.6.2-4.7d3.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/postgresql/upgrade/Attic/upgrade-4.6.2-4.7d3.sql,v
diff -u -r1.1 -r1.1.2.1
--- openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-4.6.2-4.7d3.sql	7 Jul 2003 12:37:39 -0000	1.1
+++ openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-4.6.2-4.7d3.sql	1 Dec 2003 14:39:28 -0000	1.1.2.1
@@ -34,3 +34,55 @@
 
 select inline_0();
 drop function inline_0();
+
+create function file_storage__new_version (
+       --
+       -- Create a new version of a file
+       -- Wrapper for content_revision__new
+       --
+       varchar,         -- cr_revisions.title%TYPE,
+       varchar,         -- cr_revisions.description%TYPE,
+       varchar,         -- cr_revisions.mime_type%TYPE,
+       integer,         -- cr_items.item_id%TYPE,
+       integer,         -- acs_objects.creation_user%TYPE,
+       varchar          -- acs_objects.creation_ip%TYPE
+) returns integer as '  -- cr_revisions.revision_id 
+declare
+        new_version__filename           alias for $1;
+        new_version__description        alias for $2;
+        new_version__mime_type          alias for $3;
+        new_version__item_id            alias for $4;
+        new_version__creation_user      alias for $5;
+        new_version__creation_ip        alias for $6;
+        v_revision_id                   cr_revisions.revision_id%TYPE;
+        v_folder_id                     cr_items.parent_id%TYPE;
+begin
+        -- Create a revision
+        v_revision_id := content_revision__new (
+                          new_version__filename,        -- title
+                          new_version__description,     -- description
+                          now(),                        -- publish_date
+                          new_version__mime_type,       -- mime_type
+                          null,                         -- nls_language
+                          null,                         -- data (default)
+                          new_version__item_id,         -- item_id
+                          null,                         -- revision_id
+                          now(),                        -- creation_date
+                          new_version__creation_user,   -- creation_user
+                          new_version__creation_ip      -- creation_ip
+                          );
+
+        -- Make live the newly created revision
+        perform content_item__set_live_revision(v_revision_id);
+
+        select cr_items.parent_id
+        into v_folder_id
+        from cr_items
+        where cr_items.item_id = new_version__item_id;
+
+        perform acs_object__update_last_modified(v_folder_id,new_version__creation_user,new_version__creation_ip);
+	perform acs_object__update_last_modified(new_version__item_id,new_version__creation_user,new_version__creation_ip);
+
+        return v_revision_id;
+
+end;' language 'plpgsql';
