[Erp5-report] r13658 - in /erp5/trunk/products/CMFActivity: Activity/ skins/activity/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Mar 26 16:30:32 CEST 2007
Author: yo
Date: Mon Mar 26 16:30:30 2007
New Revision: 13658
URL: http://svn.erp5.org?rev=13658&view=rev
Log:
Yet another optimization to avoid GROUP BY. Now filtering is done by Python level.
Modified:
erp5/trunk/products/CMFActivity/Activity/SQLDict.py
erp5/trunk/products/CMFActivity/skins/activity/SQLDict_readMessage.zsql
Modified: erp5/trunk/products/CMFActivity/Activity/SQLDict.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/Activity/SQLDict.py?rev=13658&r1=13657&r2=13658&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/Activity/SQLDict.py (original)
+++ erp5/trunk/products/CMFActivity/Activity/SQLDict.py Mon Mar 26 16:30:30 2007
@@ -250,9 +250,17 @@
to_date = now_date, group_method_id = group_method_id,
order_validation_text = order_validation_text)
#LOG('SQLDict dequeueMessage', 0, 'result = %d' % (len(result)))
+ path_and_method_id_dict = {}
for line in result:
path = line.path
method_id = line.method_id
+
+ # Prevent using the same pair of a path and a method id.
+ key = (path, method_id)
+ if key in path_and_method_id_dict:
+ continue
+ path_and_method_id_dict[key] = 1
+
uid_list = activity_tool.SQLDict_readUidList(path = path, method_id = method_id,
processing_node = None, to_date = now_date,
order_validation_text = order_validation_text)
Modified: erp5/trunk/products/CMFActivity/skins/activity/SQLDict_readMessage.zsql
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/skins/activity/SQLDict_readMessage.zsql?rev=13658&r1=13657&r2=13658&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/skins/activity/SQLDict_readMessage.zsql (original)
+++ erp5/trunk/products/CMFActivity/skins/activity/SQLDict_readMessage.zsql Mon Mar 26 16:30:30 2007
@@ -13,7 +13,7 @@
to_processing_date
group_method_id
order_validation_text</params>
-SELECT <dtml-if group_method_id>DISTINCT</dtml-if> * FROM
+SELECT * FROM
message
WHERE
processing <> 1
@@ -22,10 +22,6 @@
<dtml-if to_date>AND date <= <dtml-sqlvar to_date type="datetime"> </dtml-if>
<dtml-if group_method_id>AND group_method_id = <dtml-sqlvar group_method_id type="string"> </dtml-if>
<dtml-if order_validation_text>AND order_validation_text = <dtml-sqlvar order_validation_text type="string"> </dtml-if>
-<dtml-if group_method_id>
-GROUP BY
- path, method_id
-</dtml-if>
ORDER BY
priority, date, uid
<dtml-if group_method_id>
More information about the Erp5-report
mailing list