[Erp5-report] r33897 nicolas.dumazet - in /erp5/trunk/products/ERP5/bootstrap/erp5_mysql_in...
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Mar 19 08:30:55 CET 2010
Author: nicolas.dumazet
Date: Fri Mar 19 08:30:54 2010
New Revision: 33897
URL: http://svn.erp5.org?rev=33897&view=rev
Log:
group transformation indexation to avoid using many (too small) transactions
Added:
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.catalog_keys.xml
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.xml
Removed:
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.catalog_keys.xml
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.xml
Modified:
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformation.xml
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformationList.xml
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformation.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformation.xml?rev=33897&r1=33896&r2=33897&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformation.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformation.xml [utf8] Fri Mar 19 08:30:54 2010
@@ -53,41 +53,51 @@
</item>
<item>
<key> <string>_body</string> </key>
- <value> <string encoding="cdata"><![CDATA[
-
-# This script indexes the preferred Transformation to produce\n
+ <value> <string># This script indexes the preferred Transformation to produce\n
# a variation of a product.\n
-# Only the transformation is passed as a parameter, the resource being\n
-# transformation.getResourceValue()\n
+# transformation_item_list is a list of:\n
+# transformation, variation_list_list\n
+# transformation is a transformation to index, while variation_list_list\n
+# is a list of variation categories that are relevant for the produced resource\n
+\n
\n
from Products.ERP5Type.Document import newTempMovement\n
\n
-transformation = context.restrictedTraverse(transformation_relative_url)\n
-resource = transformation.getResourceValue()\n
+# List of dictionaries:\n
+# { id:resource_id,\n
+# variation_text: resource_variation_text,\n
+# row_dict_list: list of rows to insert; each row is represented as a dict.}\n
+row_dict_dict_list = []\n
\n
-row_dict_list = []\n
-movement = newTempMovement(resource, \'temp\',\n
- variation_category_list=variation_list,\n
- resource=resource.getRelativeUrl(),\n
- quantity=1.0)\n
+for transformation_relative_url, variation_list_list in transformation_item_list:\n
+ transformation = context.restrictedTraverse(transformation_relative_url)\n
+ resource = transformation.getResourceValue()\n
\n
-base_row = dict(uid=resource.getUid(), variation_text=movement.getVariationText())\n
+ if resource is None:\n
+ continue\n
+ for variation_list in variation_list_list:\n
+ movement = newTempMovement(resource, \'temp\',\n
+ variation_category_list=variation_list,\n
+ resource=resource.getRelativeUrl(),\n
+ quantity=1.0)\n
+ base_row = dict(uid=resource.getUid(), variation_text=movement.getVariationText())\n
\n
-for amount in transformation.getAggregatedAmountList(movement):\n
- transformed_resource_uid = amount.getResourceUid()\n
- quantity = amount.getQuantity()\n
- if transformed_resource_uid is not None and quantity is not None:\n
- row_dict = base_row.copy()\n
- row_dict.update(transformed_uid=transformed_resource_uid,\n
- transformed_variation_text=amount.getVariationText(),\n
- quantity=quantity)\n
- row_dict_list.append(row_dict)\n
+ row_dict_list = []\n
+ for amount in transformation.getAggregatedAmountList(movement):\n
+ transformed_resource_uid = amount.getResourceUid()\n
+ quantity = amount.getQuantity()\n
+ if transformed_resource_uid is not None and quantity is not None:\n
+ row_dict = base_row.copy()\n
+ row_dict.update(transformed_uid=transformed_resource_uid,\n
+ transformed_variation_text=amount.getVariationText(),\n
+ quantity=quantity)\n
+ row_dict_list.append(row_dict)\n
\n
-if len(row_dict_list) > 0:\n
- context.z_catalog_transformation(row_dict_list=row_dict_list)\n
-
-
-]]></string> </value>
+ base_row[\'row_dict_list\'] = row_dict_list\n
+ row_dict_dict_list.append(base_row)\n
+\n
+context.z_catalog_transformation_list(row_dict_dict_list=row_dict_dict_list)\n
+</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
@@ -97,7 +107,7 @@
</item>
<item>
<key> <string>_params</string> </key>
- <value> <string>transformation_relative_url, variation_list</string> </value>
+ <value> <string>transformation_item_list</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
@@ -117,31 +127,34 @@
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
- <value> <int>2</int> </value>
+ <value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
- <string>transformation_relative_url</string>
- <string>variation_list</string>
+ <string>transformation_item_list</string>
<string>Products.ERP5Type.Document</string>
<string>newTempMovement</string>
+ <string>row_dict_dict_list</string>
+ <string>_getiter_</string>
+ <string>transformation_relative_url</string>
+ <string>variation_list_list</string>
<string>_getattr_</string>
<string>context</string>
<string>transformation</string>
<string>resource</string>
- <string>row_dict_list</string>
+ <string>None</string>
+ <string>variation_list</string>
<string>movement</string>
<string>dict</string>
<string>base_row</string>
- <string>_getiter_</string>
+ <string>row_dict_list</string>
<string>amount</string>
<string>transformed_resource_uid</string>
<string>quantity</string>
- <string>None</string>
<string>row_dict</string>
- <string>len</string>
+ <string>_write_</string>
</tuple>
</value>
</item>
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformationList.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformationList.xml?rev=33897&r1=33896&r2=33897&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformationList.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_catalogTransformationList.xml [utf8] Fri Mar 19 08:30:54 2010
@@ -53,19 +53,36 @@
</item>
<item>
<key> <string>_body</string> </key>
- <value> <string># Indexing all transformation lines for all possible variations of a Resource can be very costly.\n
+ <value> <string encoding="cdata"><![CDATA[
+
+# Indexing all transformation lines for all possible variations of a Resource can be very costly.\n
# Avoid doing this in a single transaction, and split the operation.\n
-#\n
-# One activity is generated per (resource, variation_category_list) possibility\n
+\n
+batch_size = 100\n
+current_batch = []\n
+current_size = 0\n
\n
for i, transformation in enumerate(getDefaultConversionTransformationValue):\n
if transformation is None:\n
continue\n
transformation_relative_url = transformation.getRelativeUrl()\n
- for variation_category_list in getTransformationVariationCategoryCartesianProduct[i]:\n
- context.activate(activity=\'SQLQueue\').SQLCatalog_catalogTransformation(transformation_relative_url,\n
- variation_category_list)\n
-</string> </value>
+ variation_list_list = getTransformationVariationCategoryCartesianProduct[i]\n
+ size = len(transformation)*len(variation_list_list)\n
+\n
+ if size + current_size < batch_size:\n
+ current_batch.append((transformation_relative_url, variation_list_list))\n
+ current_size += size\n
+ else:\n
+ context.activate(activity=\'SQLQueue\').SQLCatalog_catalogTransformation(current_batch)\n
+ current_batch = (transformation_relative_url, variation_list_list),\n
+ current_size = size\n
+\n
+\n
+if current_batch:\n
+ context.activate(activity=\'SQLQueue\').SQLCatalog_catalogTransformation(current_batch)\n
+
+
+]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
@@ -103,6 +120,9 @@
<tuple>
<string>getDefaultConversionTransformationValue</string>
<string>getTransformationVariationCategoryCartesianProduct</string>
+ <string>batch_size</string>
+ <string>current_batch</string>
+ <string>current_size</string>
<string>_getiter_</string>
<string>enumerate</string>
<string>i</string>
@@ -111,7 +131,10 @@
<string>_getattr_</string>
<string>transformation_relative_url</string>
<string>_getitem_</string>
- <string>variation_category_list</string>
+ <string>variation_list_list</string>
+ <string>len</string>
+ <string>size</string>
+ <string>_inplacevar_</string>
<string>context</string>
</tuple>
</value>
Removed: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.catalog_keys.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.catalog_keys.xml?rev=33896&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.catalog_keys.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.catalog_keys.xml (removed)
@@ -1,2 +1,0 @@
-<catalog_method>
-</catalog_method>
Removed: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.xml?rev=33896&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation.xml (removed)
@@ -1,186 +1,0 @@
-<?xml version="1.0"?>
-<ZopeData>
- <record id="1" aka="AAAAAAAAAAE=">
- <pickle>
- <tuple>
- <global name="SQL" module="Products.ZSQLMethods.SQL"/>
- <tuple/>
- </tuple>
- </pickle>
- <pickle>
- <dictionary>
- <item>
- <key> <string>_arg</string> </key>
- <value>
- <object>
- <klass>
- <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
- </klass>
- <tuple/>
- <state>
- <dictionary>
- <item>
- <key> <string>_data</string> </key>
- <value>
- <dictionary>
- <item>
- <key> <string>row_dict_list</string> </key>
- <value>
- <dictionary/>
- </value>
- </item>
- </dictionary>
- </value>
- </item>
- <item>
- <key> <string>_keys</string> </key>
- <value>
- <list>
- <string>row_dict_list</string>
- </list>
- </value>
- </item>
- </dictionary>
- </state>
- </object>
- </value>
- </item>
- <item>
- <key> <string>allow_simple_one_argument_traversal</string> </key>
- <value>
- <none/>
- </value>
- </item>
- <item>
- <key> <string>arguments_src</string> </key>
- <value> <string>row_dict_list</string> </value>
- </item>
- <item>
- <key> <string>cache_time_</string> </key>
- <value> <int>0</int> </value>
- </item>
- <item>
- <key> <string>class_file_</string> </key>
- <value> <string></string> </value>
- </item>
- <item>
- <key> <string>class_name_</string> </key>
- <value> <string></string> </value>
- </item>
- <item>
- <key> <string>connection_hook</string> </key>
- <value>
- <none/>
- </value>
- </item>
- <item>
- <key> <string>connection_id</string> </key>
- <value> <string>erp5_sql_connection</string> </value>
- </item>
- <item>
- <key> <string>id</string> </key>
- <value> <string>z_catalog_transformation</string> </value>
- </item>
- <item>
- <key> <string>max_cache_</string> </key>
- <value> <int>100</int> </value>
- </item>
- <item>
- <key> <string>max_rows_</string> </key>
- <value> <int>1000</int> </value>
- </item>
- <item>
- <key> <string>src</string> </key>
- <value> <string encoding="cdata"><![CDATA[
-
-DELETE FROM `transformation` WHERE\n
- <dtml-sqltest expr="row_dict_list[0][\'uid\']" column="uid" type="int">\n
- AND\n
- <dtml-sqltest expr="row_dict_list[0][\'variation_text\']" column="variation_text" type="string">;\n
-<dtml-var sql_delimiter>\n
-\n
-INSERT INTO `transformation`\n
-VALUES\n
- <dtml-in row_dict_list prefix="loop">\n
-(\n
- <dtml-sqlvar expr="loop_item[\'uid\']" type="int">,\n
- <dtml-sqlvar expr="loop_item[\'variation_text\']" type="string">,\n
- <dtml-sqlvar expr="loop_item[\'transformed_uid\']" type="int">,\n
- <dtml-sqlvar expr="loop_item[\'transformed_variation_text\']" type="string">,\n
- <dtml-sqlvar expr="loop_item[\'quantity\']" type="float">\n
-)\n
-<dtml-unless sequence-end>,</dtml-unless>\n
- </dtml-in>
-
-]]></string> </value>
- </item>
- <item>
- <key> <string>template</string> </key>
- <value>
- <object>
- <klass>
- <global name="__newobj__" module="copy_reg"/>
- </klass>
- <tuple>
- <global name="SQL" module="Shared.DC.ZRDB.DA"/>
- </tuple>
- <state>
- <dictionary>
- <item>
- <key> <string>__name__</string> </key>
- <value> <string encoding="cdata"><![CDATA[
-
-<string>
-
-]]></string> </value>
- </item>
- <item>
- <key> <string>_vars</string> </key>
- <value>
- <dictionary/>
- </value>
- </item>
- <item>
- <key> <string>globals</string> </key>
- <value>
- <dictionary/>
- </value>
- </item>
- <item>
- <key> <string>raw</string> </key>
- <value> <string encoding="cdata"><![CDATA[
-
-DELETE FROM `transformation` WHERE\n
- <dtml-sqltest expr="row_dict_list[0][\'uid\']" column="uid" type="int">\n
- AND\n
- <dtml-sqltest expr="row_dict_list[0][\'variation_text\']" column="variation_text" type="string">;\n
-<dtml-var sql_delimiter>\n
-\n
-INSERT INTO `transformation`\n
-VALUES\n
- <dtml-in row_dict_list prefix="loop">\n
-(\n
- <dtml-sqlvar expr="loop_item[\'uid\']" type="int">,\n
- <dtml-sqlvar expr="loop_item[\'variation_text\']" type="string">,\n
- <dtml-sqlvar expr="loop_item[\'transformed_uid\']" type="int">,\n
- <dtml-sqlvar expr="loop_item[\'transformed_variation_text\']" type="string">,\n
- <dtml-sqlvar expr="loop_item[\'quantity\']" type="float">\n
-)\n
-<dtml-unless sequence-end>,</dtml-unless>\n
- </dtml-in>
-
-]]></string> </value>
- </item>
- </dictionary>
- </state>
- </object>
- </value>
- </item>
- <item>
- <key> <string>title</string> </key>
- <value> <string></string> </value>
- </item>
- </dictionary>
- </pickle>
- </record>
-</ZopeData>
Added: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.catalog_keys.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.catalog_keys.xml?rev=33897&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.catalog_keys.xml (added)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.catalog_keys.xml [utf8] Fri Mar 19 08:30:54 2010
@@ -1,0 +1,2 @@
+<catalog_method>
+</catalog_method>
Added: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.xml?rev=33897&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.xml (added)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_transformation_list.xml [utf8] Fri Mar 19 08:30:54 2010
@@ -1,0 +1,204 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <tuple>
+ <global name="SQL" module="Products.ZSQLMethods.SQL"/>
+ <tuple/>
+ </tuple>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>_arg</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>_data</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>row_dict_dict_list</string> </key>
+ <value>
+ <dictionary/>
+ </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ <item>
+ <key> <string>_keys</string> </key>
+ <value>
+ <list>
+ <string>row_dict_dict_list</string>
+ </list>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>allow_simple_one_argument_traversal</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>arguments_src</string> </key>
+ <value> <string>row_dict_dict_list</string> </value>
+ </item>
+ <item>
+ <key> <string>cache_time_</string> </key>
+ <value> <int>0</int> </value>
+ </item>
+ <item>
+ <key> <string>class_file_</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>class_name_</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>connection_hook</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>connection_id</string> </key>
+ <value> <string>erp5_sql_connection</string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>z_catalog_transformation_list</string> </value>
+ </item>
+ <item>
+ <key> <string>max_cache_</string> </key>
+ <value> <int>100</int> </value>
+ </item>
+ <item>
+ <key> <string>max_rows_</string> </key>
+ <value> <int>1000</int> </value>
+ </item>
+ <item>
+ <key> <string>src</string> </key>
+ <value> <string encoding="cdata"><![CDATA[
+
+<dtml-let row_list="[]">\n
+<dtml-in row_dict_dict_list prefix="outer">\n
+DELETE FROM `transformation` WHERE\n
+ <dtml-sqltest expr="outer_item[\'uid\']" column="uid" type="int">\n
+ AND\n
+ <dtml-sqltest expr="outer_item[\'variation_text\']" column="variation_text" type="string">;\n
+<dtml-var sql_delimiter>\n
+<dtml-call "row_list.extend(outer_item[\'row_dict_list\'])">\n
+</dtml-in>\n
+\n
+<dtml-if "len(row_list)>0">\n
+<dtml-var sql_delimiter>\n
+\n
+INSERT INTO `transformation`\n
+VALUES\n
+ <dtml-in row_list prefix="loop">\n
+(\n
+ <dtml-sqlvar expr="loop_item[\'uid\']" type="int">,\n
+ <dtml-sqlvar expr="loop_item[\'variation_text\']" type="string">,\n
+ <dtml-sqlvar expr="loop_item[\'transformed_uid\']" type="int">,\n
+ <dtml-sqlvar expr="loop_item[\'transformed_variation_text\']" type="string">,\n
+ <dtml-sqlvar expr="loop_item[\'quantity\']" type="float">\n
+)\n
+<dtml-unless sequence-end>,</dtml-unless>\n
+ </dtml-in>\n
+</dtml-if>\n
+</dtml-let>
+
+]]></string> </value>
+ </item>
+ <item>
+ <key> <string>template</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="__newobj__" module="copy_reg"/>
+ </klass>
+ <tuple>
+ <global name="SQL" module="Shared.DC.ZRDB.DA"/>
+ </tuple>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>__name__</string> </key>
+ <value> <string encoding="cdata"><![CDATA[
+
+<string>
+
+]]></string> </value>
+ </item>
+ <item>
+ <key> <string>_vars</string> </key>
+ <value>
+ <dictionary/>
+ </value>
+ </item>
+ <item>
+ <key> <string>globals</string> </key>
+ <value>
+ <dictionary/>
+ </value>
+ </item>
+ <item>
+ <key> <string>raw</string> </key>
+ <value> <string encoding="cdata"><![CDATA[
+
+<dtml-let row_list="[]">\n
+<dtml-in row_dict_dict_list prefix="outer">\n
+DELETE FROM `transformation` WHERE\n
+ <dtml-sqltest expr="outer_item[\'uid\']" column="uid" type="int">\n
+ AND\n
+ <dtml-sqltest expr="outer_item[\'variation_text\']" column="variation_text" type="string">;\n
+<dtml-var sql_delimiter>\n
+<dtml-call "row_list.extend(outer_item[\'row_dict_list\'])">\n
+</dtml-in>\n
+\n
+<dtml-if "len(row_list)>0">\n
+<dtml-var sql_delimiter>\n
+\n
+INSERT INTO `transformation`\n
+VALUES\n
+ <dtml-in row_list prefix="loop">\n
+(\n
+ <dtml-sqlvar expr="loop_item[\'uid\']" type="int">,\n
+ <dtml-sqlvar expr="loop_item[\'variation_text\']" type="string">,\n
+ <dtml-sqlvar expr="loop_item[\'transformed_uid\']" type="int">,\n
+ <dtml-sqlvar expr="loop_item[\'transformed_variation_text\']" type="string">,\n
+ <dtml-sqlvar expr="loop_item[\'quantity\']" type="float">\n
+)\n
+<dtml-unless sequence-end>,</dtml-unless>\n
+ </dtml-in>\n
+</dtml-if>\n
+</dtml-let>
+
+]]></string> </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
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=33897&r1=33896&r2=33897&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] Fri Mar 19 08:30:54 2010
@@ -1,1 +1,1 @@
-183
+184
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list?rev=33897&r1=33896&r2=33897&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_method_id_list [utf8] Fri Mar 19 08:30:54 2010
@@ -48,7 +48,7 @@
erp5_mysql_innodb/z_catalog_predicate_list
erp5_mysql_innodb/z_catalog_roles_and_users_list
erp5_mysql_innodb/z_catalog_stock_list
-erp5_mysql_innodb/z_catalog_transformation
+erp5_mysql_innodb/z_catalog_transformation_list
erp5_mysql_innodb/z_catalog_translation_list
erp5_mysql_innodb/z_catalog_versioning_list
erp5_mysql_innodb/z_clear_reserved
More information about the Erp5-report
mailing list