Index: openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl 15 May 2007 10:47:41 -0000 1.19 +++ openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl 19 May 2007 09:38:21 -0000 1.20 @@ -22,7 +22,7 @@ from acs_function_args } - proc map {sql} { + proc function_name {sql} { if {[db_driverkey ""] eq "oracle"} {return [string map [list "__" .] $sql]} return $sql } @@ -202,6 +202,7 @@ {-offset ""} {-start ""} {-orderby ""} + {-map_function_names false} } { set offset_clause [expr {$offset ne "" ? "OFFSET $offset" : ""}] set limit_clause [expr {$limit ne "" ? "LIMIT $limit" : ""}] @@ -219,9 +220,11 @@ {-offset ""} {-start ""} {-orderby ""} + {-map_function_names false} } { set order_clause [expr {$orderby ne "" ? "ORDER BY $orderby" : ""}] set group_clause [expr {$groupby ne "" ? "GROUP BY $groupby" : ""}] + if {$map_function_calls} {set vars [::xo::db::function_name $vars]} set sql "SELECT $vars FROM $from $start WHERE $where $group_clause" if {$limit ne "" || $offset ne ""} { if {$offset eq ""} { Index: openacs-4/packages/xotcl-core/tcl/generic-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/generic-procs.tcl,v diff -u -r1.64 -r1.65 --- openacs-4/packages/xotcl-core/tcl/generic-procs.tcl 18 May 2007 22:08:06 -0000 1.64 +++ openacs-4/packages/xotcl-core/tcl/generic-procs.tcl 19 May 2007 09:38:21 -0000 1.65 @@ -757,8 +757,6 @@ values (:[join $__atts ,:])" my update_content_length $storage_type $revision_id if {$live_p} { - #set publish_status [my set publish_status] - #::xo::db::CONTENT_ITEM SET_LIVE_REVISION {revision_id publish_status} ::xo::db::content_item set_live_revision \ -revision_id $revision_id \ -publish_status [my set publish_status] @@ -907,24 +905,25 @@ set live_revision_id [content::item::get_live_revision -item_id $page_id] my instvar package_id set base [$package_id url] - - set sql [xo::db::map "select ci.name, n.revision_id as version_id, - person__name(n.creation_user) as author, - n.creation_user as author_id, - to_char(n.last_modified,'YYYY-MM-DD HH24:MI:SS') as last_modified_ansi, - n.description, - acs_permission__permission_p(n.revision_id,:user_id,'admin') as admin_p, - acs_permission__permission_p(n.revision_id,:user_id,'delete') as delete_p, - r.content_length, - content_revision__get_number(n.revision_id) as version_number - from cr_revisionsi n, cr_items ci, cr_revisions r - where ci.item_id = n.item_id and ci.item_id = :page_id + set sql [::xo::db::sql select \ + -map_function_names true \ + -vars "ci.name, n.revision_id as version_id,\ + person__name(n.creation_user)] as author, \ + n.creation_user as author_id, \ + to_char(n.last_modified,'YYYY-MM-DD HH24:MI:SS') as last_modified_ansi,\ + n.description,\ + acs_permission__permission_p(n.revision_id,:user_id,'admin')] as admin_p,\ + acs_permission__permission_p(n.revision_id,:user_id,'delete') as delete_p,\ + r.content_length,\ + content_revision__get_number(n.revision_id) as version_number " \ + -from "cr_revisionsi n, cr_items ci, cr_revisions r" \ + -where "ci.item_id = n.item_id and ci.item_id = :page_id and r.revision_id = n.revision_id and exists (select 1 from acs_object_party_privilege_map m where m.object_id = n.revision_id and m.party_id = :user_id - and m.privilege = 'read') - order by n.revision_id desc"] + and m.privilege = 'read')" \ + -orderby "n.revision_id desc"] db_foreach revisions_select $sql { if {$content_length < 1024} {