<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/mailmanager/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/mailmanager/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 05 Sep 2007 05:40:49 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mailmanager/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Time Zone doesn't work</title><link>https://sourceforge.net/p/mailmanager/bugs/685/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;We are in US central time zone and we have to set the timezone to Hawaii to get the time right. Server time is not set to UTC, but to US central time.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kuhazor</dc:creator><pubDate>Wed, 05 Sep 2007 05:40:49 -0000</pubDate><guid>https://sourceforge.net91e370097fa09ea8131b8de22ab73f0dffdff7a2</guid></item><item><title>Reports page crashes</title><link>https://sourceforge.net/p/mailmanager/bugs/684/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Site Error&lt;/p&gt;
&lt;p&gt;An error was encountered while publishing this resource.&lt;/p&gt;
&lt;p&gt;Error Type: TypeError&lt;br /&gt;
Error Value: unsupported operand type(s) for +: 'int' and 'str'&lt;/p&gt;
&lt;p&gt;Troubleshooting Suggestions&lt;/p&gt;
&lt;p&gt;* The URL may be incorrect.&lt;br /&gt;
* The parameters passed to this resource may be incorrect.&lt;br /&gt;
* A resource that this resource relies on may be encountering an error.&lt;/p&gt;
&lt;p&gt;For more detailed information about the error, please refer to the error log.&lt;/p&gt;
&lt;p&gt;If the error persists please contact the site maintainer. Thank you for your patience. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kuhazor</dc:creator><pubDate>Wed, 05 Sep 2007 05:39:03 -0000</pubDate><guid>https://sourceforge.net663ac13d8c59d6d5ef275807e90ba2060cde6de9</guid></item><item><title>listTickets.zsql produces invalid SQL for MySQL</title><link>https://sourceforge.net/p/mailmanager/bugs/683/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I downloaded and tried to install the latest 2.1.1 release from SVN. It would fail to install completely, producing an error message when adding the MailManager product instance into Zope. The error it failed with was:&lt;/p&gt;
&lt;p&gt;Traceback (innermost last):&lt;br /&gt;
Module ZPublisher.Publish, line 115, in publish&lt;br /&gt;
Module ZPublisher.mapply, line 88, in mapply&lt;br /&gt;
Module ZPublisher.Publish, line 41, in call_object&lt;br /&gt;
Module Products.MailManager.MailManager, line 279, in manage_addMailManager&lt;br /&gt;
Module OFS.ObjectManager, line 333, in _setObject&lt;br /&gt;
Module zope.event, line 23, in notify&lt;br /&gt;
Module zope.app.event.dispatching, line 66, in dispatch&lt;br /&gt;
Module zope.component, line 181, in subscribers&lt;br /&gt;
Module zope.component.site, line 89, in subscribers&lt;br /&gt;
Module zope.interface.adapter, line 481, in subscribers&lt;br /&gt;
Module zope.app.event.objectevent, line 192, in objectEventNotify&lt;br /&gt;
Module zope.component, line 181, in subscribers&lt;br /&gt;
Module zope.component.site, line 89, in subscribers&lt;br /&gt;
Module zope.interface.adapter, line 481, in subscribers&lt;br /&gt;
Module OFS.subscribers, line 114, in dispatchObjectMovedEvent&lt;br /&gt;
Module OFS.subscribers, line 137, in callManageAfterAdd&lt;br /&gt;
Module Products.MailManager.MailManager, line 489, in manage_afterAdd&lt;br /&gt;
Module Products.MailManager.migrations, line 134, in migrate&lt;br /&gt;
Module Products.MailManager.migrations.v2_1, line 530, in migrate_v2_1_15_v2_1_16&lt;br /&gt;
Module Products.MailManager.sql, line 161, in __call__&lt;br /&gt;
Module Shared.DC.ZRDB.DA, line 454, in __call__&lt;br /&gt;
- &amp;lt;FSZSQLWrapper at /mailmanager/sql/listTickets&amp;gt;&lt;br /&gt;
Module Products.ZMySQLDA.db, line 306, in query&lt;br /&gt;
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OFFSET 0' at line 49")&lt;/p&gt;
&lt;p&gt;I tracked it down to the fact that when the listTickets SQL method is called with the 'sqv_nolimit' parameter set to true (which the migrate_v2_1_15_v2_1_16 method does), it was indeed producing an invalid query. The query it was attempting to run was this (as logged by MySQL server):&lt;/p&gt;
&lt;p&gt;SELECT mm_ticket.*, state AS full_state&lt;br /&gt;
FROM mm_ticket&lt;br /&gt;
INNER JOIN mm_ticket_index ON mm_ticket.id = mm_ticket_index.id&lt;br /&gt;
OFFSET 0&lt;/p&gt;
&lt;p&gt;Unlike PostgreSQL, in MySQL, an OFFSET clause cannot be used without an accompanying LIMIT clause (in effect, OFFSET is merely an argument to LIMIT).&lt;/p&gt;
&lt;p&gt;The solution I found was to remove the "OFFSET 0" part entirely. In MySQL, OFFSET is optional, and specifying an offset of zero is the same as not specifying one at all. I only made this change for MySQL, as I believe OFFSET to always be required in Postgres.&lt;/p&gt;
&lt;p&gt;The relevant section of listTickets.zsql now reads:&lt;/p&gt;
&lt;p&gt;&amp;lt;dtml-if sqv_offset&amp;gt;&lt;br /&gt;
&amp;lt;dtml-if expr="sql_database == 'postgres'"&amp;gt;&lt;br /&gt;
OFFSET &amp;lt;dtml-var sqv_offset&amp;gt;&lt;br /&gt;
&amp;lt;dtml-elif expr="sql_database == 'oracle'"&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;dtml-elif expr="sql_database == 'mysql'"&amp;gt;&lt;br /&gt;
OFFSET &amp;lt;dtml-var sqv_offset&amp;gt;&lt;br /&gt;
&amp;lt;/dtml-if&amp;gt;&lt;br /&gt;
&amp;lt;dtml-else&amp;gt;&lt;br /&gt;
&amp;lt;dtml-if expr="sql_database == 'postgres'"&amp;gt;&lt;br /&gt;
OFFSET 0&lt;br /&gt;
&amp;lt;dtml-elif expr="sql_database == 'oracle'"&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;dtml-elif expr="sql_database == 'mysql'"&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/dtml-if&amp;gt;&lt;br /&gt;
&amp;lt;/dtml-if&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Basil Hussain</dc:creator><pubDate>Tue, 17 Apr 2007 11:04:58 -0000</pubDate><guid>https://sourceforge.net18866614210fe4864d56598abc21a4a42d5259c2</guid></item><item><title>MySQL cron database locks not being released</title><link>https://sourceforge.net/p/mailmanager/bugs/682/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When trying to investigate a problem with MM not processing mail when using the MMCron.py script, I came across the following bug. My problem was that the 'get_mail' task was being process the first time after Zope initialisation, but would error every time afterwards with "Failure to get lock for get_mail" in the logs.&lt;/p&gt;
&lt;p&gt;I tracked it down to a problem caused by the ZSQL method used to release the MySQL database locks (when processing the tasks called by 'process_tasks') being broken.&lt;/p&gt;
&lt;p&gt;If we look at the MySQL-specific statement used in getCronLock.zsql, we can see that it does the following:&lt;/p&gt;
&lt;p&gt;SELECT GET_LOCK('cron_&amp;lt;dtml-var sqv_lock_name&amp;gt;', 5) AS lockval&lt;/p&gt;
&lt;p&gt;However, if we look at the MySQL statement used in releaseCronLock.zsql, it does this:&lt;/p&gt;
&lt;p&gt;SELECT RELEASE_LOCK('&amp;lt;dtml-var sqv_lock_name&amp;gt;') AS lockval&lt;/p&gt;
&lt;p&gt;Spot the mistake? The lock string name on the release call isn't the same! It's missing the 'cron_' prefix. This means that ANY locks set in MySQL would never actually be released, no matter what!&lt;/p&gt;
&lt;p&gt;It should obviously be corrected to:&lt;/p&gt;
&lt;p&gt;SELECT RELEASE_LOCK('cron_&amp;lt;dtml-var sqv_lock_name&amp;gt;') AS lockval&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Basil Hussain</dc:creator><pubDate>Tue, 10 Apr 2007 14:36:57 -0000</pubDate><guid>https://sourceforge.net4fcbc5b12049eda94e78204afecc20ccfb7721ae</guid></item><item><title>MySQL field mm_message.raw_headers should be TEXT not BLOB</title><link>https://sourceforge.net/p/mailmanager/bugs/681/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Shouldn't the MySQL field mm_message.raw_headers be TEXT instead of LONGBLOB? When viewing the headers of a ticket you currently get an array type.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thimo Kraemer</dc:creator><pubDate>Tue, 20 Feb 2007 10:57:34 -0000</pubDate><guid>https://sourceforge.net3f56b8076f28629517f7d6a1ea45da70cd64af51</guid></item><item><title>Other ZMySQLDA instances are affected by unicode patch</title><link>https://sourceforge.net/p/mailmanager/bugs/680/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When combining unicode and non-unicode MySQL connections, each instance is affected by the other one. Depending on which instance used last.&lt;/p&gt;
&lt;p&gt;This is due to the fact that some items of the conversions list are references instead of independent objects (e.g. conv[FIELD_TYPE.BLOB]).&lt;/p&gt;
&lt;p&gt;Furthermore it is possible to patch just one file of the ZMySQLDA package to get unicode support instead of four files.&lt;/p&gt;
&lt;p&gt;To get this working, you have to modify only two functions of db.py&lt;br /&gt;
Now you can turn on unicode support by adding the string "use_unicode" to the end(!) of the connection string.&lt;/p&gt;
&lt;p&gt;def _parse_connection_string(self, connection):&lt;br /&gt;
kwargs = {'conv': self.conv.copy()}&lt;br /&gt;
items = split(connection)&lt;br /&gt;
if not items: return kwargs&lt;br /&gt;
if items[-1] == 'use_unicode':&lt;br /&gt;
self.use_unicode = True&lt;br /&gt;
del items[-1]&lt;br /&gt;
# Update the converters on the unicode object&lt;br /&gt;
def u(s):&lt;br /&gt;
return s.decode('UTF8')&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.STRING] = u&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.VAR_STRING] = u&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.BLOB] = self.conv[FIELD_TYPE.BLOB][:]&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.BLOB].insert(-1, (None, u))&lt;br /&gt;
else:&lt;br /&gt;
self.use_unicode = False&lt;br /&gt;
# Reset these elements - by default they should not be present&lt;br /&gt;
if self.conv.has_key(FIELD_TYPE.STRING):&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.STRING] = self.conv[FIELD_TYPE.STRING]&lt;br /&gt;
elif kwargs['conv'].has_key(FIELD_TYPE.STRING):&lt;br /&gt;
del kwargs['conv'][FIELD_TYPE.STRING]&lt;br /&gt;
if self.conv.has_key(FIELD_TYPE.VAR_STRING):&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.VAR_STRING] = self.conv[FIELD_TYPE.VAR_STRING]&lt;br /&gt;
elif kwargs['conv'].has_key(FIELD_TYPE.VAR_STRING):&lt;br /&gt;
del kwargs['conv'][FIELD_TYPE.VAR_STRING]&lt;br /&gt;
if self.conv.has_key(FIELD_TYPE.BLOB):&lt;br /&gt;
kwargs['conv'][FIELD_TYPE.BLOB] = self.conv[FIELD_TYPE.BLOB]&lt;br /&gt;
elif kwargs['conv'].has_key(FIELD_TYPE.BLOB):&lt;br /&gt;
del kwargs['conv'][FIELD_TYPE.BLOB]&lt;br /&gt;
db_host, items = items[0], items[1:]&lt;br /&gt;
if '@' in db_host:&lt;br /&gt;
db, host = split(db_host,'@',1)&lt;br /&gt;
kwargs['db'] = db&lt;br /&gt;
if ':' in host:&lt;br /&gt;
host, port = split(host,':',1)&lt;br /&gt;
kwargs['port'] = int(port)&lt;br /&gt;
kwargs['host'] = host&lt;br /&gt;
else:&lt;br /&gt;
kwargs['db'] = db_host&lt;br /&gt;
if kwargs['db'][0] in ('+', '-'):&lt;br /&gt;
self._try_transactions = kwargs['db'][0]&lt;br /&gt;
kwargs['db'] = kwargs['db'][1:]&lt;br /&gt;
else:&lt;br /&gt;
self._try_transactions = None&lt;br /&gt;
if not items: return kwargs&lt;br /&gt;
kwargs['user'], items = items[0], items[1:]&lt;br /&gt;
if not items: return kwargs&lt;br /&gt;
kwargs['passwd'], items = items[0], items[1:]&lt;br /&gt;
if not items: return kwargs&lt;br /&gt;
kwargs['unix_socket'], items = items[0], items[1:]&lt;br /&gt;
return kwargs&lt;/p&gt;
&lt;p&gt;def string_literal(self, s):&lt;br /&gt;
if self.use_unicode and type(s) == unicode:&lt;br /&gt;
s = s.encode('UTF8')&lt;br /&gt;
return self.db.string_literal(s)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thimo Kraemer</dc:creator><pubDate>Fri, 16 Feb 2007 12:21:04 -0000</pubDate><guid>https://sourceforge.net356629eaee3683f1833a64e3efb0fa4dc3da3b76</guid></item><item><title>SEARCH - no 2007 Selection</title><link>https://sourceforge.net/p/mailmanager/bugs/679/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In SEARCH Options there is NO year 2007 on the list?  This exists in version 2.0.10 also.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dick Calhoun - Imm</dc:creator><pubDate>Mon, 08 Jan 2007 16:38:48 -0000</pubDate><guid>https://sourceforge.netc636023d0e1f11d90c6137fcf0fcd0cc9fe06826</guid></item><item><title>Performance drops dramatically as the database grows</title><link>https://sourceforge.net/p/mailmanager/bugs/678/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;As the number of mails in the database grows, the performance when writing (sending replies, adding notes) drops dramatically. it can currently take 30 seconds to send a reply on our deployment. &lt;/p&gt;
&lt;p&gt;We initially believed it to be related to the sending of mail, but the problem persistst even after replacing the mailhost with maildrophost. The problem also appears when adding notes. &lt;/p&gt;
&lt;p&gt;Since this happens unrelated to mail-sending and even when only adding notes, everything points towards either a table without proper indexes or a miswritten SQL query.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Geir Bćkholt</dc:creator><pubDate>Fri, 05 Jan 2007 08:57:03 -0000</pubDate><guid>https://sourceforge.netbca2f5b78e25494e9b8b4b8e336c8b1f7ccc50f9</guid></item><item><title>Search dates not available for 2007</title><link>https://sourceforge.net/p/mailmanager/bugs/677/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There is no option to search for tickets from 2007.&lt;/p&gt;
&lt;p&gt;Looking at the code, it appears that the date range is hardcoded. This needs replaced.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kevin Campbell</dc:creator><pubDate>Tue, 02 Jan 2007 14:50:00 -0000</pubDate><guid>https://sourceforge.net5554ea2fcfc51524c50218be86d201da8ec91a61</guid></item><item><title>Page list never displays '6'</title><link>https://sourceforge.net/p/mailmanager/bugs/676/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The page listing at the top left of the issue list page&lt;br /&gt;
does not display the 6th page link. ever.&lt;/p&gt;
&lt;p&gt;There is a 6th page, and when I delete everything on&lt;br /&gt;
page 7 it takes me to it, thus this page and page 5&lt;br /&gt;
both have "1 2 3 4 5" at the top left, no 6.&lt;/p&gt;
&lt;p&gt;:(&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 13 Nov 2006 10:37:10 -0000</pubDate><guid>https://sourceforge.nete8a4107857c86e2c2b8a3d53afa4b7dcd951e017</guid></item></channel></rss>