From 0a1bac62c424f058af69dc912db598a883ba2774 Mon Sep 17 00:00:00 2001
From: Jean-Paul Smets <jp@nexedi.com>
Date: Tue, 9 Jan 2007 11:49:18 +0000
Subject: [PATCH] 2007-01-09 JPS - Implementation of group by

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@11957 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_mysql_innodb/z_count_results.xml     | 34 +++++++++----
 .../erp5_mysql_innodb/z_search_results.xml    | 50 ++++++++++++-------
 2 files changed, 58 insertions(+), 26 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_count_results.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_count_results.xml
index a7bedf5e1e..412cb61b10 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_count_results.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_count_results.xml
@@ -38,6 +38,12 @@
                                   <dictionary/>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>group_by_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>select_expression</string> </key>
                                 <value>
@@ -69,11 +75,12 @@
                         <key> <string>_keys</string> </key>
                         <value>
                           <list>
-                            <string>from_table_list</string>
-                            <string>where_expression</string>
-                            <string>select_expression</string>
-                            <string>selection_domain</string>
-                            <string>selection_report</string>
+<string>from_table_list</string>
+<string>where_expression</string>
+<string>select_expression</string>
+<string>group_by_expression</string>
+<string>selection_domain</string>
+<string>selection_report</string>
                           </list>
                         </value>
                     </item>
@@ -90,10 +97,11 @@
         </item>
         <item>
             <key> <string>arguments_src</string> </key>
-            <value> <string>from_table_list\r\n
-where_expression\r\n
-select_expression\r\n
-selection_domain\r\n
+            <value> <string>from_table_list\n
+where_expression\n
+select_expression\n
+group_by_expression\n
+selection_domain\n
 selection_report</string> </value>
         </item>
         <item>
@@ -170,6 +178,10 @@ WHERE\n
 ORDER BY\n
   <dtml-var sort_on>\n
 </dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+  <dtml-var group_by_expression>\n
+</dtml-if>\n
 
 
 ]]></string> </value>
@@ -244,6 +256,10 @@ WHERE\n
 ORDER BY\n
   <dtml-var sort_on>\n
 </dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+  <dtml-var group_by_expression>\n
+</dtml-if>\n
 
 
 ]]></string> </value>
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_search_results.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_search_results.xml
index 30a31a290c..23f7c98c94 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_search_results.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_search_results.xml
@@ -43,6 +43,12 @@
                                   </dictionary>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>group_by_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>limit_expression</string> </key>
                                 <value>
@@ -98,15 +104,16 @@
                         <key> <string>_keys</string> </key>
                         <value>
                           <list>
-                            <string>selection</string>
-                            <string>selection_domain</string>
-                            <string>selection_report</string>
-                            <string>where_expression</string>
-                            <string>select_expression</string>
-                            <string>from_table_list</string>
-                            <string>sort_on</string>
-                            <string>limit_expression</string>
-                            <string>search_mode</string>
+<string>selection</string>
+<string>selection_domain</string>
+<string>selection_report</string>
+<string>where_expression</string>
+<string>select_expression</string>
+<string>group_by_expression</string>
+<string>from_table_list</string>
+<string>sort_on</string>
+<string>limit_expression</string>
+<string>search_mode</string>
                           </list>
                         </value>
                     </item>
@@ -123,14 +130,15 @@
         </item>
         <item>
             <key> <string>arguments_src</string> </key>
-            <value> <string>selection\r\n
-selection_domain\r\n
-selection_report\r\n
-where_expression\r\n
-select_expression\r\n
-from_table_list:list\r\n
-sort_on\r\n
-limit_expression\r\n
+            <value> <string>selection\n
+selection_domain\n
+selection_report\n
+where_expression\n
+select_expression\n
+group_by_expression\n
+from_table_list:list\n
+sort_on\n
+limit_expression\n
 search_mode</string> </value>
         </item>
         <item>
@@ -207,6 +215,10 @@ WHERE \n
 ORDER BY\n
   <dtml-var sort_on>\n
 </dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+  <dtml-var group_by_expression>\n
+</dtml-if>\n
 <dtml-if limit_expression>\n
 LIMIT <dtml-var "limit_expression">\n
 <dtml-else>\n
@@ -286,6 +298,10 @@ WHERE \n
 ORDER BY\n
   <dtml-var sort_on>\n
 </dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+  <dtml-var group_by_expression>\n
+</dtml-if>\n
 <dtml-if limit_expression>\n
 LIMIT <dtml-var "limit_expression">\n
 <dtml-else>\n
-- 
2.30.9