From de09957286b15d3f234b61087e3846ce89b9a5cb Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 16 Jun 2008 10:52:10 +0000
Subject: [PATCH] Use VARBINARY type for group_id column in portal_ids table:
 as data comes from a dictionary, data can contain strings considered
 identical in VARCHAR interpretation, which would break clear_catalog action.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@21609 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_mysql_innodb/z_create_portal_ids.xml | 23 +++++++++++--------
 .../erp5_mysql_innodb_catalog/bt/revision     |  2 +-
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_portal_ids.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_portal_ids.xml
index 7e6061d87b..f7bd267a9a 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_portal_ids.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_portal_ids.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.ZSQLMethods.SQL</string>
-          <string>SQL</string>
-        </tuple>
-        <none/>
+        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -51,6 +48,12 @@
               <tuple/>
             </value>
         </item>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
         <item>
             <key> <string>allow_simple_one_argument_traversal</string> </key>
             <value>
@@ -100,7 +103,7 @@
             <value> <string encoding="cdata"><![CDATA[
 
 CREATE TABLE `portal_ids` (\n
-  `id_group` VARCHAR(255),\n
+  `id_group` VARBINARY(255),\n
   `last_id` BIGINT UNSIGNED,\n
   PRIMARY KEY  (`id_group`)\n
 ) TYPE=InnoDB\n
@@ -117,9 +120,11 @@ INSERT INTO `portal_ids` (`id_group`, `last_id`) VALUES (<dtml-sqlvar sequence-k
             <value>
               <object>
                 <klass>
-                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
+                  <global name="__newobj__" module="copy_reg"/>
                 </klass>
-                <none/>
+                <tuple>
+                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
+                </tuple>
                 <state>
                   <dictionary>
                     <item>
@@ -147,7 +152,7 @@ INSERT INTO `portal_ids` (`id_group`, `last_id`) VALUES (<dtml-sqlvar sequence-k
                         <value> <string encoding="cdata"><![CDATA[
 
 CREATE TABLE `portal_ids` (\n
-  `id_group` VARCHAR(255),\n
+  `id_group` VARBINARY(255),\n
   `last_id` BIGINT UNSIGNED,\n
   PRIMARY KEY  (`id_group`)\n
 ) TYPE=InnoDB\n
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
index 615088b548..97e3504110 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-108
\ No newline at end of file
+110
\ No newline at end of file
-- 
2.30.9