[Zope] MYSQL Problem

Ron Bickers rbickers@logicetc.com
Sun, 28 Jan 2001 01:18:45 -0500


The trailing L identifies a long int in Python.  As of ZMySQLDA 2.0.4, MySQL
integers use Python longs because an unsigned MySQL integer could overflow a
Python int.  So, it's a bug fix.

A couple solutions (found at http://dustman.net/andy/python/ZMySQLDA/2.0.4)
are to use <dtml-var num fmt="%d"> or something similar to strip the L, or
use Python 2.x, which would not display the L in this case.  You could also
modify MySQLDA to use a Python int if you know you're not going to have
integers that will overflow.

Note that Python 2 is not officially supported by Digital Creations, though
it does happen to work with Zope 2.3.0.
_______________________

Ron Bickers
Logic Etc, Inc.
rbickers@logicetc.com


-----Original Message-----
From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Jens
Grewen
Sent: Saturday, January 27, 2001 11:36 PM
To: Zope Maillist
Subject: [Zope] MYSQL Problem

From the following SQL statment I get the result  233L and not 233 as
expected

select count(PID)
from product

When I run this SQL Statment from another program I get the expected value
233.


In my installation there are a lot of Z SQL Methods that should return an
int value and when I use field description int in the database I always get
this 'L' behind the expected result. A lot of things donīt work because of
this.

When I change to mediumint (database field description) I get the expected
233.

How can I fix this.