Index: openacs-4/packages/ecommerce/www/admin/products/list-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/list-oracle.xql,v diff -u -r1.1.10.1 -r1.1.10.2 --- openacs-4/packages/ecommerce/www/admin/products/list-oracle.xql 11 Jun 2005 10:18:20 -0000 1.1.10.1 +++ openacs-4/packages/ecommerce/www/admin/products/list-oracle.xql 21 Jun 2005 03:42:39 -0000 1.1.10.2 @@ -3,15 +3,6 @@ oracle8.1.6 - - - select count(*) as product_count -from ec_products ep, ec_items_reportable eir, ec_product_comments epc -where ep.product_id = eir.product_id(+) -and ep.product_id = epc.product_id(+) $category_exclusion_clause - - - select r.* Index: openacs-4/packages/ecommerce/www/admin/products/list-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/list-postgresql.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/ecommerce/www/admin/products/list-postgresql.xql 11 Jun 2005 10:18:20 -0000 1.1.2.1 +++ openacs-4/packages/ecommerce/www/admin/products/list-postgresql.xql 21 Jun 2005 03:42:39 -0000 1.1.2.2 @@ -4,16 +4,6 @@ postgresql 7.1 - - - -select count(*) as product_count -from ec_products ep - LEFT JOIN ec_items_reportable eir using (product_id) - LEFT JOIN ec_product_comments epc on (ep.product_id = epc.product_id) -$category_exclusion_clause - - Index: openacs-4/packages/ecommerce/www/admin/products/list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/list.tcl,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/ecommerce/www/admin/products/list.tcl 11 Jun 2005 10:18:20 -0000 1.5.2.1 +++ openacs-4/packages/ecommerce/www/admin/products/list.tcl 21 Jun 2005 03:42:39 -0000 1.5.2.2 @@ -55,12 +55,18 @@ set have_how_many_more_p f set count $start_row -db_1row product_select_count " - select count(*) as product_count - from ec_products ep - LEFT JOIN ec_items_reportable eir using (product_id) - LEFT JOIN ec_product_comments epc on (ep.product_id = epc.product_id) - $category_exclusion_clause" +if {[info exists category_id]} { + db_1row product_select_count_for_category " + select count(product_id) as product_count + from ec_category_product_map map + where map.category_id = :category_id + " +} else { + db_1row product_select_count_all " + select count(product_id) as product_count + from ec_products + " +} db_foreach product_select "SELECT ep.product_id, ep.product_name, ep.available_date, count(distinct eir.item_id) as n_items_ordered, count(distinct epc.comment_id) as n_comments FROM ec_products ep, ec_items_reportable eir, ec_product_comments epc WHERE ep.product_id = eir.product_id(+) AND ep.product_id = epc.product_id(+) GROUP BY ep.product_id, ep.product_name, ep.available_date $category_exclusion_clause $order_by_clause" {