Index: openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 9 Aug 2004 13:57:16 -0000 1.1.2.1 +++ openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 23 Aug 2004 17:30:06 -0000 1.1.2.2 @@ -76,3 +76,70 @@ --warning: dropping the function results in a commit drop function tmp_fs_name_duplicate; + +drop view fs_files; + + +create or replace view fs_files +as + select cr_revisions.item_id as file_id, + cr_revisions.revision_id as live_revision, + cr_revisions.mime_type as type, + cr_revisions.title as file_upload_name, + cr_revisions.content_length as content_size, + cr_items.name, + cr_revisions.publish_date as last_modified, + cr_items.parent_id, + cr_items.name as key + from cr_revisions, + cr_items, + acs_objects + where cr_revisions.revision_id = cr_items.live_revision + and cr_revisions.item_id = cr_items.item_id + and cr_items.content_type = 'file_storage_object' + and cr_revisions.revision_id = acs_objects.object_id; + +drop view fs_objects; + + +create or replace view fs_objects +as + select cr_items.item_id as object_id, + cr_items.live_revision, + case + when cr_items.content_type = 'content_folder' then 'folder' + when cr_items.content_type = 'content_extlink' then 'url' + else cr_revisions.mime_type + end as type, + case + when cr_items.content_type = 'content_folder' + then (select count(*) + from cr_items ci + where ci.content_type <> 'content_folder' + connect by prior ci.item_id = ci.parent_id + start with ci.item_id = cr_folders.folder_id) + else cr_revisions.content_length + end as content_size, + case + when cr_items.content_type = 'content_folder' then cr_folders.label + when cr_items.content_type = 'content_extlink' then cr_extlinks.label + else cr_items.name + end as name, + cr_items.name as file_upload_name, + cr_revisions.title, + cr_revisions.publish_date as last_modified, + cr_extlinks.url, + cr_items.parent_id, + cr_items.name as key, + cr_mime_types.label as pretty_type, + case + when cr_items.content_type = 'content_folder' then 0 + else 1 + end as sort_key + from cr_items, cr_extlinks, cr_folders, cr_revisions, acs_objects, cr_mime_types + where cr_items.item_id = cr_extlinks.extlink_id(+) + and cr_items.item_id = cr_folders.folder_id(+) + and cr_items.item_id = acs_objects.object_id + and cr_items.live_revision = cr_revisions.revision_id(+) + and cr_revisions.mime_type = cr_mime_types.mime_type(+); +