Index: openacs-4/packages/bug-tracker/tcl/bug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs.tcl,v diff -u -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 16 Mar 2004 14:40:24 -0000 1.10.2.1 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 29 Apr 2004 08:13:52 -0000 1.10.2.2 @@ -746,18 +746,18 @@ default_value bug_number,desc bug_number { label "[bug_tracker::conn Bug] \#" - orderby b.bug_number + orderby bug_number default_direction desc } summary { label "Summary" - orderby_asc {upper(b.summary) asc, b.summary asc, b.bug_number asc} - orderby_desc {upper(b.summary) desc, b.summary desc, b.bug_number desc} + orderby_asc {upper_summary asc, summary asc, bug_number asc} + orderby_desc {upper_summary desc, summary desc, bug_number desc} } submitter { label "Submitter" - orderby_asc {upper(submitter.first_names) asc, upper(submitter.last_name) asc, b.bug_number asc} - orderby_asc {upper(submitter.first_names) desc, upper(submitter.last_name) desc, b.bug_number desc} + orderby_asc {upper_submitter_first_names asc, upper_submitter_last_name asc, bug_number asc} + orderby_desc {upper_submitter_first_names desc, upper_submitter_last_name desc, bug_number desc} } } @@ -782,8 +782,8 @@ lappend orderbys $name \ [list \ label $parent_heading \ - orderby_desc {kw_order.heading desc, b.bug_number desc} \ - orderby_asc {kw_order.heading asc, b.bug_number asc}] + orderby_desc {heading desc, bug_number desc} \ + orderby_asc {heading asc, bug_number asc}] } if { [bug_tracker::versions_p] } { @@ -874,6 +874,16 @@ if { [info exists orderby] && [regexp {^category_(.*),.*$} $orderby match orderby_parent_id] } { append from_bug_clause [db_map orderby_category_from_bug_clause] set orderby_category_where_clause [db_map orderby_category_where_clause] + + # Branimir: The ORDER BY clause needs to be at the very end of the + # query. That also means that we need to have in the select list every + # column we want to order by. Which colums we can afford to have in + # the select list depends on which tables are we joining against. BTW, + # all these kludges are consequence of the initial (bad, IMHO) decision + # to do the joins against cr_keywords in memory rather then in SQL. + set more_columns ", kw_order.heading as heading" + } else { + set more_columns "" } return [db_map bugs]