Found nn messages in the processing-messages database

Julian Field MailScanner at ecs.soton.ac.uk
Thu Apr 23 18:02:37 IST 2009



On 23/04/2009 15:12, Mark Sapiro wrote:
> On Thu, Apr 23, 2009 at 09:31:45AM +0100, Julian Field wrote:
>    
>>
>> On 23/04/2009 02:57, Mark Sapiro wrote:
>>      
>>> I have looked a bit more clusely at the messages that were left in the
>>> database. and it is not only that the id is all-decimal; the entropy
>>> fragment must also be all-decimal or contain only a single 'E', so in
>>> every case, they are being interpred as a floating point number rather
>>> than a string.
>>>
>>>        
>> Which is a Perl bug. Perl should carry them around as both a number and
>> a string, and the final destination type is a string (that's the type of
>> the field in the SQL query), so someone is squashing it to just a number
>> before checking the destination type. That's either a bug in Perl or in
>> the implementation of DBD::SQLite.
>>      
>>> E.g., the latest list from running for a while with the
>>>
>>>      $sth->execute("$id");
>>>
>>> patch is
>>>
>>> 74221690410.052E4
>>> 36888690435.06105
>>> 73061690441.05915
>>> 15461690460.09210
>>>
>>> all of which are valid floating point number representations. If you
>>> look at the lists in the messages I previously posted such as at
>>> <http://lists.mailscanner.info/pipermail/mailscanner/2009-April/091022.html>,
>>> you will see that those too are all decimal to the left of the period
>>> and all decimal or contain at most one 'E' to the right of the period
>>> so they are all valid floating point number representations, and were
>>> apparently treated as floating point numbers when passed to the
>>> statement handler method with perl-DBD-SQLite-1.21, but apparently not
>>> with the prior perl-DBD-SQLite-1.13.
>>>
>>>        
>> Well diagnosed, sir  :-)
>> So an alternative solution would be to put a "P" (for Postfix, but is
>> arbitrary) on the front of the message id.
>> Would you like me to do that, or just live with the slight inefficiency
>> in the database deletion?
>>      
>
> I had an idea, and I am trying
>
>      $sth->execute("\'$id\'");
>    
That shouldn't work, as you are trying to delete the message id, not the 
message id with quotes around it.
> I will also take a look at 4.76.16. I'll let you know what I find.
>
>    

Jules

-- 
Julian Field MEng CITP CEng
www.MailScanner.info
Buy the MailScanner book at www.MailScanner.info/store

MailScanner customisation, or any advanced system administration help?
Contact me at Jules at Jules.FM

PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
PGP public key: http://www.jules.fm/julesfm.asc


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the MailScanner mailing list