[Erp5-report] r31652 mame - in /erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalo...

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 7 19:57:51 CET 2010


Author: mame
Date: Thu Jan  7 19:57:51 2010
New Revision: 31652

URL: http://svn.erp5.org?rev=31652&view=rev
Log:
Add new column "order_id" and make it part of the primary key. This column will avoid conflicts like Exception: _mysql_exceptions.IntegrityError (1062, "Duplicate entry '65398-24823' for key 1")

Modified:
    erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_item_list.xml
    erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_item.xml
    erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_item_list.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_item_list.xml?rev=31652&r1=31651&r2=31652&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_item_list.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_item_list.xml [utf8] Thu Jan  7 19:57:51 2010
@@ -175,10 +175,12 @@
 \n
 <dtml-var "\'\\0\'">\n
 \n
-<dtml-let movement_list="[]">\n
+<dtml-let movement_list="[]" uid_dict="{}">\n
   <dtml-in prefix="loop" expr="_.range(_.len(uid))">\n
     <dtml-if "isMovement[loop_item] and isAccountable[loop_item] and getAggregateUidList[loop_item]">\n
+      <dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
       <dtml-call expr="movement_list.append(loop_item)">\n
+\n
     </dtml-if>\n
   </dtml-in>\n
   <dtml-if expr="_.len(movement_list) > 0">\n
@@ -187,8 +189,11 @@
 VALUES\n
     <dtml-in prefix="loop" expr="movement_list">\n
       <dtml-in "getAggregateUidList[loop_item]">\n
-( \n
+      \n
+(  \n
+  <dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
   <dtml-sqlvar expr="uid[loop_item]" type="int">,\n
+  <dtml-sqlvar expr="uid_dict[uid[loop_item]]" type="int">,\n
   <dtml-sqlvar expr="getStopDate[loop_item]" type="datetime" optional>,\n
   <dtml-sqlvar expr="getDestinationUid[loop_item]" type="int" optional>,\n
   <dtml-sqlvar expr="getDestinationSectionUid[loop_item]" type="int" optional>,\n
@@ -254,10 +259,12 @@
 \n
 <dtml-var "\'\\0\'">\n
 \n
-<dtml-let movement_list="[]">\n
+<dtml-let movement_list="[]" uid_dict="{}">\n
   <dtml-in prefix="loop" expr="_.range(_.len(uid))">\n
     <dtml-if "isMovement[loop_item] and isAccountable[loop_item] and getAggregateUidList[loop_item]">\n
+      <dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
       <dtml-call expr="movement_list.append(loop_item)">\n
+\n
     </dtml-if>\n
   </dtml-in>\n
   <dtml-if expr="_.len(movement_list) > 0">\n
@@ -266,8 +273,11 @@
 VALUES\n
     <dtml-in prefix="loop" expr="movement_list">\n
       <dtml-in "getAggregateUidList[loop_item]">\n
-( \n
+      \n
+(  \n
+  <dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
   <dtml-sqlvar expr="uid[loop_item]" type="int">,\n
+  <dtml-sqlvar expr="uid_dict[uid[loop_item]]" type="int">,\n
   <dtml-sqlvar expr="getStopDate[loop_item]" type="datetime" optional>,\n
   <dtml-sqlvar expr="getDestinationUid[loop_item]" type="int" optional>,\n
   <dtml-sqlvar expr="getDestinationSectionUid[loop_item]" type="int" optional>,\n

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_item.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_item.xml?rev=31652&r1=31651&r2=31652&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_item.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_item.xml [utf8] Thu Jan  7 19:57:51 2010
@@ -88,6 +88,7 @@
 #\n
 CREATE TABLE `item` (\n
   `uid` BIGINT UNSIGNED NOT NULL,\n
+  `order_id` TINYINT UNSIGNED NOT NULL,\n
   `date` datetime,\n
   `node_uid` BIGINT UNSIGNED default \'0\',\n
   `section_uid` BIGINT UNSIGNED default \'0\',\n
@@ -95,7 +96,7 @@
   `aggregate_uid` BIGINT UNSIGNED default \'0\',\n
   `variation_text` VARCHAR(255),\n
   `simulation_state` VARCHAR(255) default \'\',\n
-  PRIMARY KEY (`uid`, `aggregate_uid`),\n
+  PRIMARY KEY (`uid`, `aggregate_uid`,`order_id`),\n
   KEY `section_uid` (`section_uid`),\n
   KEY `resource_uid` (`resource_uid`),\n
   KEY `variation_text` (`variation_text`),\n
@@ -144,6 +145,7 @@
 #\n
 CREATE TABLE `item` (\n
   `uid` BIGINT UNSIGNED NOT NULL,\n
+  `order_id` TINYINT UNSIGNED NOT NULL,\n
   `date` datetime,\n
   `node_uid` BIGINT UNSIGNED default \'0\',\n
   `section_uid` BIGINT UNSIGNED default \'0\',\n
@@ -151,7 +153,7 @@
   `aggregate_uid` BIGINT UNSIGNED default \'0\',\n
   `variation_text` VARCHAR(255),\n
   `simulation_state` VARCHAR(255) default \'\',\n
-  PRIMARY KEY (`uid`, `aggregate_uid`),\n
+  PRIMARY KEY (`uid`, `aggregate_uid`,`order_id`),\n
   KEY `section_uid` (`section_uid`),\n
   KEY `resource_uid` (`resource_uid`),\n
   KEY `variation_text` (`variation_text`),\n

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision?rev=31652&r1=31651&r2=31652&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision [utf8] Thu Jan  7 19:57:51 2010
@@ -1,1 +1,1 @@
-165
+166




More information about the Erp5-report mailing list