oacs-dav-procs-postgresql.xql
DB Query file
Related Files
- packages/oacs-dav/tcl/oacs-dav-procs.xql
- packages/oacs-dav/tcl/oacs-dav-procs.tcl
- packages/oacs-dav/tcl/oacs-dav-procs-postgresql.xql
- packages/oacs-dav/tcl/oacs-dav-procs-oracle.xql
[ hide source ] | [ make this the default ]
File Contents
<?xml version="1.0"?> <queryset> <rdbms><type>postgresql</type><version>7.1</version></rdbms> <fullquery name="oacs_dav::conn_setup.get_item_id"> <querytext> select content_item__get_id(:item_name,:parent_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::children_have_permission_p.child_perms"> <querytext> select count(*) from cr_items c1, cr_items c2 where c2.item_id = :item_id and c1.tree_sortkey between c2.tree_sortkey and tree_right(c2.tree_sortkey) and not acs_permission__permission_p(c1.item_id, :user_id, :privilege) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::propfind.get_properties"> <querytext> select coalesce (cr.content_length,0) as content_length, coalesce(cr.mime_type,'*/*') as mime_type, to_char(timezone('GMT',o.creation_date) :: timestamptz ,'YYYY-MM-DD"T"HH:MM:SS.MS"Z"') as creation_date, to_char(timezone('GMT',o.last_modified) :: timestamptz ,'Dy, DD Mon YYYY HH:MM:SS TZ') as last_modified, ci1.item_id, case when ci1.item_id=ci2.item_id then '' else ci1.name end as name, content_item__get_path(ci1.item_id,:folder_id) as item_uri, case when o.object_type='content_folder' then 1 else 0 end as collection_p from cr_items ci1, cr_revisions cr, cr_items ci2, acs_objects o where ci1.live_revision = cr.revision_id and ci1.tree_sortkey between ci2.tree_sortkey and tree_right(ci2.tree_sortkey) and ci2.item_id=:folder_id and ci1.item_id = o.object_id and (tree_level(ci1.tree_sortkey) - tree_level(ci2.tree_sortkey)) <= :depth ::integer and acs_permission__permission_p(ci1.item_id, :user_id, 'read') union select 0 as content_length, '*/*' as mime_type, to_char(timezone('GMT',o.creation_date) :: timestamptz ,'YYYY-MM-DD"T"HH:MM:SS.MS"Z"') as creation_date, to_char(timezone('GMT',o.last_modified) :: timestamptz ,'Dy, DD Mon YYYY HH:MM:SS TZ') as last_modified, ci1.item_id, case when ci1.item_id=ci2.item_id then '' else ci1.name end as name, content_item__get_path(ci1.item_id,:folder_id) as item_uri, case when o.object_type='content_folder' then 1 else 0 end as collection_p from cr_items ci1, cr_items ci2, acs_objects o where ci1.tree_sortkey between ci2.tree_sortkey and tree_right(ci2.tree_sortkey) and ci2.item_id = :folder_id and ci1.item_id = o.object_id and (tree_level(ci1.tree_sortkey) - tree_level(ci2.tree_sortkey)) <= :depth ::integer and acs_permission__permission_p(ci1.item_id, :user_id, 'read') and not exists (select 1 from cr_revisions cr where cr.revision_id = ci1.live_revision) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::propfind.get_properties"> <querytext> select ci.item_id, ci.name, content_item__get_path(ci.item_id,:folder_id) as item_uri, coalesce(cr.mime_type,'*/*') as mime_type, coalesce(cr.content_length,0) as content_length, to_char(timezone('GMT',o.creation_date) :: timestamptz ,'YYYY-MM-DD"T"HH:MM:SS.MS"Z"') as creation_date, to_char(timezone('GMT',o.last_modified) :: timestamptz ,'Dy, DD Mon YYYY HH:MM:SS TZ') as last_modified from cr_items ci, acs_objects o, cr_revisions cr where ci.item_id=:item_id and ci.item_id = o.object_id and cr.revision_id = ci.live_revision and acs_permission__permission_p(ci.item_id, :user_id, 'read') </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::mkcol.create_folder"> <querytext> select content_folder__new( :new_folder_name, :label, :description, :parent_id, :parent_id, NULL, current_timestamp, :user_id, :peer_addr ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::copy.copy_folder"> <querytext> select content_folder__copy ( :copy_folder_id, :new_parent_folder_id, :user_id, :peer_addr, :new_name ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::copy.update_child_revisions"> <querytext> update cr_items set live_revision = latest_revision where exists ( select 1 from (select ci1.item_id as child_item_id from cr_items ci1, cr_items ci2 where ci2.item_id=:new_folder_id and ci1.tree_sortkey between ci2.tree_sortkey and tree_right(ci2.tree_sortkey) ) children where item_id=children.child_item_id ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::move.move_folder"> <querytext> select content_folder__move ( :move_folder_id, :new_parent_folder_id, :new_name ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::move.rename_folder"> <querytext> select content_folder__edit_name ( :move_folder_id, :new_name, :new_name, NULL ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::move.move_item"> <querytext> select content_item__move ( :item_id, :new_parent_folder_id, :new_name ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::move.rename_item"> <querytext> select content_item__edit_name ( :item_id, :new_name ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::copy.copy_item"> <querytext> select content_item__copy ( :copy_item_id, :new_parent_folder_id, :user_id, :peer_addr, :new_name ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::copy.delete_for_copy"> <querytext> select content_item__delete(:dest_item_id) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::move.delete_for_move"> <querytext> select content_item__delete(:dest_item_id) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::delete.delete_item"> <querytext> select content_item__delete ( :item_id ) </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::delete.delete_folder"> <querytext> select content_folder__delete ( :item_id, 't' ) </querytext> </fullquery> <fullquery name="oacs_dav::item_parent_folder_id.get_parent_folder_id"> <querytext> select content_item__get_id(:parent_name,:root_folder_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::copy.get_dest_id"> <querytext> select content_item__get_id(:new_name,:new_parent_folder_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::move.get_dest_id"> <querytext> select content_item__get_id(:new_name,:new_parent_folder_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::move.delete_for_move"> <querytext> select content_folder__delete(:dest_item_id,'t'); </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_folder::copy.delete_for_copy"> <querytext> select content_folder__delete(:dest_item_id,'t'); </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::copy.get_dest_id"> <querytext> select content_item__get_id(:new_name,:new_parent_folder_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::impl::content_revision::move.get_dest_id"> <querytext> select content_item__get_id(:new_name,:new_parent_folder_id,'f') </querytext> </fullquery> <fullquery name="oacs_dav::children_have_permission_p.revision_perms"> <querytext> select count(*) from cr_revisions where item_id = :item_id and not acs_permission__permission_p(revision_id, :user_id, 'delete') </querytext> </fullquery> </queryset>