From m.mariani@imola.nettuno.it Fri Jan 18 19:16:32 2002
Received: from zoidberg (adsl-169-11.38-151.net24.it [151.38.11.169])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0IIGVs19156
	for <egenix-users@lists.egenix.com>; Fri, 18 Jan 2002 19:16:32 +0100
Received: from volvox by zoidberg with local (Exim 3.33 #1 (Debian))
	id 16RdZW-00036O-00
	for <egenix-users@lists.egenix.com>; Fri, 18 Jan 2002 19:17:02 +0100
Date: Fri, 18 Jan 2002 19:17:02 +0100
To: egenix-users@lists.egenix.com
Message-ID: <20020118181702.GA11811@zoidberg>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.25i
From: Marco Mariani <m.mariani@imola.nettuno.it>
Subject: [egenix-users] beebase
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://www.egenix.com/mailman-archives/egenix-users/>

Are there any examples using mx-beebase?

I can hardly use it, what does "record address must be an integer" means?

Looking at the docs, I should be able to say

d = BeeDict('test')

d['something'] = 'hulabaloo'
d.commit()


but it ain't so.


Thanks


From mal@lemburg.com Fri Jan 18 20:15:35 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0IJFZs19517;
	Fri, 18 Jan 2002 20:15:35 +0100
Message-ID: <3C487534.8975759F@lemburg.com>
Date: Fri, 18 Jan 2002 20:19:16 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Marco Mariani <m.mariani@imola.nettuno.it>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] beebase
References: <20020118181702.GA11811@zoidberg>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://www.egenix.com/mailman-archives/egenix-users/>

Marco Mariani wrote:
> 
> Are there any examples using mx-beebase?

No, but the sources are well documented.
 
> I can hardly use it, what does "record address must be an integer" means?

That hints to a problem with mxBeeBase when compiling Python
with large file support: file.tell() will return a long rather
than an integer and the mxBeeBase wrapper doesn't like this.
 
> Looking at the docs, I should be able to say
> 
> d = BeeDict('test')
> 
> d['something'] = 'hulabaloo'
> d.commit()
> 
> but it ain't so.
> 
> Thanks

BTW, how did you find this list ? I haven't even announced it yet ;-)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Tue Jan 29 19:58:16 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0TIwFs23245;
	Tue, 29 Jan 2002 19:58:15 +0100
Message-ID: <3C56F1B8.AEEC5048@lemburg.com>
Date: Tue, 29 Jan 2002 20:02:16 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Mail problems
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Welcome to the list !

Someone just mentioned to me that the MX record in DNS for 
lists.egenix.com was missing. I have fixed that now, but due
to the delay in DNS it may take a while until the change
propogates. 

This means that you are likely not going to be able to send mail 
to this list today.

Sorry about that,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri Feb  1 12:11:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g11BBZs17711;
	Fri, 1 Feb 2002 12:11:35 +0100
Message-ID: <3C5A78E5.4AF297C6@lemburg.com>
Date: Fri, 01 Feb 2002 12:15:49 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Upcoming 2.1.0 release of eGenix.com mx BASE
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi everybody,

there will be a new release of the mx BASE distribution this
month and I was wondering whether you'd like to test drive
the current alpha of that version.

Here's a short overview of what has changed:

* mxTextTools does now fully support Unicode (this is a sponsored
  feature addition)

* mxBeeBase is starting to feel at home on non-Unix platforms
  as well, esp. Windows where it didn't work before in locking
  mode. mxBeeBase offers you many possibilities, BTW, e.g. on-disk
  dictionaries and fast lookups.

+ The usual bunch of small tweaks and changes.

Before the final version I also plan to add mxURL from the
experimental distribution to mx base.

Here's the current pre-release as distutils source package:

  http://www.egenix.com/files/python/egenix-mx-base-2.1.0.zip

Please give it a go and let me know what you think. I'll
update the above file every now and then (in place), but
will post updates to this list.

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Thu Feb  7 14:56:24 2002
Received: from fe030.worldonline.dk (fe030.worldonline.dk [212.54.64.197])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g17DuOs09182
	for <egenix-users@lists.egenix.com>; Thu, 7 Feb 2002 14:56:24 +0100
Received: (qmail 31846 invoked by uid 0); 7 Feb 2002 13:56:24 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe030.worldonline.dk with SMTP; 7 Feb 2002 13:56:24 -0000
Message-ID: <3C628795.2080602@mxm.dk>
Date: Thu, 07 Feb 2002 13:56:37 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] problem with mx.ODBC MS SQL-server and datetime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am trying out mx.ODBC on MS sql server, and so far it goes along nicely.

But I am having trouble with inserting dates ie. from mx.DateTime
The error message is:
('01004', 0, '[Microsoft][ODBC SQL Server Driver]Fractional truncation',
4479)

The only thing i could find on the net was (one line only):

http://groups.google.com/groups?hl=da&frame=right&th=841f8af29973b8ba&seekm=mailman.989913322.21800.python-list%40python.org#link2

Where somebody has the same problem:

"Marc-Andre answer:
Looks like MS SQL Server's ODBC driver is being too careful again.
What you are seeing there is a SQL warning which mxODBC translates
into an exception."

the advice is "recompiling the package with -DDONT_REPORT_WARNINGS"

I would find it a lot easier to just catch the exception. But I cannot 
see from the traceback which exception to catch.  So I have made a quick 
hack:

        try: # it bitches about dates
            c.execute(qs, localValues)
        except:
            pass

That's about as dirty as it gets. So I wondered what the better way to 
do it is? As far as i can tell it just raises a general exception. Not 
one that I can catch explicitly.

Do I really have to re-compile? And if so what is needed?

regards Max M


From mal@lemburg.com Thu Feb  7 17:34:25 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g17GYOs10183;
	Thu, 7 Feb 2002 17:34:25 +0100
Message-ID: <3C62ACA4.37A66B03@lemburg.com>
Date: Thu, 07 Feb 2002 17:34:44 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] problem with mx.ODBC MS SQL-server and datetime
References: <3C628795.2080602@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Max M wrote:
> 
> I am trying out mx.ODBC on MS sql server, and so far it goes along nicely.
> 
> But I am having trouble with inserting dates ie. from mx.DateTime
> The error message is:
> ('01004', 0, '[Microsoft][ODBC SQL Server Driver]Fractional truncation',
> 4479)
> 
> The only thing i could find on the net was (one line only):
> 
> http://groups.google.com/groups?hl=da&frame=right&th=841f8af29973b8ba&seekm=mailman.989913322.21800.python-list%40python.org#link2
> 
> Where somebody has the same problem:
> 
> "Marc-Andre answer:
> Looks like MS SQL Server's ODBC driver is being too careful again.
> What you are seeing there is a SQL warning which mxODBC translates
> into an exception."
> 
> the advice is "recompiling the package with -DDONT_REPORT_WARNINGS"
> 
> I would find it a lot easier to just catch the exception. But I cannot
> see from the traceback which exception to catch. 

You'll have to catch the mx.ODBC.Windows.Warning exception and
then look at the first item of the reason tuple to tell which
warning was issued.

Then to fix the problem, I'd suggest to convert the DateTime
object to a datetime string value with only two digit fractions. 
str(datetime) does this for you.

> So I have made a quick
> hack:
> 
>         try: # it bitches about dates
>             c.execute(qs, localValues)
>         except:
>             pass
> 
> That's about as dirty as it gets. So I wondered what the better way to
> do it is? As far as i can tell it just raises a general exception. Not
> one that I can catch explicitly.
> 
> Do I really have to re-compile? And if so what is needed?

You'll need MS VC++ installed, the Python installation and the
mxODBC sources. Then 

python setup.py build build_ext -DDONT_REPORT_WARNINGS install

will do the trick and install the new versions on top of what you
probably already have installed.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Thu Feb 21 18:14:36 2002
Received: from fe040.worldonline.dk (fe040.worldonline.dk [212.54.64.205])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g1LHEas15328
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:14:36 +0100
Received: (qmail 30739 invoked by uid 0); 21 Feb 2002 17:14:35 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe040.worldonline.dk with SMTP; 21 Feb 2002 17:14:35 -0000
Message-ID: <3C752B18.3070709@mxm.dk>
Date: Thu, 21 Feb 2002 17:15:04 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] comparing DateTime types
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi

This works as I expect:
type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
 >>> 1

But this doesn't:
type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
 >>> 0

Do I have to compare instances? I would have thought that comparing with 
the "DateTimeType" directly would suffice.

regards Max M


From Jim.Vickroy@noaa.gov Thu Feb 21 18:26:05 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LHQ4s15449
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:26:04 +0100
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GRW8FF00.344; Thu, 21 Feb 2002 10:26:03 -0700 
Message-ID: <3C752DAB.3605C79A@noaa.gov>
Date: Thu, 21 Feb 2002 10:26:03 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] comparing DateTime types
References: <3C752B18.3070709@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello Max,
 I'm using Python 2.2 and here is the behavior:

>>> import mx.DateTime
>>> type(mx.DateTime.now())
<type 'DateTime'>
>>> type(mx.DateTime.DateTimeType)
<type 'type'>
>>> mx.DateTime.DateTimeType
<type 'DateTime'>
>>> type(mx.DateTime.now()) == mx.DateTime.DateTimeType
1
>>>

Note that the type of DateTimeType is 'type' which is as expected -- the
type of a type is 'type'.

Max M wrote:

> Hi
>
> This works as I expect:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
>  >>> 1
>
> But this doesn't:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
>  >>> 0
>
> Do I have to compare instances? I would have thought that comparing with
> the "DateTimeType" directly would suffice.
>
> regards Max M
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From maxm@mxm.dk Thu Feb 21 18:29:17 2002
Received: from fe170.worldonline.dk (fe170.worldonline.dk [212.54.64.199])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g1LHTHs15475
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:29:17 +0100
Received: (qmail 31476 invoked by uid 0); 21 Feb 2002 17:29:13 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe170.worldonline.dk with SMTP; 21 Feb 2002 17:29:13 -0000
Message-ID: <3C752E89.4030709@mxm.dk>
Date: Thu, 21 Feb 2002 17:29:45 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] comparing DateTime types
References: <3C752B18.3070709@mxm.dk> <3C752DAB.3605C79A@noaa.gov>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:

>Note that the type of DateTimeType is 'type' which is as expected -- the
>type of a type is 'type'.
>
Doh!

I guess gotta read up on "Gödel, Escher, Bach" one more time. Especially 
the sections about meta levels!

regards Max m


From jh@web.de Thu Feb 21 19:36:29 2002
Received: from smtp.web.de (smtp02.web.de [217.72.192.151])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LIaTs15986
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 19:36:29 +0100
Received: from [80.131.145.48] (helo=owlglass)
	by smtp.web.de with smtp (WEB.DE(Exim) 4.28 #21)
	id 16dy4d-00042x-00; Thu, 21 Feb 2002 19:36:07 +0100
From: "Juergen Hermann" <jh@web.de>
To: "Jim Vickroy" <Jim.Vickroy@noaa.gov>, "Max M" <maxm@mxm.dk>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
Date: Thu, 21 Feb 2002 19:36:20 +0100
Reply-To: "Juergen Hermann" <jh@web.de>
Priority: Normal
X-Mailer: PMMail 2000 Standard (2.10.2010) For Windows NT (4.0.1381;6)
In-Reply-To: <3C752E89.4030709@mxm.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Subject: Re: [egenix-users] comparing DateTime types
Message-Id: <E16dy4d-00042x-00@smtp.web.de>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g1LIaTs15986
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Thu, 21 Feb 2002 17:29:45 +0000, Max M wrote:

>I guess gotta read up on "Gödel, Escher, Bach" one more time. Especially 
>the sections about meta levels!

That apart, type checks should be done with isinstance()!


Ciao, Jürgen



From sholden@holdenweb.com Thu Feb 21 22:17:41 2002
Received: from mail2.registeredsite.com (mail2.registeredsite.com [64.224.9.11])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LLHes17092
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 22:17:40 +0100
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail2.registeredsite.com (8.11.6/8.11.4) with ESMTP id g1LKNCV23620;
	Thu, 21 Feb 2002 15:23:12 -0500
Received: from thinker [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A3F03BCA0072; Thu, 21 Feb 2002 16:17:36 -0500
Message-ID: <00f801c1bb1d$21c09740$d200000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Max M" <maxm@mxm.dk>, "egenix-users" <egenix-users@lists.egenix.com>
References: <3C752B18.3070709@mxm.dk>
Subject: Re: [egenix-users] comparing DateTime types
Date: Thu, 21 Feb 2002 16:17:11 -0500
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

----- Original Message -----
From: "Max M" <maxm@mxm.dk>
To: "egenix-users" <egenix-users@lists.egenix.com>
Sent: Thursday, February 21, 2002 12:15 PM
Subject: [egenix-users] comparing DateTime types


> Hi
>
> This works as I expect:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
>  >>> 1
>
> But this doesn't:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
>  >>> 0
>
> Do I have to compare instances? I would have thought that comparing
with
> the "DateTimeType" directly would suffice.
>
>>> import mx.DateTime as dt
>>> dt.DateTimeType
<type 'DateTime'>
>>> type(dt.now())
<type 'DateTime'>

The magic you were looking for is probably

    type(mx.DateTime.now()) == mx.DateTime.DateTimeType

The problem here is that type(mx.DateTime.DateTimeType) is a type, whose
type should therefore be typeType.

>>> type(dt.DateTimeType)
<type 'type'>

Hope this helps.

regards
 Steve
--
Consulting, training, speaking: http://www.holdenweb.com/
Author, Python Web Programming: http://pydish.holdenweb.com/pwp/

"This is Python.  We don't care much about theory, except where it
intersects with useful practice."  Aahz Maruch on c.l.py




From egrubbs@rackspace.com Sat Mar 30 03:24:56 2002
Received: from anubis.cymitar.com (64-39-1-26.dhcp.hq.rackspace.com [64.39.1.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g2U2Ots30072
	for <egenix-users@lists.egenix.com>; Sat, 30 Mar 2002 03:24:55 +0100
Received: by anubis.cymitar.com (Postfix, from userid 501)
	id 562402F77; Fri, 29 Mar 2002 20:24:23 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
	by anubis.cymitar.com (Postfix) with ESMTP id 52F522F76
	for <egenix-users@lists.egenix.com>; Fri, 29 Mar 2002 20:24:23 -0600 (CST)
Date: Fri, 29 Mar 2002 20:24:23 -0600 (CST)
From: Edwin Grubbs <egrubbs@rackspace.com>
X-X-Sender: egrubbs@zamboni.wc6.rackspace.com
To: egenix-users@lists.egenix.com
Message-ID: <Pine.LNX.4.44.0203292011420.24893-100000@zamboni.wc6.rackspace.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] DateTime error rounding seconds
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am having a problem with DateTime incorrectly rounding the floating 
point second value down 1/100 of second.

Python 2.2 (#1, Mar 13 2002, 12:34:11) 
[GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import *
>>> DateTime(2002, 1, 2, 3, 4, 5.00)
<DateTime object for '2002-01-02 03:04:05.00' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.01)
<DateTime object for '2002-01-02 03:04:05.00' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.02)
<DateTime object for '2002-01-02 03:04:05.01' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.03)
<DateTime object for '2002-01-02 03:04:05.03' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.04)
<DateTime object for '2002-01-02 03:04:05.04' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.05)
<DateTime object for '2002-01-02 03:04:05.04' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.06)
<DateTime object for '2002-01-02 03:04:05.05' at 8126658>


-Edwin Grubbs


From mal@lemburg.com Tue Apr  2 19:31:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g32HVas31561;
	Tue, 2 Apr 2002 19:31:36 +0200
Message-ID: <3CA9EAF8.A528E748@lemburg.com>
Date: Tue, 02 Apr 2002 19:31:36 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0203292011420.24893-100000@zamboni.wc6.rackspace.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Edwin Grubbs wrote:
> 
> I am having a problem with DateTime incorrectly rounding the floating
> point second value down 1/100 of second.
> 
> Python 2.2 (#1, Mar 13 2002, 12:34:11)
> [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from mx.DateTime import *
> >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> <DateTime object for '2002-01-02 03:04:05.05' at 8126658>

That's because 5.05 is really 5.0499999999999998. mxDateTime's
repr() function truncates the seconds value to avoid accidental
cases of a 60 reading when you really only have 59.6 seconds.

Use now().second to access the true seconds value with
full accuracy.

HTH, 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From egrubbs@rackspace.com Tue Apr  2 22:27:02 2002
Received: from anubis.cymitar.com (64-39-1-26.dhcp.hq.rackspace.com [64.39.1.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g32KR2s32718
	for <egenix-users@lists.egenix.com>; Tue, 2 Apr 2002 22:27:02 +0200
Received: by anubis.cymitar.com (Postfix, from userid 501)
	id 744CA2F7B; Tue,  2 Apr 2002 14:26:16 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
	by anubis.cymitar.com (Postfix) with ESMTP id 715642F7A
	for <egenix-users@lists.egenix.com>; Tue,  2 Apr 2002 14:26:16 -0600 (CST)
Date: Tue, 2 Apr 2002 14:26:16 -0600 (CST)
From: Edwin Grubbs <egrubbs@rackspace.com>
X-X-Sender: egrubbs@zamboni.wc6.rackspace.com
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
In-Reply-To: <3CA9EAF8.A528E748@lemburg.com>
Message-ID: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Tue, 2 Apr 2002, M.-A. Lemburg wrote:

> Edwin Grubbs wrote:
> > 
> > I am having a problem with DateTime incorrectly rounding the floating
> > point second value down 1/100 of second.
> > 
> > Python 2.2 (#1, Mar 13 2002, 12:34:11)
> > [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> from mx.DateTime import *
> > >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> > <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> > <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> > <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> > <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> > <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> > <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> > <DateTime object for '2002-01-02 03:04:05.05' at 8126658>
> 
> That's because 5.05 is really 5.0499999999999998. mxDateTime's
> repr() function truncates the seconds value to avoid accidental
> cases of a 60 reading when you really only have 59.6 seconds.
> 
> Use now().second to access the true seconds value with
> full accuracy.
> 
> HTH, 
> 

The real problem with it, is that str() returns the truncated date just
like repr(), and we are using str() to insert datetime fields. If you
create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
database using its str() value, it is stored as 03:04:05.01. Then when you
retrieve 03:04:05.01 from the database, the DateTime object shows it as
03:04:05.00. Then you cannot match the row that you just retrieved with 
its datetime column. How is the DateTime object supposed to be inserted 
and retrieved from the database?

I understand that a float cannot represent most decimal values exactly,
but truncating just increases the inaccuracy even though it might seem
more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".

-Edwin









From sholden@holdenweb.com Wed Apr  3 14:28:27 2002
Received: from mail3.registeredsite.com (mail3.registeredsite.com [64.224.9.12])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g33CSQs07371
	for <egenix-users@lists.egenix.com>; Wed, 3 Apr 2002 14:28:27 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail3.registeredsite.com (8.11.6/8.11.4) with ESMTP id g33BXgx27819;
	Wed, 3 Apr 2002 06:33:43 -0500
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A568188100FC; Wed, 03 Apr 2002 07:28:24 -0500
Message-ID: <025701c1db0a$a94dab00$d200000a@COMPUTER>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Edwin Grubbs" <egrubbs@rackspace.com>, <egenix-users@lists.egenix.com>
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
Subject: Re: [egenix-users] DateTime error rounding seconds
Date: Wed, 3 Apr 2002 07:25:36 -0500
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

----- Original Message -----
From: "Edwin Grubbs" <egrubbs@rackspace.com>
To: <egenix-users@lists.egenix.com>
Sent: Tuesday, April 02, 2002 3:26 PM
Subject: Re: [egenix-users] DateTime error rounding seconds


> On Tue, 2 Apr 2002, M.-A. Lemburg wrote:
>
> > Edwin Grubbs wrote:
> > >
> > > I am having a problem with DateTime incorrectly rounding the floating
> > > point second value down 1/100 of second.
> > >
> > > Python 2.2 (#1, Mar 13 2002, 12:34:11)
> > > [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> > > Type "help", "copyright", "credits" or "license" for more information.
> > > >>> from mx.DateTime import *
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> > > <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> > > <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> > > <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> > > <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> > > <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> > > <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> > > <DateTime object for '2002-01-02 03:04:05.05' at 8126658>
> >
> > That's because 5.05 is really 5.0499999999999998. mxDateTime's
> > repr() function truncates the seconds value to avoid accidental
> > cases of a 60 reading when you really only have 59.6 seconds.
> >
> > Use now().second to access the true seconds value with
> > full accuracy.
> >
> > HTH,
> >
>
> The real problem with it, is that str() returns the truncated date just
> like repr(), and we are using str() to insert datetime fields. If you
> create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> database using its str() value, it is stored as 03:04:05.01. Then when you
> retrieve 03:04:05.01 from the database, the DateTime object shows it as
> 03:04:05.00. Then you cannot match the row that you just retrieved with
> its datetime column. How is the DateTime object supposed to be inserted
> and retrieved from the database?
>
Isn't the *real* real problem (;-) i that you are using character fields to
store date values? Normally one is supposed to use a timestamp or datetime
field to store these values (if you store them as strings then equality is
the only sensible test you can make. As datetime values you can also use <,
>, BETWEEN, etc.). However, even this solution sometimes has pitfalls -
stroing datetimes in either Access of SQL Server (I think the latter, but
it's a long time ago) raies warnings abour field truncation, which you have
to cure by removing any fractional seconds before storage.

> I understand that a float cannot represent most decimal values exactly,
> but truncating just increases the inaccuracy even though it might seem
> more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".
>
Just as one asks for trouble by treating floats as exact, it's problematic
to store date/time values as strings. If you DBMS has no date/time type,
consider converting the dates to an appropriate numeric format.

regards
 Steve



From mal@lemburg.com Wed Apr  3 15:18:41 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g33DIfs07788;
	Wed, 3 Apr 2002 15:18:41 +0200
Message-ID: <3CAB0173.589E3584@lemburg.com>
Date: Wed, 03 Apr 2002 15:19:47 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Edwin Grubbs wrote:
> 
> On Tue, 2 Apr 2002, M.-A. Lemburg wrote:
> 
> > Edwin Grubbs wrote:
> > >
> > > I am having a problem with DateTime incorrectly rounding the floating
> > > point second value down 1/100 of second.
> > That's because 5.05 is really 5.0499999999999998. mxDateTime's
> > repr() function truncates the seconds value to avoid accidental
> > cases of a 60 reading when you really only have 59.6 seconds.
> >
> > Use now().second to access the true seconds value with
> > full accuracy.
> 
> The real problem with it, is that str() returns the truncated date just
> like repr(), and we are using str() to insert datetime fields. If you
> create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> database using its str() value, it is stored as 03:04:05.01. Then when you
> retrieve 03:04:05.01 from the database, the DateTime object shows it as
> 03:04:05.00. Then you cannot match the row that you just retrieved with
> its datetime column. How is the DateTime object supposed to be inserted
> and retrieved from the database?

The database interface should use the C API for this. It preserves
the accuracy all the way. If that's not an option, I'd consider using
the tuple representation now().tuple() which mimics 
time.localtime(time.time()) (but with added seconds accuracy).
 
> I understand that a float cannot represent most decimal values exactly,
> but truncating just increases the inaccuracy even though it might seem
> more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".

Hmm, one possibility would be to use rounding for all second
values < 59.995 and apply truncation to all others.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From holtwick@spirito.de Thu Apr  4 09:07:48 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g3477ms16205
	for <egenix-users@lists.egenix.com>; Thu, 4 Apr 2002 09:07:48 +0200
Received: (qmail 19038 invoked from network); 4 Apr 2002 07:13:21 -0000
Received: from acb04099.ipt.aol.com (HELO spirito.de) (holtwick@172.176.64.153)
  by main.spirito.de with SMTP; 4 Apr 2002 07:13:21 -0000
Message-ID: <3CABFBC3.5040405@spirito.de>
Date: Thu, 04 Apr 2002 09:07:47 +0200
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:0.9.9) Gecko/20020311
X-Accept-Language: de, en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] New releases?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi Marc-Andre,

when do you plan to release the new versions of mxExperimental and 
mxBase? Maybe testing of the newer versions could become easier with a 
"beta testing" are on your website? I didn't find any bigger problems in 
the new version.

Cheers, Dirk




From mal@lemburg.com Thu Apr  4 12:52:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Aqls17692;
	Thu, 4 Apr 2002 12:52:47 +0200
Message-ID: <3CAC30C7.3C581021@lemburg.com>
Date: Thu, 04 Apr 2002 12:53:59 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] New releases?
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> 
> Hi Marc-Andre,
> 
> when do you plan to release the new versions of mxExperimental and
> mxBase? Maybe testing of the newer versions could become easier with a
> "beta testing" are on your website? I didn't find any bigger problems in
> the new version.

I was too busy the last few weeks to work on this, but since you
ask, I'll upload the latest betas today and let you know.

FWIW, I'm especially interested in hearing about the changes
to mxBeeBase -- it should work on Windows and Unix now and it
supports large files (up to 4GB) on Unix machines which have 
this.

If all works out, mxBeeBase would make a great alternative
to the various DBM packages out there since it is 
self-contained and aims to be platform independent (both
API and data file wise).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Thu Apr  4 16:37:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Eb4s19153;
	Thu, 4 Apr 2002 16:37:04 +0200
Message-ID: <3CAC6558.6CF10ABB@lemburg.com>
Date: Thu, 04 Apr 2002 16:38:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] New releases?
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok, I won't find time for the betas today. To not let you
wait, here's something else:

I updated mxCGIPython to now play nice with importing
shared modules. This means that you can start using your
favourite DateTime package with cgipython in CGI scripts !

Here's the new mxCGIPython version:

   http://www.egenix.com/files/python/mxCGIPython.html

I've tested it with Python 2.1, but 2.2 should also work.

Have fun,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Thu Apr  4 19:44:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Hi4s20641;
	Thu, 4 Apr 2002 19:44:04 +0200
Message-ID: <3CAC9127.60C3B1C8@lemburg.com>
Date: Thu, 04 Apr 2002 19:45:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

"M.-A. Lemburg" wrote:
> 
> > The real problem with it, is that str() returns the truncated date just
> > like repr(), and we are using str() to insert datetime fields. If you
> > create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> > database using its str() value, it is stored as 03:04:05.01. Then when you
> > retrieve 03:04:05.01 from the database, the DateTime object shows it as
> > 03:04:05.00. Then you cannot match the row that you just retrieved with
> > its datetime column. How is the DateTime object supposed to be inserted
> > and retrieved from the database?
> 
> The database interface should use the C API for this. It preserves
> the accuracy all the way. If that's not an option, I'd consider using
> the tuple representation now().tuple() which mimics
> time.localtime(time.time()) (but with added seconds accuracy).
> 
> > I understand that a float cannot represent most decimal values exactly,
> > but truncating just increases the inaccuracy even though it might seem
> > more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> > 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".
> 
> Hmm, one possibility would be to use rounding for all second
> values < 59.995 and apply truncation to all others.

Ok, I've change this now to have str(DateTime(...)) round seconds
to two decimal places with the exception of second values
>=59.995 and <60.00. The latter are all mapped to 59.99. 

This may sound like a strange method, but in practice should 
enhance accuracy when interfacing with other storage mechanisms 
using string representations.

If anyone needs the old behaviour, I'll add a compile time
#define to switch back to the old behaviour.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From pramasub@bigmachines.com Fri Apr  5 05:11:36 2002
Received: from smtps.bigmachines.com (ppp-63-201-248-231.bigmachines.com [63.201.248.231] (may be forged))
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g353BZs25335
	for <egenix-users@lists.egenix.com>; Fri, 5 Apr 2002 05:11:35 +0200
Received: FROM bmfmail.bigmachines BY smtps.bigmachines.com ; Thu Apr 04 19:11:45 2002 -0800
Received: from bmfc159 ([10.1.1.1]) by bmfmail.bigmachines
          (Post.Office MTA v3.5.3 release 223 ID# 0-65145U1000L100S0V35)
          with SMTP id bigmachines for <egenix-users@lists.egenix.com>;
          Thu, 4 Apr 2002 19:11:24 -0800
Message-ID: <000a01c1dc50$226b8250$320210ac@bigmachines.com>
From: pramasub@bigmachines.com (Prathibha Ram)
To: <egenix-users@lists.egenix.com>
Date: Thu, 4 Apr 2002 19:15:27 -0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0007_01C1DC0D.14268980"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Subject: [egenix-users] question
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C1DC0D.14268980
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi all

Since I have started using the new exgenix mx Base package, I keep =
getting compilation errors in import. I was using the previous version =
of the mx package and my import statement in files used to be import =
mx.DateTime. What should this be changed to since this is no longer =
recognized and I keep getting the compile error.

Also now I get the following error
Traceback (innermost last):
  File "<string>", line 8, in ?
  File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
  File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in =
modinit
  File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
TypeError: copy_reg is not intended for use with classes

can anyone suggest anything about the above error?=20

Thanks very much for your input and time.=20
Prathibbha

I use jython in conjunction with java on an NT machine.

------=_NextPart_000_0007_01C1DC0D.14268980
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi all</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Since I have started using the new =
exgenix mx Base=20
package, I keep getting compilation errors in import. I was using the =
previous=20
version of the mx package and my import statement in files used to be =
import=20
mx.DateTime. What should this be changed to since&nbsp;this is no longer =

recognized and I keep getting the compile error.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Also now I get the following =
error</FONT></DIV>
<DIV>Traceback (innermost last):<BR>&nbsp; File "&lt;string&gt;", line =
8, in=20
?<BR>&nbsp; File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line =
40, in=20
?<BR>&nbsp; File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line =
48, in=20
modinit<BR>&nbsp; File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in=20
pickle<BR>TypeError: copy_reg is not intended for use with classes</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>can anyone suggest anything about the =
above error?=20
</FONT></DIV><FONT face=3DArial size=3D2>
<DIV><BR>Thanks very much for your input and time. </DIV>
<DIV>Prathibbha</DIV>
<DIV>&nbsp;</DIV>
<DIV>I use jython in conjunction with java on an NT=20
machine.</FONT></DIV></BODY></HTML>

------=_NextPart_000_0007_01C1DC0D.14268980--


From mal@lemburg.com Fri Apr  5 10:07:18 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3587Is27115;
	Fri, 5 Apr 2002 10:07:18 +0200
Message-ID: <3CAD5B82.B6267E0C@lemburg.com>
Date: Fri, 05 Apr 2002 10:08:34 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Prathibha Ram <pramasub@bigmachines.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] question
References: <000a01c1dc50$226b8250$320210ac@bigmachines.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

> Prathibha Ram wrote:
> 
> Hi all
> 
> Since I have started using the new exgenix mx Base package, I keep
> getting compilation errors in import. I was using the previous version
> of the mx package and my import statement in files used to be import
> mx.DateTime. What should this be changed to since this is no longer
> recognized and I keep getting the compile error.
> 
> Also now I get the following error
> Traceback (innermost last):
>   File "<string>", line 8, in ?
>   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
>   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in
> modinit
>   File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
> TypeError: copy_reg is not intended for use with classes
> 
> can anyone suggest anything about the above error?

The eGenix mx Tools only support CPython, not Jython. You
probably can still use them with Jython if you hook JPE up
to the Java VM, though, or interface to them via JNI 
directly.
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

PS: Please don't post HTML messages to the list. Thanks.

From mal@lemburg.com Fri Apr  5 22:20:15 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35KKFs32080;
	Fri, 5 Apr 2002 22:20:15 +0200
Message-ID: <3CAE0749.77E43CE7@lemburg.com>
Date: Fri, 05 Apr 2002 22:21:29 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Prathibha Ram <pramasub@bigmachines.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] question
References: <000a01c1dc50$226b8250$320210ac@bigmachines.com> <3CAD5B82.B6267E0C@lemburg.com> <001101c1dcd9$345f0160$320210ac@bigmachines.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Prathibha Ram wrote:
> 
> Hi Mark:
> I was already using the mx extension version(prior to 2.0.3) with jython1.5
> and it was fine. All I did was import the mx.DateTime package in my code.
> Even now, the old version of the mx Extension package works fine with jython
> 2.1 except that it gives the copy_reg error first time I invoke jython. 

You could probably use the Python code in the mxDateTime package,
but you wouldn't have access to the two types defined in the
C extension.

Now, someone wrote a Python emulation for those two which now
lives in mxDateTime/mxDateTime_Python.py but that file is not
being actively maintained. 

> Do
> you think if I go in for commercial support you would be able to configure
> your mx Extension for jython2.1? 

Probably not all of them since some use third party C libs
which are hard to rewrite in Python or Java.

For mxDateTime, Brian Zimmer is working on an Java version.

With funding, I could also bring the Python emulation of the 
mxDateTime extension back up-to-date and reenable it (see
mxDateTime/__init__.py if you want to give it try with the
old emulation).

> The reason I am asking is that otherwise, I
> will have to shelve all the extension packages that I have been using till
> now. I might have to start using the time module in jython and write some py
> files of my own for date manipulations.

We'll figure out a way to let you continue your usage of mxDateTime
in Jython :-)
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri Apr  5 22:21:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35KLls32110;
	Fri, 5 Apr 2002 22:21:47 +0200
Message-ID: <3CAE07A5.2322636E@lemburg.com>
Date: Fri, 05 Apr 2002 22:23:01 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] question
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi Mark:
I was already using the mx extension version(prior to 2.0.3) with
jython1.5
and it was fine. All I did was import the mx.DateTime package in my
code.
Even now, the old version of the mx Extension package works fine with
jython
2.1 except that it gives the copy_reg error first time I invoke jython.
Do
you think if I go in for commercial support you would be able to
configure
your mx Extension for jython2.1? The reason I am asking is that
otherwise, I
will have to shelve all the extension packages that I have been using
till
now. I might have to start using the time module in jython and write
some py
files of my own for date manipulations.

I will appreciate your reply.

Thank you for your input and time.
Prathibbha.


----- Original Message -----
From: "M.-A. Lemburg" <mal@lemburg.com>
To: "Prathibha Ram" <pramasub@bigmachines.com>
Cc: <egenix-users@lists.egenix.com>
Sent: Friday, April 05, 2002 12:08 AM
Subject: Re: [egenix-users] question


> > Prathibha Ram wrote:
> >
> > Hi all
> >
> > Since I have started using the new exgenix mx Base package, I keep
> > getting compilation errors in import. I was using the previous version
> > of the mx package and my import statement in files used to be import
> > mx.DateTime. What should this be changed to since this is no longer
> > recognized and I keep getting the compile error.
> >
> > Also now I get the following error
> > Traceback (innermost last):
> >   File "<string>", line 8, in ?
> >   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
> >   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in
> > modinit
> >   File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
> > TypeError: copy_reg is not intended for use with classes
> >
> > can anyone suggest anything about the above error?
>
> The eGenix mx Tools only support CPython, not Jython. You
> probably can still use them with Jython if you hook JPE up
> to the Java VM, though, or interface to them via JNI
> directly.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> PS: Please don't post HTML messages to the list. Thanks.
>

From mal@lemburg.com Fri Apr  5 23:51:46 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35Lpks00336;
	Fri, 5 Apr 2002 23:51:46 +0200
Message-ID: <3CAE1CBC.B597D946@lemburg.com>
Date: Fri, 05 Apr 2002 23:53:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 0.7.0 (beta1)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok, I've finally found the time to wrap up the first betas
for the two packages. Here they are (sorry, no time to sort
these links):

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm

and 

http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe

Please have a look at the various documentation files for
a list of changes. Most important are probably the enhanced
mxBeeBase (BASE), the updated mxUID (EXP), better compile 
support for mxNumber (EXP) and the usual bunch of small 
bug fixes.

Have fun,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From Jim.Vickroy@noaa.gov Sat Apr  6 00:05:43 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35M5hs00888
	for <egenix-users@lists.egenix.com>; Sat, 6 Apr 2002 00:05:43 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GU481H00.LF0; Fri, 5 Apr 2002 15:05:41 -0700 
Message-ID: <3CAE1FB6.35B3EE2C@noaa.gov>
Date: Fri, 05 Apr 2002 15:05:43 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Marc, I'm having an access difficulty.  When I click on a Windows link, here is the
message:

The requested URL /files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe was not found
on this server.


"M.-A. Lemburg" wrote:

> Ok, I've finally found the time to wrap up the first betas
> for the two packages. Here they are (sorry, no time to sort
> these links):
>
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm
>
> and
>
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe
>
> Please have a look at the various documentation files for
> a list of changes. Most important are probably the enhanced
> mxBeeBase (BASE), the updated mxUID (EXP), better compile
> support for mxNumber (EXP) and the usual bunch of small
> bug fixes.
>
> Have fun,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From Jim.Vickroy@noaa.gov Sat Apr  6 00:12:16 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35MCFs00980
	for <egenix-users@lists.egenix.com>; Sat, 6 Apr 2002 00:12:15 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GU48CE00.TDX; Fri, 5 Apr 2002 15:12:14 -0700 
Message-ID: <3CAE2140.799E1412@noaa.gov>
Date: Fri, 05 Apr 2002 15:12:16 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

OK, I waited for a few minutes and now I can access the links.  Sorry about that, I
guess I just tried too soon the first time.

"M.-A. Lemburg" wrote:

> Ok, I've finally found the time to wrap up the first betas
> for the two packages. Here they are (sorry, no time to sort
> these links):
>
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm
>
> and
>
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe
>
> Please have a look at the various documentation files for
> a list of changes. Most important are probably the enhanced
> mxBeeBase (BASE), the updated mxUID (EXP), better compile
> support for mxNumber (EXP) and the usual bunch of small
> bug fixes.
>
> Have fun,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Sat Apr  6 00:43:35 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35MhYs01499;
	Sat, 6 Apr 2002 00:43:34 +0200
Message-ID: <3CAE28E0.3AE4F5A4@lemburg.com>
Date: Sat, 06 Apr 2002 00:44:48 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com> <3CAE2140.799E1412@noaa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:
> 
> OK, I waited for a few minutes and now I can access the links.  Sorry about that, I
> guess I just tried too soon the first time.

The upload took a little longer than expected ;-)
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From John.N.1@bwc.state.oh.us Mon Apr 15 18:19:51 2002
Received: from jupiter.bwc.state.oh.us (neptune.BWC.state.OH.US [198.234.212.100])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3FGJps31586
	for <egenix-users@lists.egenix.com>; Mon, 15 Apr 2002 18:19:51 +0200
Received: by jupiter.bwc.state.oh.us; id MAA17272; Mon, 15 Apr 2002 12:19:31 -0400 (EDT)
From: <John.N.1@bwc.state.oh.us>
Received: from unknown(165.223.131.35) by neptune.bwc.state.oh.us via smap (V5.0)
	id xmaa17254; Mon, 15 Apr 02 12:19:07 -0400
Received: from mswg6.bwc.state.oh.us (MSWG6.bwc.state.oh.us [165.223.130.24])
	by venus.bwc.state.oh.us (8.9.3/8.9.1) with ESMTP id MAA02953
	for <egenix-users@lists.egenix.com>; Mon, 15 Apr 2002 12:19:00 -0400 (EDT)
Received: by MSWG6 with Internet Mail Service (5.5.2653.19)
	id <H4YRBT8Y>; Mon, 15 Apr 2002 12:19:27 -0400
Message-ID: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
To: egenix-users@lists.egenix.com
Date: Mon, 15 Apr 2002 12:19:20 -0400
X-Mailer: Internet Mail Service (5.5.2653.19)
Subject: [egenix-users] BeeDict setting keys/comparison to shelve
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Does anyone have comments on using Bdict instead of a standard shelf or
bsddb ver3?

Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
first delete the key and then set it's value.
Should that be the case?

When I run:

    d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
    print 'original',d['Marc9']
    d['Marc9']='betty1'
    d.commit()
    print 'dict change\t',d.changed(),d['Marc9']

    del(d['Marc9'])
    d.commit()
    d['Marc9']='betty2'
    print 'del dict change\t',d.changed(),d['Marc9']
    d.close()


produces:

original Sveta
dict change     0 Sveta
del dict change 1 betty2


Thanks for any help,

john


From bzimmer@ziclix.com Tue Apr 16 06:12:20 2002
Received: from eris.host4u.net (eris.host4u.net [216.71.64.44])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3G4CJs04594
	for <egenix-users@lists.egenix.com>; Tue, 16 Apr 2002 06:12:20 +0200
Received: from mountain (24-148-34-1.na.21stcentury.net [24.148.34.1])
	by eris.host4u.net (8.11.6/8.11.6) with ESMTP id g3G4B9502954;
	Mon, 15 Apr 2002 23:11:09 -0500
From: "brian zimmer" <bzimmer@ziclix.com>
To: <egenix-users@lists.egenix.com>
Cc: <mal@lemburg.com>
Date: Mon, 15 Apr 2002 11:10:43 -0500
Message-ID: <001f01c1e498$1b5064e0$7401a8c0@mountain>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Importance: Normal
Subject: [egenix-users] [ANN] zxDateTime 0.1
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am happy to announce the initial release of zxDateTime, a drop-in
replacement for mxDateTime written in Java, has been made available
today.  The next planned version will include optimizations as well 100%
API implementation (a couple methods are missing).  I am particularly
interested in getting feedback on the usefulness of this module as well
as the porting of other CPython extensions written in C.

The initial release can be found at:

http://sourceforge.net/projects/zxpy/

The API for mxDateTime can be found at:

http://www.egenix.com/files/python/mxDateTime.html

Installation directions are included in the distribution.  zxDateTime
has been tested with Jython 2.1(+), mxDateTime 2.0.3 and JDK1.3.1.
Other versions might work but I have not tested them as thoroughly/at
all.

thanks,

brian

ps: I'd like to thank Marc-Andre Lemburg for his assistance in porting
his work.
pss: I'd like to thank the primary Jython developers for making the
extending of Jython with Java so much fun :)


From mal@lemburg.com Tue Apr 16 12:29:49 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3GATns06884;
	Tue, 16 Apr 2002 12:29:49 +0200
Message-ID: <3CBBFD80.F129BB4E@lemburg.com>
Date: Tue, 16 Apr 2002 12:31:28 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: brian zimmer <bzimmer@ziclix.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] [ANN] zxDateTime 0.1
References: <001f01c1e498$1b5064e0$7401a8c0@mountain>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

brian zimmer wrote:
> 
> I am happy to announce the initial release of zxDateTime, a drop-in
> replacement for mxDateTime written in Java, has been made available
> today.

Way cool !

> ps: I'd like to thank Marc-Andre Lemburg for his assistance in porting
> his work.

I'd like to thank you for taking the time to write this port
and for making it available to the general public.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Mon Apr 29 10:55:56 2002
Received: from fe080.worldonline.dk (fe080.worldonline.dk [212.54.64.210])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g3T8tqs01604
	for <egenix-users@lists.egenix.com>; Mon, 29 Apr 2002 10:55:56 +0200
Received: (qmail 6594 invoked by uid 0); 29 Apr 2002 08:55:51 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe080.worldonline.dk with SMTP; 29 Apr 2002 08:55:51 -0000
Message-ID: <3CCD0AC5.1030904@mxm.dk>
Date: Mon, 29 Apr 2002 10:56:37 +0200
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.9) Gecko/20020311
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Error building egenix-mx-experimental-0.6.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am trying to build egenix-mx-experimental-0.6.0, on a Linux machine, 
on which I have only a normal user account. I have copied the .tgz 
source file to a directory and typed:

    /home/zope/Zope-2.5.1-linux2-x86/bin/python setup.py build

And then it stops at:

building 'mx.Number.mxNumber.mxNumber' extension
gcc -g -O2 -Wall -Wstrict-prototypes -fPIC -Imx/Number/mxNumber 
-I/home/zope/Zope-2.5.1-linux2-x86/include/python2.1 -c 
mx/Number/mxNumber/mxNumber.c -o 
build/temp.linux-i586-2.1/mx/Number/mxNumber/mxNumber/mxNumber.o
In file included from mx/Number/mxNumber/mxNumber.c:24:
mx/Number/mxNumber/mxNumber.h:33: gmp.h: No such file or directory
error: command 'gcc' failed with exit status 1

Am I doing it wrong or am I missing a file? I am not too acustomed to 
Linux so please bear with me.

The man page says that it's running gcc-2.95

regards Max M


From mal@lemburg.com Mon Apr 29 11:22:02 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3T9Lrs01817;
	Mon, 29 Apr 2002 11:21:54 +0200
Message-ID: <3CCD1130.D10681DA@lemburg.com>
Date: Mon, 29 Apr 2002 11:24:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Error building egenix-mx-experimental-0.6.0
References: <3CCD0AC5.1030904@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Max M wrote:
> 
> I am trying to build egenix-mx-experimental-0.6.0, on a Linux machine,
> on which I have only a normal user account. I have copied the .tgz
> source file to a directory and typed:
> 
>     /home/zope/Zope-2.5.1-linux2-x86/bin/python setup.py build

Please try the lastest beta I posted here a couple of weeks
ago (see the list archive for the URLs).

The mxNumber build is broken in 0.6.0, but should be fixed
in 0.7.0b1.
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri May 17 13:18:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4HBI9t01158;
	Fri, 17 May 2002 13:18:09 +0200
Message-ID: <3CE4E700.4090802@lemburg.com>
Date: Fri, 17 May 2002 13:18:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta2)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi everybody,

here's a second round of beta releases for the 2.1.0 release
of egenix-mx-base:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.zip

Beta 2 includes a few more updates amd bug fixes which were
found in the beta 1 cycle.

I think I forgot to mention last time that this release features
a brand new version of mxTextTools. It now comes with complete
Unicode support, a tag table compiler, support for string labels
(no more counting of tuple entries ;-) and a few other goodies
which will make future development much easier (most noteably
the addition of a context object).

Please try these out and report any bugs you find to this list.

PS: A new version of mxODBC is also in the making, but not quite
ready for prime-time yet. If you'd like to alpha test it, please
let me know and I'll send you a copy of mxODBC 2.1.0 for testing
purposes.

Thank you,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From mal@lemburg.com Fri May 17 20:05:42 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4HI5ft05289;
	Fri, 17 May 2002 20:05:42 +0200
Message-ID: <3CE54688.8060801@lemburg.com>
Date: Fri, 17 May 2002 20:06:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta2)
References: <3CE4E700.4090802@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Hi everybody,
> 
> here's a second round of beta releases for the 2.1.0 release
> of egenix-mx-base:
> 
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.zip

Here are the Windows installers:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.2.exe

> Beta 2 includes a few more updates amd bug fixes which were
> found in the beta 1 cycle.
> 
> I think I forgot to mention last time that this release features
> a brand new version of mxTextTools. It now comes with complete
> Unicode support, a tag table compiler, support for string labels
> (no more counting of tuple entries ;-) and a few other goodies
> which will make future development much easier (most noteably
> the addition of a context object).
> 
> Please try these out and report any bugs you find to this list.
> 
> PS: A new version of mxODBC is also in the making, but not quite
> ready for prime-time yet. If you'd like to alpha test it, please
> let me know and I'll send you a copy of mxODBC 2.1.0 for testing
> purposes.


Thank you,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From holtwick@spirito.de Fri May 24 11:25:09 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g4O9P9t19403
	for <egenix-users@lists.egenix.com>; Fri, 24 May 2002 11:25:09 +0200
Received: (qmail 28560 invoked from network); 24 May 2002 09:31:17 -0000
Received: from pd9e20798.dip.t-dialin.net (HELO spirito.de) (holtwick@217.226.7.152)
  by main.spirito.de with SMTP; 24 May 2002 09:31:17 -0000
Message-ID: <3CEE0756.3000206@spirito.de>
Date: Fri, 24 May 2002 11:26:46 +0200
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.0rc2) Gecko/20020510
X-Accept-Language: de, en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de> <3CAC30C7.3C581021@lemburg.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: [egenix-users] week of year
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I noticed some strange behaviour with values for "week of year" with mx.DateTime. I use something like this in my program:

	Date(year, month, w).strftime("%W")

e.g.: Date(2002,5,1).strftime("%W") gives 17 as result. In my german calendar it should be 18, so I add 1. But
Date(2001,5,1).strftime("%W") gives 18 and in my calendar its also 18 so adding +1 dosn't work here. what can I do? I use Date(2001,5,1).iso_week[1]
and Date(2002,5,1).iso_week[1] that works. But shouldn't it also work with the method described above?

bye, dirk


---
spirito GmbH
Dirk Holtwick
Lerchenstraße 8
D-47057 Duisburg
Tel. 0203 3187777
holtwick@spirito.de
http://www.spirito.de




From mal@lemburg.com Mon May 27 11:28:23 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4R9SNt13993;
	Mon, 27 May 2002 11:28:23 +0200
Message-ID: <3CF1FC52.1020603@lemburg.com>
Date: Mon, 27 May 2002 11:28:50 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] week of year
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de> <3CAC30C7.3C581021@lemburg.com> <3CEE0756.3000206@spirito.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> Hi,
> 
> I noticed some strange behaviour with values for "week of year" with 
> mx.DateTime. I use something like this in my program:
> 
>     Date(year, month, w).strftime("%W")
> 
> e.g.: Date(2002,5,1).strftime("%W") gives 17 as result. In my german 
> calendar it should be 18, so I add 1. But
> Date(2001,5,1).strftime("%W") gives 18 and in my calendar its also 18 so 
> adding +1 dosn't work here. what can I do? I use Date(2001,5,1).iso_week[1]
> and Date(2002,5,1).iso_week[1] that works. But shouldn't it also work 
> with the method described above?

The .strftime() method interfaces directly to the C lib's
strftime() API, so if that implementation uses a non-ISO
week number calculation, then you see different results.

GLIBC:
"""
        %W     The week number of the current year as a decimal number,  range
               00  to  53,  starting with the first Monday as the first day of
               week 01.
"""

This is clearly not ISO (which is much more complicated) !

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From krissepu@vip.fi Sun Jun  9 16:28:13 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59ESDU18781
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 16:28:13 +0200
Received: from vip.fi (DynIP-132-175.Tre.vip.fi [213.173.132.175])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id RAA06551
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 17:28:12 +0300
Message-ID: <3D036557.7E7360F1@vip.fi>
Date: Sun, 09 Jun 2002 17:25:27 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] How to create nested search pattern witn mxTextTools ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am searching nested strings that are limited (and include)
with ?- and ! -signs.

I have created a nested EBNF-search pattern with Simpleparse-1.0 module
for mxTextTools. The problem is: I am interested only on matched strings

and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.

What is the mxTextTool equivalent of the EBNF -notation below:

declaration := a,(match,a)*
match := '?',a,(match,a)*,'!'
<a> := [-_a-z0-9A-Z:. ]*        #Not returning this line

in case of a string "aa?BB?CC!DD!ee?FF!gg"
it should return:

[?BB?CC!DD!, ?CC!, ?FF!]

Any help appreciated,

    -pekka-



From mal@lemburg.com Sun Jun  9 16:56:46 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59EujU18945;
	Sun, 9 Jun 2002 16:56:45 +0200
Message-ID: <3D036CDA.6000202@lemburg.com>
Date: Sun, 09 Jun 2002 16:57:30 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern witn mxTextTools
 ?
References: <3D036557.7E7360F1@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> I am searching nested strings that are limited (and include)
> with ?- and ! -signs.
> 
> I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> for mxTextTools. The problem is: I am interested only on matched strings
> 
> and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> 
> What is the mxTextTool equivalent of the EBNF -notation below:
> 
> declaration := a,(match,a)*
> match := '?',a,(match,a)*,'!'
> <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> 
> in case of a string "aa?BB?CC!DD!ee?FF!gg"
> it should return:
> 
> [?BB?CC!DD!, ?CC!, ?FF!]
> 
> Any help appreciated,

You should have a look at the SubTable command. It would allow
you to do this.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mal@lemburg.com Sun Jun  9 18:02:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59G2AU19331;
	Sun, 9 Jun 2002 18:02:10 +0200
Message-ID: <3D037C2F.1030804@lemburg.com>
Date: Sun, 09 Jun 2002 18:02:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxODBC and FreeTDS to access MS SQL Server
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm currently working on getting FreeTDS to work with mxODBC.
Unfortunately, I don't have a MS SQL Server instance to test
it against.

If anyone is willing to try the following setup, please let
me know and I'll send you the code:

* WinXX server running MS SQL Server
* Linux client having FreeTDS installed (version 0.53)

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mcfletch@rogers.com Sun Jun  9 21:21:53 2002
Received: from fep04-mail.bloor.is.net.cable.rogers.com (fep04-mail.bloor.is.net.cable.rogers.com [66.185.86.74])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59JLrU20698
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 21:21:53 +0200
Received: from rogers.com ([24.43.65.252])
          by fep04-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.04.13 201-253-122-122-113-20020313) with ESMTP
          id <20020609192148.LAVP8996.fep04-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Sun, 9 Jun 2002 15:21:48 -0400
Message-ID: <3D03AACF.5060700@rogers.com>
Date: Sun, 09 Jun 2002 15:21:51 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0rc3) Gecko/20020523
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern witn mxTextTools
 ?
References: <3D036557.7E7360F1@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep04-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 9 Jun 2002 15:21:48 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka, are you sure you're not optimising this app too early?  I mean, 
you're only dealing with 2MB files.  The simple loop over the results 
table isn't likely to be a time problem compared to your original 
solution with line-by-line regex runs.  If you code the whole grammar as 
an EBNF so you can process the whole file in a single call to 
TextTools.tag, you're not likely going to be able to detect the time 
required to do the parsing, and the looping approach to getting the 
results from the tagging results is pretty fast for must uses.

As for the mxTextTool equivalent of the EBNF:

mxDecl = []
mxDecl.extend(
[
     (
         (None, 207, ((None, 204, (mxDecl, 2)),
                      (None, 207, (('match', 204, (mxDecl, 1)),
                                   (None, 204, (mxDecl, 2))), 1, 0))),),
     (
         (None, 207, (
             (None, 21, '?'),
             (None, 204,(mxDecl, 2)),
             (None, 207, (('match', 204, (mxDecl, 1)),
                          (None, 204, (mxDecl, 2))),1, 0),
             (None, 21, '!'))),),
     (
         (None, 207, (
             (None, 11, 
'-_abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:. ', 
1),)),)
]

You can find it in the generator's tupleset attribute:

	table = generator.buildParser(
		declaration
	).tupleset

I've never felt the need to add AppendMatch, but the code is available 
if someone wants to add the syntax to the EBNF grammar and the 
objectgenerator code.

Enjoy,
Mike

Pekka Niiranen wrote:
> I am searching nested strings that are limited (and include)
> with ?- and ! -signs.
> 
> I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> for mxTextTools. The problem is: I am interested only on matched strings
> 
> and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> 
> What is the mxTextTool equivalent of the EBNF -notation below:
> 
> declaration := a,(match,a)*
> match := '?',a,(match,a)*,'!'
> <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> 
> in case of a string "aa?BB?CC!DD!ee?FF!gg"
> it should return:
> 
> [?BB?CC!DD!, ?CC!, ?FF!]
> 
> Any help appreciated,
> 
>     -pekka-
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users
> 


-- 
_______________________________________
   Mike C. Fletcher
   http://members.rogers.com/mcfletch/



From krissepu@vip.fi Sun Jun  9 22:46:39 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59KkcU21220
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 22:46:39 +0200
Received: from vip.fi (DynIP-132-158.Tre.vip.fi [213.173.132.158])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA22272
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 23:46:35 +0300
Message-ID: <3D03BE07.549505AC@vip.fi>
Date: Sun, 09 Jun 2002 23:43:51 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
CC: egenix-users@lists.egenix.com
References: <3D036557.7E7360F1@vip.fi> <3D03AACF.5060700@rogers.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] More questions and PEPs: How to create nested search pattern with
 mxTextTools?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I tried previously various approaches, but two problems remain:

1)    Re.findall() returns also empty matches, which I have to clean.
2)    I am looping thru several files and displaying results as dictionary:
        ("filename", [list of parameters in this file]) so when later
replacing
       parameters I only access those parameter that exist in a file.
       This should speed up replacements compared to a case where
       I run single huge merged list (like a sed -file ) of all
(parameter,replacement) -pairs
       to all files in one go. (i.e searching parameters that do not necessary

       exist in current processed file)

The current bottleneck is the building of [list of parameters in this file]
which leads to the following "PEPs":

a)    Parameter to re.findall() to allow only non-empty matches in search
result.
b)    Option to mxTextTools to return only unique matches from processed text
       as list of strings.

True, I can get rid of looping thru single lines, but then I have to take
account the contents of the previous line in EBNF as we discussed before.
I will try that in future too.

In your post below, I only have to replace the integer numbers as mxTextTool's
command
names and then add manually "+AppendMatch" -parameter to certain commands,
right ?

-pekka-

"Mike C. Fletcher" wrote:

> Pekka, are you sure you're not optimising this app too early?  I mean,
> you're only dealing with 2MB files.  The simple loop over the results
> table isn't likely to be a time problem compared to your original
> solution with line-by-line regex runs.  If you code the whole grammar as
> an EBNF so you can process the whole file in a single call to
> TextTools.tag, you're not likely going to be able to detect the time
> required to do the parsing, and the looping approach to getting the
> results from the tagging results is pretty fast for must uses.
>
> As for the mxTextTool equivalent of the EBNF:
>
> mxDecl = []
> mxDecl.extend(
> [
>      (
>          (None, 207, ((None, 204, (mxDecl, 2)),
>                       (None, 207, (('match', 204, (mxDecl, 1)),
>                                    (None, 204, (mxDecl, 2))), 1, 0))),),
>      (
>          (None, 207, (
>              (None, 21, '?'),
>              (None, 204,(mxDecl, 2)),
>              (None, 207, (('match', 204, (mxDecl, 1)),
>                           (None, 204, (mxDecl, 2))),1, 0),
>              (None, 21, '!'))),),
>      (
>          (None, 207, (
>              (None, 11,
> '-_abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:. ',
> 1),)),)
> ]
>
> You can find it in the generator's tupleset attribute:
>
>         table = generator.buildParser(
>                 declaration
>         ).tupleset
>
> I've never felt the need to add AppendMatch, but the code is available
> if someone wants to add the syntax to the EBNF grammar and the
> objectgenerator code.
>
> Enjoy,
> Mike
>
> Pekka Niiranen wrote:
> > I am searching nested strings that are limited (and include)
> > with ?- and ! -signs.
> >
> > I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> > for mxTextTools. The problem is: I am interested only on matched strings
> >
> > and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> >
> > What is the mxTextTool equivalent of the EBNF -notation below:
> >
> > declaration := a,(match,a)*
> > match := '?',a,(match,a)*,'!'
> > <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> >
> > in case of a string "aa?BB?CC!DD!ee?FF!gg"
> > it should return:
> >
> > [?BB?CC!DD!, ?CC!, ?FF!]
> >
> > Any help appreciated,
> >
> >     -pekka-
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
> >
>
> --
> _______________________________________
>    Mike C. Fletcher
>    http://members.rogers.com/mcfletch/


From krissepu@vip.fi Sun Jun  9 22:53:58 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59KrvU21261
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 22:53:57 +0200
Received: from vip.fi (DynIP-132-158.Tre.vip.fi [213.173.132.158])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA22548
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 23:53:56 +0300
Message-ID: <3D03BFC0.886D1ECC@vip.fi>
Date: Sun, 09 Jun 2002 23:51:12 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern with mxTextTools?
References: <3D036557.7E7360F1@vip.fi> <3D036CDA.6000202@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M-A, Correct me if I am wrong, but does that mean:
I can reuse the parser returned by Simpleparse as subtable
and use "+AppendMatch" in that new merged table ?

The SimpleParse does not support all the commands of mxTextTool.

"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > I am searching nested strings that are limited (and include)
> > with ?- and ! -signs.
> >
> > I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> > for mxTextTools. The problem is: I am interested only on matched strings
> >
> > and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> >
> > What is the mxTextTool equivalent of the EBNF -notation below:
> >
> > declaration := a,(match,a)*
> > match := '?',a,(match,a)*,'!'
> > <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> >
> > in case of a string "aa?BB?CC!DD!ee?FF!gg"
> > it should return:
> >
> > [?BB?CC!DD!, ?CC!, ?FF!]
> >
> > Any help appreciated,
>
> You should have a look at the SubTable command. It would allow
> you to do this.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
> Meet us at EuroPython 2002:                 http://www.europython.org/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jun 10 13:26:56 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5ABQuU27531;
	Mon, 10 Jun 2002 13:26:56 +0200
Message-ID: <3D048D2D.5070708@lemburg.com>
Date: Mon, 10 Jun 2002 13:27:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern with mxTextTools?
References: <3D036557.7E7360F1@vip.fi> <3D036CDA.6000202@lemburg.com> <3D03BFC0.886D1ECC@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> M-A, Correct me if I am wrong, but does that mean:
> I can reuse the parser returned by Simpleparse as subtable
> and use "+AppendMatch" in that new merged table ?

Sure. SimpleParse generates the table for you as Mike
already outlined.

> The SimpleParse does not support all the commands of mxTextTool.

For the simple grammar you have in mind, you could just
as well hand code the tag table to suit your needs.
It is pretty straight forward and if you use the latest beta
of egenix-mx-base you even get string labels for free which
makes writing these a lot easier (also, you can then have
mxTextTools parse native Unicode no case you should ever
want to do that).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mcfletch@rogers.com Mon Jun 17 07:02:58 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5H52qU28057
	for <egenix-users@lists.egenix.com>; Mon, 17 Jun 2002 07:02:58 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.04.13 201-253-122-122-113-20020313) with ESMTP
          id <20020617050234.YLTH161368.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Mon, 17 Jun 2002 01:02:34 -0400
Message-ID: <3D0D6D4D.80702@rogers.com>
Date: Mon, 17 Jun 2002 01:02:05 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
CC: =?ISO-8859-1?Q?Marc-Andr=E9_Lemburg?= <mal@lemburg.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Mon, 17 Jun 2002 01:02:34 -0400
Subject: [egenix-users] RfC: mx.TextTools Non-recursive Implementation
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've been working on a non-recursive implementation of the mx.TextTools 
core loop this weekend, and am to the point where I could use some help 
in moving it forward.  (I'm posting to the users list because I figure 
people other than just Marc-André might be interested in hacking on the 
package).

As of now, I seem to have a functional, but still very rough, version of 
the engine.  It passes all of the unit tests I have (including 67 for 
the low-level mx.TextTools functionality (excluding Loop commands) and 
another 170 for SimpleParse functionality).

Why:

     The current loop uses a recursive call of the matching function for 
every table/subtable.  As a result, we tend to blow up the stack if we 
have large numbers of recursive loops.  The non-recursive rewrite 
attempts to eliminate that problem.  This allows a number of common EBNF 
grammar structures to be used which are otherwise almost impossible to 
support cleanly.

     The new loop structure consolidates all the return value and error 
reporting code, which substantially reduces the total amount of code in 
the module.

     The new loop structure should make it very easy to add "user error" 
classes, and to report the hierarchy of parents during user-error reporting.

     It should make it possible (with some thought-work) to add robust 
backtracking support as well (i.e. recording backtracks as frame-stacks 
with some extra information for re-starting)).  Similarly complex (and 
basically the same mechanism) would be adding re-start functionality on 
premature EOF cases.

     If I'm understanding correctly, it should eventually be possible to 
make the code process memory-mapped files (this is actually not specific 
to the new code, but it would be nice to have with either version).

     The new loop is fairly heavily commented by me, as I was figuring 
out what needed to get done and why.  It is also more rigid in it's 
structure, only allowing individual commands to access a defined set of 
variables to signal the result/error-handling clauses.  (This results in 
a slight slowdown, of course, compared to just setting the global 
variables).


Tradeoffs:

     The (unoptimised) first version of the code is ~ 75% of the speed 
of the 2.1.0b1 version from which it was derived (tested using the 
HTML.py script from mx.TextTools).  I'd guess that can be improved to 80 
or 90%, but I don't think there's any way this approach can be as fast 
as the recursive call + direct goto-jumping approach.  Why:

         It's doing all the work of copying variables into new (heap) 
memory manually (versus stack-pushing/call, which I'm assuming is very 
fast in C).
         Side-effect-encapsulation overhead (See last point above).
         It's using a loop, so winds up traversing the loop code on each 
iteration, whereas the goto just does a jump.

     The code is new (therefore largely untested), and is written by a 
first-time C coder (me).  I've tried to follow generally clean 
programming practices, but it's still going to need review by 
experienced C coders (both to check for errors and to optimise it).

     There are at least a few bugs in the module (I get a "no current 
thread" error, and there's probably one or two ref-count bugs in there). 
  There is a warning generated that "not all paths return a value" (I 
can't figure out which paths those are just from looking).


Needed work:
     1) Some sort of documentation and unit tests for the Loop api.
     2) Review of the code by experienced C coder(s), particularly for 
lost-references, improper memory/pointer usage, and that kind of stuff 
common to people who've never dealt with C code before.
     3) Optimisation.
     4) Expanded testing regiment.
     5) Add support for memory-mapped files.


How it Works:
     Following is rough pseudo-code for how the new engine works. It's a 
simple structure compared to the base code, which defined goto jumps for 
error handling, finish and next item, and had the result handling for 
each command in the definition of the command itself (with a call to 
another function to do the actual appending/calling).

while 1:
     while (index_in_table() and returnCode == NULL_CODE):
         decode the current table[index]
         if childReturnCode is NULL_CODE:
             #the current tag is not already processed
             reset tag variables
             switch( tag command ):
                 do what tag wants to do()
                 set tag-related variables
                 set childReturnCode (tag variable)
                 if table:
                     push_frame_stack()
                     set childReturnCode == PENDING
         switch(childReturnCode):
             # figure out what to do with child's results
             # possibly set table-wide returnValue
             childSuccess
                 append values
                 update table-wide values
                 set new index
             childFailure
                 rewind position
                 set new index
                 (possibly set table-wide return code)
             childError
                 signal error for whole table
             childPending
                 ignore/continue processing without updating list values 
(start a new table)
         reset childReturnCode

     #done table, figure out what to do now...
     if no explicit return value:
         figure out implicit
     if failure:
         truncate result list to previous length
         reset position
     if error:
         report error as exception
         exit
     else:
         if frame_stack():
             record table vars as child vars()
             pop_frame_stack()
             set childReturnCode
         else:
             return result

Where it is:
     http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/simpleparse/

What's there:
     The code is currently just a set of 5 files which replace the file 
mxte_impl.h in the 2.1.0 mx.TextTools source tree.  Dropping them in 
should allow you to compile the new version without changing anything 
else (use build --force, of course).

     mxte_impl.h --> the loop described above and the (trivial) 
implementation of the stack.  Quite a few comments.  I'm guessing the 
stack implementation could be much faster, I just don't know enough 
about C to guess how.

     *commands.h --> each of the command-families from the original code 
broken out into a file to make it easier to work with the core loop. 
Each command group has a description of the "contract" it works under in 
the system.  The commands tend to be much lighter (in terms of amount of 
code included) because of the new result-handling framework.

     In the SimpleParse package you'll find a tests directory.  There 
are only a few of those tests still up-to-date (sorry, this directory 
was a quick merge of 2 different versions of the project):
         mx_* --> low-level direct tests of the primary features of the 
  engine (these should eventually move to the Egenix package, likely 
(they aren't specific to the rewrite, so they should be able to test the 
original code as well)).  Run mx_test.py to run all of these.
         test_objectgenerator.py --> tests the individual components 
generated by SimpleParse for use in parsing
         test_simpleparsegrammar.py --> tests the SimpleParse 
parser-generator (i.e. goes from text definitions to parsers and tests 
those parsers).


If there are people interested in working on the code, I'd love a few 
eyes to pick it over and/or suggest better approaches.  People who have 
feedback regarding whether they might find the updated engine useful or 
not might want to share their thoughts as well.

With thanks for your time in listening, and for Marc-André's great work 
in producing TextTools,
Mike

_______________________________________
   Mike C. Fletcher
   http://members.rogers.com/mcfletch/



From mal@lemburg.com Wed Jun 19 19:17:19 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5JHHGU20409;
	Wed, 19 Jun 2002 19:17:18 +0200
Message-ID: <3D10BCD8.70308@lemburg.com>
Date: Wed, 19 Jun 2002 19:18:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] RfC: mx.TextTools Non-recursive Implementation
References: <3D0D6D4D.80702@rogers.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> I've been working on a non-recursive implementation of the mx.TextTools 
> core loop this weekend, and am to the point where I could use some help 
> in moving it forward.  (I'm posting to the users list because I figure 
> people other than just Marc-André might be interested in hacking on the 
> package).
> 
> As of now, I seem to have a functional, but still very rough, version of 
> the engine.  It passes all of the unit tests I have (including 67 for 
> the low-level mx.TextTools functionality (excluding Loop commands) and 
> another 170 for SimpleParse functionality).

Sounds interesting :-)

Now, I am thinking of how this could be integrated into the base package.
I can't rip out the existing code (for various reasons; one being that
I cannot maintain complex code written by someone else), so this would
have to be a separate option in mxTextTools, e.g. stackless_tag() ;-)

Ideal would be if you could separate out the code into a set of
new files, e.g. mxste_*.h|c. We also have to discuss licensing...
but that we can do in private.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Sun Jun 23 19:23:19 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5NHNJU25859
	for <egenix-users@lists.egenix.com>; Sun, 23 Jun 2002 19:23:19 +0200
Received: from vip.fi (DynIP-132-91.Tre.vip.fi [213.173.132.91])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id UAA07153
	for <egenix-users@lists.egenix.com>; Sun, 23 Jun 2002 20:23:18 +0300
Message-ID: <3D16035B.402F8DAC@vip.fi>
Date: Sun, 23 Jun 2002 20:20:27 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Continuous searching of text thru all characters on line
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am using the mxTextTool in mxBase 2.1.0b2.

I am parsing a line that may contain multiple non-overlapping matches:

---- code starts ---
import os
import pprint
from mx.TextTools import *

letter_set = set(alpha)
linput = "aa?BB!aa?DD!aa"
head_pos = None


def pr(taglist,txt,l,r,subtag):
    """Print matched string"""
    print txt[l:r]

matchtable = ((pr, AllIn+CallTag, '?', +1),
              (pr, AllInSet+CallTag, letter_set, +1),
              (pr, AllIn+CallTag, '!', +1, MatchOk),
              (None, Fail, Here)) #This is needed in order to avoid
infinite loop


tagtable = ((None, AllInSet, letter_set, +1),
            ('m', Table+AppendMatch, matchtable),
            (None, Table, ThisTable)) # Continue searching after first
match on line.


result,taglist,next = tag(linput, tagtable)
print taglist
print "-------"

---- code ends ---

The problem is that "print taglist" returns only ['?BB!'] instead of
['?BB!', ?DD!']
i.e the recursive call of tagtable is not added into taglist. However,
as function pr
reveals, ?DD! is found by mxTextTool.

Is it possible to add all the matched strings into a single table that
does not subtables ?
(not ['?BB!, [?DD!]])

-pekka-


From mal@lemburg.com Mon Jun 24 10:06:13 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5O865U32038;
	Mon, 24 Jun 2002 10:06:12 +0200
Message-ID: <3D16D329.6020500@lemburg.com>
Date: Mon, 24 Jun 2002 10:07:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characters
 on line
References: <3D16035B.402F8DAC@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> I am using the mxTextTool in mxBase 2.1.0b2.
> 
> I am parsing a line that may contain multiple non-overlapping matches:
> 
> ---- code starts ---
> import os
> import pprint
> from mx.TextTools import *
> 
> letter_set = set(alpha)
> linput = "aa?BB!aa?DD!aa"
> head_pos = None
> 
> 
> def pr(taglist,txt,l,r,subtag):
>     """Print matched string"""
>     print txt[l:r]
> 
> matchtable = ((pr, AllIn+CallTag, '?', +1),
>               (pr, AllInSet+CallTag, letter_set, +1),
>               (pr, AllIn+CallTag, '!', +1, MatchOk),
>               (None, Fail, Here)) #This is needed in order to avoid
> infinite loop
> 
> 
> tagtable = ((None, AllInSet, letter_set, +1),
>             ('m', Table+AppendMatch, matchtable),
>             (None, Table, ThisTable)) # Continue searching after first
> match on line.
> 
> 
> result,taglist,next = tag(linput, tagtable)
> print taglist
> print "-------"
> 
> ---- code ends ---
> 
> The problem is that "print taglist" returns only ['?BB!'] instead of
> ['?BB!', ?DD!']
> i.e the recursive call of tagtable is not added into taglist. However,
> as function pr
> reveals, ?DD! is found by mxTextTool.

The reason is that failing sub table matches restore the tag list
to what it was before recursion. You should remove the (None, Fail, Here)
and replace (pr, AllIn+CallTag, '!', +1, MatchOk) with
(pr, AllIn+CallTag, '!', MatchFail, MatchOk).

> Is it possible to add all the matched strings into a single table that
> does not subtables ?
> (not ['?BB!, [?DD!]])

Yes. The command SubTable does this for you.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Mon Jun 24 15:20:05 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5ODK5U01634
	for <egenix-users@lists.egenix.com>; Mon, 24 Jun 2002 15:20:05 +0200
Received: from vip.fi (DynIP-132-172.Tre.vip.fi [213.173.132.172])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id QAA00720;
	Mon, 24 Jun 2002 16:19:58 +0300
Message-ID: <3D171BD4.228A0045@vip.fi>
Date: Mon, 24 Jun 2002 16:17:08 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characterson 
 line: Does not work, vol 1
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Nope,

this code works the same:

---- code starts ---
import os
import pprint
from simpleparse import generator
from mx.TextTools import *

letter_set = set(alpha)
linput = "aa?BB!aa?DD!cc"
head_pos = None


def pr(taglist,txt,l,r,subtag):
    """Print matched string"""
    print txt[l:r]

matchtable = ((pr, AllIn+CallTag, '?', +1),
              (pr, AllInSet+CallTag, letter_set, +1),
              (pr, AllIn+CallTag, '!', MatchFail, MatchOk))


tagtable = ((None, AllInSet, letter_set, +1),
            ('Match', Table+AppendMatch, matchtable),
            (None, Table, ThisTable)) # Continue searching after first match
on line.


result,taglist,next = tag(linput, tagtable)
print taglist
print "-------"

---- code stops ---

Since one needs parsers mostly because of nested structures cannot be
searched with re-expressions, please add examples of nested searches in your
future documentations. Once I get this one running, I will send it to you

-pekka-


"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > I am using the mxTextTool in mxBase 2.1.0b2.
> >
> > I am parsing a line that may contain multiple non-overlapping matches:
> >
> > ---- code starts ---
> > import os
> > import pprint
> > from mx.TextTools import *
> >
> > letter_set = set(alpha)
> > linput = "aa?BB!aa?DD!aa"
> > head_pos = None
> >
> >
> > def pr(taglist,txt,l,r,subtag):
> >     """Print matched string"""
> >     print txt[l:r]
> >
> > matchtable = ((pr, AllIn+CallTag, '?', +1),
> >               (pr, AllInSet+CallTag, letter_set, +1),
> >               (pr, AllIn+CallTag, '!', +1, MatchOk),
> >               (None, Fail, Here)) #This is needed in order to avoid
> > infinite loop
> >
> >
> > tagtable = ((None, AllInSet, letter_set, +1),
> >             ('m', Table+AppendMatch, matchtable),
> >             (None, Table, ThisTable)) # Continue searching after first
> > match on line.
> >
> >
> > result,taglist,next = tag(linput, tagtable)
> > print taglist
> > print "-------"
> >
> > ---- code ends ---
> >
> > The problem is that "print taglist" returns only ['?BB!'] instead of
> > ['?BB!', ?DD!']
> > i.e the recursive call of tagtable is not added into taglist. However,
> > as function pr
> > reveals, ?DD! is found by mxTextTool.
>
> The reason is that failing sub table matches restore the tag list
> to what it was before recursion. You should remove the (None, Fail, Here)
> and replace (pr, AllIn+CallTag, '!', +1, MatchOk) with
> (pr, AllIn+CallTag, '!', MatchFail, MatchOk).
>
> > Is it possible to add all the matched strings into a single table that
> > does not subtables ?
> > (not ['?BB!, [?DD!]])
>
> Yes. The command SubTable does this for you.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
> Meet us at EuroPython 2002:                 http://www.europython.org/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jun 24 17:09:52 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5OF9pU02286;
	Mon, 24 Jun 2002 17:09:52 +0200
Message-ID: <3D173680.3060901@lemburg.com>
Date: Mon, 24 Jun 2002 17:10:56 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: John.N.1@bwc.state.oh.us
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict setting keys/comparison to shelve
References: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

John.N.1@bwc.state.oh.us wrote:
> Does anyone have comments on using Bdict instead of a standard shelf or
> bsddb ver3?
> 
> Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
> first delete the key and then set it's value.
> Should that be the case?
> 
> When I run:
> 
>     d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
>     print 'original',d['Marc9']
>     d['Marc9']='betty1'
>     d.commit()
>     print 'dict change\t',d.changed(),d['Marc9']
> 
>     del(d['Marc9'])
>     d.commit()
>     d['Marc9']='betty2'
>     print 'del dict change\t',d.changed(),d['Marc9']
>     d.close()
> 
> 
> produces:
> 
> original Sveta
> dict change     0 Sveta
> del dict change 1 betty2

Have you tried this with the lastest beta of egenix-mx-base ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mal@lemburg.com Mon Jun 24 20:29:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5OITZU03644;
	Mon, 24 Jun 2002 20:29:36 +0200
Message-ID: <3D176551.1080207@lemburg.com>
Date: Mon, 24 Jun 2002 20:30:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characterson
  line: Does not work, vol 1
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com> <3D171BD4.228A0045@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Nope,
> 
> this code works the same:
> 
> ---- code starts ---
> import os
> import pprint
> from simpleparse import generator
> from mx.TextTools import *
> 
> letter_set = set(alpha)
> linput = "aa?BB!aa?DD!cc"
> head_pos = None
> 
> 
> def pr(taglist,txt,l,r,subtag):
>     """Print matched string"""
>     print txt[l:r]
> 
> matchtable = ((pr, AllIn+CallTag, '?', +1),
>               (pr, AllInSet+CallTag, letter_set, +1),
>               (pr, AllIn+CallTag, '!', MatchFail, MatchOk))
> 
> 
> tagtable = ((None, AllInSet, letter_set, +1),
>             ('Match', Table+AppendMatch, matchtable),
>             (None, Table, ThisTable)) # Continue searching after first match
> on line.

Not sure what you want to achieve with the last line.
Shouldn't this be (None, Jump, To, -2) ?


> result,taglist,next = tag(linput, tagtable)
> print taglist
> print "-------"
> 
> ---- code stops ---
> 
> Since one needs parsers mostly because of nested structures cannot be
> searched with re-expressions, please add examples of nested searches in your
> future documentations. Once I get this one running, I will send it to you

You should consult the examples in the Examples directory.
There are a few instances of nested structures in there, e.g.
Tim.py.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Thu Jun 27 18:28:06 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5RGS6U31371
	for <egenix-users@lists.egenix.com>; Thu, 27 Jun 2002 18:28:06 +0200
Received: from vip.fi (DynIP-132-154.Tre.vip.fi [213.173.132.154])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id TAA02369;
	Thu, 27 Jun 2002 19:27:56 +0300
Message-ID: <3D1B3D10.44AD75DF@vip.fi>
Date: Thu, 27 Jun 2002 19:28:00 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com> <3D171BD4.228A0045@vip.fi> <3D176551.1080207@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Lookahead parameter in MxTextTools ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I managed to make my parser for nested structures workin by
inspecting your example code altRTF.py of the mxTextTool -package.
However, I have 3 questions of the code below:

1) Can I use LookAhead -parameter to replace this two liner in the code:
        (None,Is+CallTag,'!','nesting', +1),
        (None,Skip,-1,0,MatchOk),

    I could not find any examples of it.

2) It seems that last line
     (pr4, AllNotIn+CallTag, '?!',MatchFail,'start')

    never fails. Instead it seems the program allways jumps to 'start'.
    What am I missing ?

3) I would like to merge starting ?-sign and ending ! -sign to the match
    but creating additional group like

    ( 'match', Table+AppendMatch,
      ((pr2,Is+CallTag,'?','letters', +1),
       ('group',SubTable+AppendMatch,ThisTable),
       (pr3,Is+CallTag,'!'))),

    fails because jump address 'letters' must be found from the group itself.
    Any ideas ?

---code starts ---

import sys,string

from mx.TextTools import *

text = "aa??CC!DD!aa?FF!?GG!xxxx?XX!aa"

def pr1(taglist,txt,l,r,subtag):
    print 'pr1 ',txt[l:r]

def pr2(taglist,txt,l,r,subtag):
    print 'pr2 ',txt[l:r]

def pr3(taglist,txt,l,r,subtag):
    print 'pr3 ',txt[l:r]

def pr4(taglist,txt,l,r,subtag):
    print 'pr4 ',txt[l:r]

rtf = ('start',
       (None,Is+CallTag,'!','nesting', +1),
       (None,Skip,-1,0,MatchOk),

       'nesting',
       (pr2,Is+CallTag,'?','letters', +1),
       ('group',SubTable+AppendMatch,ThisTable),
       (pr3,Is+CallTag,'!'),
       (None,Jump,To,'start'),

       'letters',
       (pr4, AllNotIn+CallTag, '?!',MatchFail,'start'))


if __name__ == '__main__':

    result, taglist, nextindex = tag(text,rtf)
    print taglist

---code ends ---


-pekka-




From reggie@merfinllc.com Sat Jul  6 00:19:24 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g65MJOU25153
	for <egenix-users@lists.egenix.com>; Sat, 6 Jul 2002 00:19:24 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id jlpzbaaa for egenix-users@lists.egenix.com; Fri, 5 Jul 2002 15:19:19 -0700
From: Reggie Dugard <reggie@merfinllc.com>
To: egenix-users@lists.egenix.com
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 05 Jul 2002 15:19:17 -0700
Message-Id: <1025907558.12352.38.camel@auk>
Mime-Version: 1.0
Subject: [egenix-users] Roundoff problem in DateTime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
and I seem to have discovered a roundoff problem.  The problem occurs on
Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
versions of python and mx.DateTime.

After performing a floating point addition, I'm getting a time of
24:00:00 instead of getting 00:00:00 for the next day.  The release
notes mention a similar problem and seem to indicate that it has already
been addressed.  I'm able to consistently reproduce this my problem with
the simple example below.

So, I was wondering if anyone else has this problem or if there is a
patch/known workaround for it.

Thanks in advance,

Reggie Dugard
Merfin, LLC

$ uname -a
Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
$ python
Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
[GCC 3.0.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
>>> mx.DateTime.__version__
'2.0.3'
>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
>>> t
<DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
>>> t + 1.0/17.0
<DateTime object for '2001-01-03 24:00:00.00' at 8166700>
>>> 



From mal@lemburg.com Mon Jul  8 10:32:07 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g688W5U13959;
	Mon, 8 Jul 2002 10:32:07 +0200
Message-ID: <3D294E54.6070706@lemburg.com>
Date: Mon, 08 Jul 2002 10:33:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Reggie Dugard <reggie@merfinllc.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Reggie Dugard wrote:
> I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> and I seem to have discovered a roundoff problem.  The problem occurs on
> Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> versions of python and mx.DateTime.
> 
> After performing a floating point addition, I'm getting a time of
> 24:00:00 instead of getting 00:00:00 for the next day.  The release
> notes mention a similar problem and seem to indicate that it has already
> been addressed.  I'm able to consistently reproduce this my problem with
> the simple example below.
> 
> So, I was wondering if anyone else has this problem or if there is a
> patch/known workaround for it.

Could you check whether the problem still persists with the
latest egenix-mx-base beta 2 ? (see the mailing list archives
for all the URLs)

> Reggie Dugard
> Merfin, LLC
> 
> $ uname -a
> Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> $ python
> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> [GCC 3.0.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>import mx.DateTime
>>>>mx.DateTime.__version__
>>>
> '2.0.3'
> 
>>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
>>>>t
>>>
> <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> 
>>>>t + 1.0/17.0
>>>
> <DateTime object for '2001-01-03 24:00:00.00' at 8166700>

Could you provide a printout of the values of all attributes
this instance has (both on Windows and Linux) ?

t = ...
for attr in t.__members__:
     print attr, ':', getattr(t, attr)

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From reggie@merfinllc.com Mon Jul  8 20:37:01 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68Ib0U17731
	for <egenix-users@lists.egenix.com>; Mon, 8 Jul 2002 20:37:00 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id iiuzbaaa for egenix-users@lists.egenix.com; Mon, 8 Jul 2002 11:36:50 -0700
Subject: Re: [egenix-users] Roundoff problem in DateTime
From: Reggie Dugard <reggie@merfinllc.com>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
In-Reply-To: <3D294E54.6070706@lemburg.com>
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 08 Jul 2002 11:36:48 -0700
Message-Id: <1026153408.26011.7.camel@auk>
Mime-Version: 1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
it didn't help.  I've printed out all the attributes below, as you
requested.

Let me know if you need anything else.

Reggie


Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
[GCC 3.0.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
>>> mx.DateTime.__version__
'2.1.0'
>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>> t
<DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
>>> t + 1.0/17.0
<DateTime object for '2001-01-03 24:00:00.00' at 8167600>
>>> for attr in t.__members__:
...     print attr, ':', getattr(t,attr)
... 
year : 2001
month : 1
day : 3
hour : 22
minute : 35
second : 17.6470588235
absdays : 730487.941176
absdate : 730488
abstime : 81317.6470588
yearoffset : 730485
is_leapyear : 0
day_of_week : 2
day_of_year : 3
days_in_month : 31
tz : PST
dst : 0
iso_week : (2001, 1, 3)
mjd : 51912.9411765
tjd : 1912.94117647
tjd_myriad : 245
jdn : 2451913.44118
calendar : Gregorian
>>> 

On Mon, 2002-07-08 at 01:33, M.-A. Lemburg wrote:
> Reggie Dugard wrote:
> > I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> > and I seem to have discovered a roundoff problem.  The problem occurs on
> > Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> > versions of python and mx.DateTime.
> > 
> > After performing a floating point addition, I'm getting a time of
> > 24:00:00 instead of getting 00:00:00 for the next day.  The release
> > notes mention a similar problem and seem to indicate that it has already
> > been addressed.  I'm able to consistently reproduce this my problem with
> > the simple example below.
> > 
> > So, I was wondering if anyone else has this problem or if there is a
> > patch/known workaround for it.
> 
> Could you check whether the problem still persists with the
> latest egenix-mx-base beta 2 ? (see the mailing list archives
> for all the URLs)
> 
> > Reggie Dugard
> > Merfin, LLC
> > 
> > $ uname -a
> > Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> > $ python
> > Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> > [GCC 3.0.3] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > 
> >>>>import mx.DateTime
> >>>>mx.DateTime.__version__
> >>>
> > '2.0.3'
> > 
> >>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
> >>>>t
> >>>
> > <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> > 
> >>>>t + 1.0/17.0
> >>>
> > <DateTime object for '2001-01-03 24:00:00.00' at 8166700>
> 
> Could you provide a printout of the values of all attributes
> this instance has (both on Windows and Linux) ?
> 
> t = ...
> for attr in t.__members__:
>      print attr, ':', getattr(t, attr)
> 
> Thanks,
> -- 
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users



From reggie@merfinllc.com Mon Jul  8 20:48:24 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68ImOU17895
	for <egenix-users@lists.egenix.com>; Mon, 8 Jul 2002 20:48:24 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id siuzbaaa for egenix-users@lists.egenix.com; Mon, 8 Jul 2002 11:48:19 -0700
Subject: Re: [egenix-users] Roundoff problem in DateTime
From: Reggie Dugard <reggie@merfinllc.com>
To: Reggie Dugard <reggie@merfinllc.com>
Cc: "M.-A. Lemburg" <mal@lemburg.com>, egenix-users@lists.egenix.com
In-Reply-To: <1026153408.26011.7.camel@auk>
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>
	 <1026153408.26011.7.camel@auk>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 08 Jul 2002 11:48:16 -0700
Message-Id: <1026154096.26011.22.camel@auk>
Mime-Version: 1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Sorry about that last e-mail, I included the attributes of the DateTime
instance BEFORE doing the addition (too little sleep I guess).  Here are
the ones you asked for.

Reggie


On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
> I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
> it didn't help.  I've printed out all the attributes below, as you
> requested.
> 
> Let me know if you need anything else.
> 
> Reggie
> 
> 
> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> [GCC 3.0.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import mx.DateTime
> >>> mx.DateTime.__version__
> '2.1.0'
> >>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
> >>> t
> <DateTime object for '2001-01-03 22:35:17.65' at 8134e58>

>>> t += 1.0/17.0
>>> t
<DateTime object for '2001-01-03 24:00:00.00' at 818b088>
>>> for attr in t.__members__:
...     print attr, ':', getattr(t,attr)
... 
year : 2001
month : 1
day : 3
hour : 24
minute : 0
second : 0.0
absdays : 730488.0
absdate : 730488
abstime : 86400.0
yearoffset : 730485
is_leapyear : 0
day_of_week : 2
day_of_year : 3
days_in_month : 31
tz : PST
dst : 0
iso_week : (2001, 1, 3)
mjd : 51913.0
tjd : 1913.0
tjd_myriad : 245
jdn : 2451913.5
calendar : Gregorian
>>> 


> 
> On Mon, 2002-07-08 at 01:33, M.-A. Lemburg wrote:
> > Reggie Dugard wrote:
> > > I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> > > and I seem to have discovered a roundoff problem.  The problem occurs on
> > > Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> > > versions of python and mx.DateTime.
> > > 
> > > After performing a floating point addition, I'm getting a time of
> > > 24:00:00 instead of getting 00:00:00 for the next day.  The release
> > > notes mention a similar problem and seem to indicate that it has already
> > > been addressed.  I'm able to consistently reproduce this my problem with
> > > the simple example below.
> > > 
> > > So, I was wondering if anyone else has this problem or if there is a
> > > patch/known workaround for it.
> > 
> > Could you check whether the problem still persists with the
> > latest egenix-mx-base beta 2 ? (see the mailing list archives
> > for all the URLs)
> > 
> > > Reggie Dugard
> > > Merfin, LLC
> > > 
> > > $ uname -a
> > > Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> > > $ python
> > > Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> > > [GCC 3.0.3] on linux2
> > > Type "help", "copyright", "credits" or "license" for more information.
> > > 
> > >>>>import mx.DateTime
> > >>>>mx.DateTime.__version__
> > >>>
> > > '2.0.3'
> > > 
> > >>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
> > >>>>t
> > >>>
> > > <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> > > 
> > >>>>t + 1.0/17.0
> > >>>
> > > <DateTime object for '2001-01-03 24:00:00.00' at 8166700>
> > 
> > Could you provide a printout of the values of all attributes
> > this instance has (both on Windows and Linux) ?
> > 
> > t = ...
> > for attr in t.__members__:
> >      print attr, ':', getattr(t, attr)
> > 
> > Thanks,
> > -- 
> > Marc-Andre Lemburg
> > CEO eGenix.com Software GmbH
> > _______________________________________________________________________
> > eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> > Python Consulting:                               http://www.egenix.com/
> > Python Software:                    http://www.egenix.com/files/python/
> > 
> > 
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users



From mal@lemburg.com Mon Jul  8 22:50:20 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68KoDU18775;
	Mon, 8 Jul 2002 22:50:19 +0200
Message-ID: <3D29FB5A.1000403@lemburg.com>
Date: Mon, 08 Jul 2002 22:51:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Reggie Dugard <reggie@merfinllc.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>	 <1026153408.26011.7.camel@auk> <1026154096.26011.22.camel@auk>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Reggie Dugard wrote:
> Sorry about that last e-mail, I included the attributes of the DateTime
> instance BEFORE doing the addition (too little sleep I guess).  Here are
> the ones you asked for.

Thanks. I can reproduce the problem now.

I'll see whether I can find a fix for it. The problem is that
leap seconds show as .abstime == 86400.0 as well, so whether
or not a value is invalid is not straight forward to decide.

> On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
> 
>>I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
>>it didn't help.  I've printed out all the attributes below, as you
>>requested.
>>
>>Let me know if you need anything else.
>>
>>Reggie
>>
>>
>>Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
>>[GCC 3.0.3] on linux2
>>Type "help", "copyright", "credits" or "license" for more information.
>>
>>>>>import mx.DateTime
>>>>>mx.DateTime.__version__
>>>>
>>'2.1.0'
>>
>>>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>>>>t
>>>>
>><DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
> 
> 
>>>>t += 1.0/17.0
>>>>t
>>>
> <DateTime object for '2001-01-03 24:00:00.00' at 818b088>
> 
>>>>for attr in t.__members__:
>>>
> ...     print attr, ':', getattr(t,attr)
> ... 
> year : 2001
> month : 1
> day : 3
> hour : 24
> minute : 0
> second : 0.0
> absdays : 730488.0
> absdate : 730488
> abstime : 86400.0
> yearoffset : 730485
> is_leapyear : 0
> day_of_week : 2
> day_of_year : 3
> days_in_month : 31
> tz : PST
> dst : 0
> iso_week : (2001, 1, 3)
> mjd : 51913.0
> tjd : 1913.0
> tjd_myriad : 245
> jdn : 2451913.5
> calendar : Gregorian

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Tue Jul  9 17:46:19 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g69Fk6U26777;
	Tue, 9 Jul 2002 17:46:06 +0200
Message-ID: <3D2B0592.6070700@lemburg.com>
Date: Tue, 09 Jul 2002 17:47:30 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: Reggie Dugard <reggie@merfinllc.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>	 <1026153408.26011.7.camel@auk> <1026154096.26011.22.camel@auk> <3D29FB5A.1000403@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've had a look at the problem: it seems that either the compiler
generates weird code or that the ALU in the processor has trouble
passing doube arguments on the stack:

The function doing the calculations shows a diff of abstime - 86400.0
of -0.00000000000545696821 and abstime >= 86400.0 is false. However,
once that value has been passed over the stack to another function,
the diff goes down to 0.0 and abstime == 86400.0 .... weird.

M.-A. Lemburg wrote:
> Reggie Dugard wrote:
> 
>> Sorry about that last e-mail, I included the attributes of the DateTime
>> instance BEFORE doing the addition (too little sleep I guess).  Here are
>> the ones you asked for.
> 
> 
> Thanks. I can reproduce the problem now.
> 
> I'll see whether I can find a fix for it. The problem is that
> leap seconds show as .abstime == 86400.0 as well, so whether
> or not a value is invalid is not straight forward to decide.
> 
>> On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
>>
>>> I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
>>> it didn't help.  I've printed out all the attributes below, as you
>>> requested.
>>>
>>> Let me know if you need anything else.
>>>
>>> Reggie
>>>
>>>
>>> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) [GCC 3.0.3] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>>>> import mx.DateTime
>>>>>> mx.DateTime.__version__
>>>>>
>>>>>
>>> '2.1.0'
>>>
>>>>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>>>>> t
>>>>>
>>>>>
>>> <DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
>>
>>
>>
>>>>> t += 1.0/17.0
>>>>> t
>>>>
>>>>
>> <DateTime object for '2001-01-03 24:00:00.00' at 818b088>
>>
>>>>> for attr in t.__members__:
>>>>
>>>>
>> ...     print attr, ':', getattr(t,attr)
>> ... year : 2001
>> month : 1
>> day : 3
>> hour : 24
>> minute : 0
>> second : 0.0
>> absdays : 730488.0
>> absdate : 730488
>> abstime : 86400.0
>> yearoffset : 730485
>> is_leapyear : 0
>> day_of_week : 2
>> day_of_year : 3
>> days_in_month : 31
>> tz : PST
>> dst : 0
>> iso_week : (2001, 1, 3)
>> mjd : 51913.0
>> tjd : 1913.0
>> tjd_myriad : 245
>> jdn : 2451913.5
>> calendar : Gregorian
> 
> 


-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Jul 11 19:33:44 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6BHXiU14508;
	Thu, 11 Jul 2002 19:33:44 +0200
Message-ID: <3D2DC1CF.1020303@lemburg.com>
Date: Thu, 11 Jul 2002 19:35:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxODBC Zope DA
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am currently working on a Zope DA for mxODBC. Is anyone
willing to play alpha tester for this ? If so, please drop
me a line.

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Sat Jul 13 21:21:16 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6DJLFU02327
	for <egenix-users@lists.egenix.com>; Sat, 13 Jul 2002 21:21:16 +0200
Received: from vip.fi (DynIP-132-244.Tre.vip.fi [213.173.132.244])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA31895;
	Sat, 13 Jul 2002 22:21:10 +0300
Message-ID: <3D307DA1.B61A0B85@vip.fi>
Date: Sat, 13 Jul 2002 22:21:05 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: mcfletch@rogers.com, mal@lemburg.com, egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] SimpleParse 2.0 alpha (+ mx.TextTools 2.1 beta2)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I used latest alpha of Simpleparse 2.0 and it worked OK in my problem, but

- I could not understand the section where AppendMatch, CallTag etc. were
explained.
  How do I enforce Simpleparse to use "AppendMatch  + Subtable" -parameters
together ?

- I hit the solution to the problem I mentioned on June with code 1 (Sheer
luck). However, could you
  explain why > - and < -sign are compulsonary in that solution ?

- The code 2 functions allmost as as code 1, with starting ? -sign missing from
returned items.
  Any ideas how to append that to results? (I should somehow merge ? -sign to
returned nested match)
  I doubt the tagtable returned by the Simpleparse is the shortest/quickest
solution.
  Maybe  I could LookAhead the "?" -sign and then add it to result only when I
am recursing ?

- Would it be possible to add support for compination "LookAhead+CallTag" to
mxTextTools ?
   This would help debugging.

--- code 1 starts --

import string, pprint, os
from mx.TextTools import TextTools
from simpleparse.parser import *

declaration = r'''
>line<  := (a/match)+
match   := '?', line, '!'
<a>     := -[?!]
'''
text1 = "?AA!aa??BB!!aa??CC!DD!aa?EE?FF!!aa?GG?HH?II!JJ!KK!"

parser = Parser(declaration)
success, children, nextcharacter = parser.parse(text1, production = "line")
print_tags(text1, children)

--- code 1 ends ---

--- code 2 starts --

import sys,string
from mx.TextTools import *

text = "?AA!aa??BB!!aa??CC!DD!aa?EE?FF!!aa?GG?HH?II!JJ!KK!"

rtf = ('start',
       (None, Is, '?', +1, 'nesting'),  # How to add ? -sign to result only when
we are nesting ?
       (None, Is, '!', +1, MatchOk),
       (None, AllNotIn, '?!', 0, 'start'),
       'nesting',
       ('group', SubTable+AppendMatch, ThisTable, 0, 'start'))

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,rtf)
    print taglist

--- code 2 ends ---


-pekka-


From mal@lemburg.com Sat Jul 13 22:26:33 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6DKQUU02718;
	Sat, 13 Jul 2002 22:26:32 +0200
Message-ID: <3D308D4F.7010705@lemburg.com>
Date: Sat, 13 Jul 2002 22:27:59 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: mcfletch@rogers.com, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] SimpleParse 2.0 alpha (+ mx.TextTools 2.1 beta2)
References: <3D307DA1.B61A0B85@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> - Would it be possible to add support for compination "LookAhead+CallTag" 
 >   to mxTextTools ?
>    This would help debugging.

This will be possible starting with beta 3 of the egenix-mx-base
package. It was a bug in beta 2.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Tue Jul 16 22:24:19 2002
Received: from populo.vip.fi ([213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6GKNrU00402
	for <egenix-users@lists.egenix.com>; Tue, 16 Jul 2002 22:24:19 +0200
Received: from vip.fi (DynIP-132-76.Tre.vip.fi [213.173.132.76])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA26404;
	Tue, 16 Jul 2002 23:22:56 +0300
Message-ID: <3D348099.9B4B63BA@vip.fi>
Date: Tue, 16 Jul 2002 23:22:49 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
Newsgroups: comp.lang.python
To: egenix-users@lists.egenix.com, mcfletch@rogers.com, mertz@gnosis.cx,
   pyth@devel.trillke.net, dalke@acm.org, fredrik@pythonware.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] SOLUTIONS: Parsing nested strings
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Thank you all for your help and inspiration! It is payback time ;)

I have tried past two months to create parser that returns
strings limited by two different letters. The strings can be nested.
I considered recursive call of regular expression to be too slow
and decided to use mxTextTools 2.1 beta2 and the latest alpha of
Simpleparse 2.0.

Below are three solutions I found.
Note that Simpleparse creates different tagtable as the "manually"
found.

Further ideas to be implemented:

1) Input of limiting letters as parameters (easy)
2) Unicode support
3) Test for equal amount of limiting letters before calling of parser
(will this speed up the solution ?)
4) Parsing one line at a time without looping thru lines of the text
with "while" or "for"
    (maybe "None, AllNotIn, '()\n'" )

One development idea to mxTextTools:

1) Instead of using list of tables to recurse, would it be possible to
use "global jump" to outside of current table ?


--- solution 1 starts (with limiting letters)---

from mx.TextTools import *
text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
tables = [] # used for recursion only

tab = ('start',
       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
then recurse
       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
or return from recursion
       (None,AllNotIn,'()',0,'start'), # Search all characters except
"(" and ")"
       'nesting',
       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
have looked ahead, collect "(" -sign
                                      (None,SubTableInList,
(tables,0)))), # Recurse
       (None,Jump,To,'start')) # After recursion jump back to 'start'

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

--- solution 1 ends ---

--- solution 2 starts  (without limiting letters) ---

from mx.TextTools import *

text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

tab = ('start',
       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
seen stop recursion
       (None, Is, '(', 'letters', +1),
       ('group', SubTable+AppendMatch, ThisTable), # Recurse
       (None, Skip, 1, 0, 'start'), # Last character in recursion was
")" so jump over it back to 'start'
       'letters',
       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
except "(" and ")"

result,taglist,next = tag(text, tab)
print taglist

--- solution 2 ends ---

--- solution 3 starts (Simpleparse solution) ---

from simpleparse.parser import Parser
from mx.TextTools import *

declaration = r'''
>line<  := (a/match)+
match   := '(', line, ')'
<a>     := -[()]
'''
text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

parser = Parser(declaration)
success, children, nextcharacter = parser.parse(text, production =
"line")
print_tags(text,children)

--- solution 3 ends ---

-pekka-


From mcfletch@rogers.com Thu Jul 18 10:15:52 2002
Received: from fep02-mail.bloor.is.net.cable.rogers.com (fep02-mail.bloor.is.net.cable.rogers.com [66.185.86.72] (may be forged))
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6I8FVU15716
	for <egenix-users@lists.egenix.com>; Thu, 18 Jul 2002 10:15:52 +0200
Received: from rogers.com ([24.43.65.252])
          by fep02-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020718081431.ZFGZ334399.fep02-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 18 Jul 2002 04:14:31 -0400
Message-ID: <3D3678CC.30007@rogers.com>
Date: Thu, 18 Jul 2002 04:14:04 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Python List <python-list@python.org>,
   SimpleParse Users
 <simpleparse-users@lists.sourceforge.net>
CC: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep02-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 18 Jul 2002 04:14:31 -0400
Subject: [egenix-users] SimpleParse 2.0.0a4 released, mailing list created...
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've just released version 2.0.0a4 of SimpleParse.  This includes an 
eXample/eXperimental XML parser (including DTD parser), a mechanism for 
generating SyntaxErrors on the failure of any production/element-token, 
and LookAhead support.

     http://simpleparse.sf.net/

I will be restricting further package announcements to the SimpleParse 
Users list.  The Python and eGenix Lists will only get messages about 
major updates to the package.  Those interested in more frequent updates 
and/or discussion should see the mailing list at:

     http://lists.sourceforge.net/lists/listinfo/simpleparse-users


What is SimpleParse (From the WebSite):

SimpleParse is a BSD-licensed Python package providing a simple parser 
generator for use with the mxTextTools text-tagging engine. SimpleParse 
allows you to generate tagging tables for use with the text-tagging 
engine directly from your EBNF grammar.

Features:

New in 2.0.0a4/a3:

     * Exposure of "LookAhead" mechanism in mxTextTools (allows you to 
spell "is followed by", "is not followed by", or "matches x but doesn't 
match y" in SimpleParse EBNF grammars)
     * "Error on fail" error-reporting facility, allows you to raise 
Parser Syntax Errors when particular productions (or element tokens) 
fail to match.  This is not an automated system, but does allow for 
fairly flexible error reporting.  To specify, just add a '!' character 
after the element token that must match.
     * The beginnings of an example XML-Parser (including DTD parsing) 
based on the XML specification's EBNF (this is not a production parser, 
merely an example for parsing a complex file format, and is not yet 
Unicode capable)


New in 2.0.0a2

     * New, refactored and simplified API. Most of the time you only 
need to deal with a single class for all your interactions with the 
parser system, and one module if you decide to use the provided 
post-processing mechanism.
     * Compatability API for SimpleParse 1.0 applications
     * "Expanded Productions" -- allow you to define productions whose 
children are reported as if the enclosing production did not exist 
(allows you to use productions for organisational as well as reporting 
purposes)
     * Rewritten Generators -- the generator interface has been 
seperated from the parser interfaces, this makes it possible to write 
grammars directly using generator objects if desired, and allows 
defining the EBNF grammar using the same tools as generate derived parsers
     * Hexidecimal escapes for string and character ranges
     * Exposure of callout mechanism in mxTextTools
     * With the non-recursive mxTextTools, can process (albeit 
inefficiently) recursion-as-repetition grammars
     * Non-recursive rewrite of mxTextTools now ~95% of the speed of the 
recursive version

General

     * Simple-to-use interface, define an EBNF and start parsing
     * Fast for small files -- this is primarily a feature of the 
underlying TextTools engine, rather than a particular feature of the 
parser generator.
     * Allows pre-built and external parsing functions, which allows you 
to define Python methods to handle tricky parsing tasks


Enjoy yourselves,
Mike
_______________________________________
   Mike C. Fletcher
   Why, yes. I am looking for a job...
   http://members.rogers.com/mcfletch/



From mal@lemburg.com Mon Jul 22 10:57:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6M8v0U21569;
	Mon, 22 Jul 2002 10:57:00 +0200
Message-ID: <3D3BC8E3.4000500@lemburg.com>
Date: Mon, 22 Jul 2002 10:57:07 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b3
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

          eGenix.com mx BASE Extension Package for Python
                        Version 2.1.0 beta 3


Here is a new beta release of the 2.1.0 base package. It contains
a lot of small bug fixes over beta 2, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package).

This is expected to be the last beta before the final release,
so please give the package a try.

http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py1.5_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py1.5_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.0_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.0_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.1_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.1_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.2_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.2_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.tar.gz
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py1.5.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.0.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.1.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.2.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Jul 22 12:34:21 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6MAYLU22266;
	Mon, 22 Jul 2002 12:34:21 +0200
Message-ID: <3D3BDFB4.7070301@lemburg.com>
Date: Mon, 22 Jul 2002 12:34:28 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b3
References: <3D3BC8E3.4000500@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Sorry, I used the wrong URLs.

M.-A. Lemburg wrote:
> 
>          eGenix.com mx BASE Extension Package for Python
>                        Version 2.1.0 beta 3
> 
> 
> Here is a new beta release of the 2.1.0 base package. It contains
> a lot of small bug fixes over beta 2, esp. in the mxTextTools package
> (most of these were found by Mike C. Fletcher who uses it in
> his SimpleParse package).
> 
> This is expected to be the last beta before the final release,
> so please give the package a try.

Here are the correct ones:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Fri Jul 26 20:59:21 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6QIx7U32297
	for <egenix-users@lists.egenix.com>; Fri, 26 Jul 2002 20:59:20 +0200
Received: from vip.fi (DynIP-132-119.Tre.vip.fi [213.173.132.119])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id VAA21258
	for <egenix-users@lists.egenix.com>; Fri, 26 Jul 2002 21:58:41 +0300
Message-ID: <3D419BD7.46F95A39@vip.fi>
Date: Fri, 26 Jul 2002 21:58:31 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

        I tried the latest beta 3 by:

        a) compiling it myself from sources and
        b) installing from the precompiled package for python v2.2

        Of the scripts below only the script that uses Simpleparse returns
anything.
        The others run without errors, but return [].

        They all run OK with the beta 2 though.

        I am using Windows 2000 professional, Python 2.2.1 and Winpython
v148.

-pekka-


Pekka Niiranen wrote:

> Thank you all for your help and inspiration! It is payback time ;)
>
> I have tried past two months to create parser that returns
> strings limited by two different letters. The strings can be nested.
> I considered recursive call of regular expression to be too slow
> and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> Simpleparse 2.0.
>
> Below are three solutions I found.
> Note that Simpleparse creates different tagtable as the "manually"
> found.
>
> Further ideas to be implemented:
>
> 1) Input of limiting letters as parameters (easy)
> 2) Unicode support
> 3) Test for equal amount of limiting letters before calling of parser
> (will this speed up the solution ?)
> 4) Parsing one line at a time without looping thru lines of the text
> with "while" or "for"
>     (maybe "None, AllNotIn, '()\n'" )
>
> One development idea to mxTextTools:
>
> 1) Instead of using list of tables to recurse, would it be possible to
> use "global jump" to outside of current table ?
>
> --- solution 1 starts (with limiting letters)---
>
> from mx.TextTools import *
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> tables = [] # used for recursion only
>
> tab = ('start',
>        (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> then recurse
>        (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> or return from recursion
>        (None,AllNotIn,'()',0,'start'), # Search all characters except
> "(" and ")"
>        'nesting',
>        ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> have looked ahead, collect "(" -sign
>                                       (None,SubTableInList,
> (tables,0)))), # Recurse
>        (None,Jump,To,'start')) # After recursion jump back to 'start'
>
> tables.append(tab) # Add tab to tables
>
> if __name__ == '__main__':
>
>     result, taglist, nextindex = tag(text,tab)
>     print taglist
>
> --- solution 1 ends ---
>
> --- solution 2 starts  (without limiting letters) ---
>
> from mx.TextTools import *
>
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
> tab = ('start',
>        (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> seen stop recursion
>        (None, Is, '(', 'letters', +1),
>        ('group', SubTable+AppendMatch, ThisTable), # Recurse
>        (None, Skip, 1, 0, 'start'), # Last character in recursion was
> ")" so jump over it back to 'start'
>        'letters',
>        (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> except "(" and ")"
>
> result,taglist,next = tag(text, tab)
> print taglist
>
> --- solution 2 ends ---
>
> --- solution 3 starts (Simpleparse solution) ---
>
> from simpleparse.parser import Parser
> from mx.TextTools import *
>
> declaration = r'''
> >line<  := (a/match)+
> match   := '(', line, ')'
> <a>     := -[()]
> '''
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
> parser = Parser(declaration)
> success, children, nextcharacter = parser.parse(text, production =
> "line")
> print_tags(text,children)
>
> --- solution 3 ends ---
>
> -pekka-


From mal@lemburg.com Sat Jul 27 11:41:49 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6R9fSU06043;
	Sat, 27 Jul 2002 11:41:49 +0200
Message-ID: <3D426AD6.7050004@lemburg.com>
Date: Sat, 27 Jul 2002 11:41:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Hi,
> 
>         I tried the latest beta 3 by:
> 
>         a) compiling it myself from sources and
>         b) installing from the precompiled package for python v2.2
> 
>         Of the scripts below only the script that uses Simpleparse returns
> anything.
>         The others run without errors, but return [].
> 
>         They all run OK with the beta 2 though.

If they did, then you've hit a bug in beta2. Here are the corrected
versions. Note that the problem was with the EOF handling. If AllNotIn
doesn't match at least one char it'll fail and using 0 as jne offset
causes the same effect as MatchFail.

#--- solution 1 starts (with limiting letters)---

from mx.TextTools import *

def test1():

     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

     tables = [] # used for recursion only

     tab = ('start',
            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
            (None,EOF,Here,MatchOk),
            'nesting',
            ('group',SubTable+AppendMatch,
             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
              (None,SubTableInList, (tables,0)),  # Recurse
              )
             ),
            (None,Jump,To,'start')) # After recursion jump back to 'start'

     tables.append(tab) # Add tab to tables

     result, taglist, nextindex = tag(text,tab)
     print result, nextindex
     print taglist

#--- solution 2 starts  (without limiting letters) ---

def test2():

     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

     tab = ('start',
            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
            (None, Is, '(', 'letters', +1),
            ('group', SubTable+AppendMatch, ThisTable), # Recurse
            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
            'letters',
            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
            (None, EOF, Here, MatchOk),
            )

     result,taglist,nextindex = tag(text, tab)
     print result, nextindex
     print taglist

print 'Test 1:'
test1()
print

print 'Test 2:'
test2()
print


>         I am using Windows 2000 professional, Python 2.2.1 and Winpython
> v148.
> 
> -pekka-
> 
> 
> Pekka Niiranen wrote:
> 
> 
>>Thank you all for your help and inspiration! It is payback time ;)
>>
>>I have tried past two months to create parser that returns
>>strings limited by two different letters. The strings can be nested.
>>I considered recursive call of regular expression to be too slow
>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
>>Simpleparse 2.0.
>>
>>Below are three solutions I found.
>>Note that Simpleparse creates different tagtable as the "manually"
>>found.
>>
>>Further ideas to be implemented:
>>
>>1) Input of limiting letters as parameters (easy)
>>2) Unicode support
>>3) Test for equal amount of limiting letters before calling of parser
>>(will this speed up the solution ?)
>>4) Parsing one line at a time without looping thru lines of the text
>>with "while" or "for"
>>    (maybe "None, AllNotIn, '()\n'" )
>>
>>One development idea to mxTextTools:
>>
>>1) Instead of using list of tables to recurse, would it be possible to
>>use "global jump" to outside of current table ?
>>
>>--- solution 1 starts (with limiting letters)---
>>
>>from mx.TextTools import *
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>tables = [] # used for recursion only
>>
>>tab = ('start',
>>       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
>>then recurse
>>       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
>>or return from recursion
>>       (None,AllNotIn,'()',0,'start'), # Search all characters except
>>"(" and ")"
>>       'nesting',
>>       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
>>have looked ahead, collect "(" -sign
>>                                      (None,SubTableInList,
>>(tables,0)))), # Recurse
>>       (None,Jump,To,'start')) # After recursion jump back to 'start'
>>
>>tables.append(tab) # Add tab to tables
>>
>>if __name__ == '__main__':
>>
>>    result, taglist, nextindex = tag(text,tab)
>>    print taglist
>>
>>--- solution 1 ends ---
>>
>>--- solution 2 starts  (without limiting letters) ---
>>
>>from mx.TextTools import *
>>
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>tab = ('start',
>>       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
>>seen stop recursion
>>       (None, Is, '(', 'letters', +1),
>>       ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>       (None, Skip, 1, 0, 'start'), # Last character in recursion was
>>")" so jump over it back to 'start'
>>       'letters',
>>       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
>>except "(" and ")"
>>
>>result,taglist,next = tag(text, tab)
>>print taglist
>>
>>--- solution 2 ends ---
>>
>>--- solution 3 starts (Simpleparse solution) ---
>>
>>from simpleparse.parser import Parser
>>from mx.TextTools import *
>>
>>declaration = r'''
>>
>>>line<  := (a/match)+
>>
>>match   := '(', line, ')'
>><a>     := -[()]
>>'''
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>parser = Parser(declaration)
>>success, children, nextcharacter = parser.parse(text, production =
>>"line")
>>print_tags(text,children)
>>
>>--- solution 3 ends ---
>>
>>-pekka-
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Mon Jul 29 21:24:13 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6TJOCU28020
	for <egenix-users@lists.egenix.com>; Mon, 29 Jul 2002 21:24:12 +0200
Received: from vip.fi (DynIP-132-138.Tre.vip.fi [213.173.132.138])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA04413;
	Mon, 29 Jul 2002 22:23:44 +0300
Message-ID: <3D459635.129291C2@vip.fi>
Date: Mon, 29 Jul 2002 22:23:33 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Fine,

but the line:

(None,EOF,Here,MatchOk)

will make text = "aa(AA" match too. If I analysed it correctly,
it is because EOF matches allways. Would it be possible
to add mxTextTool parameter that will make EOF cause failing if necessary ?

Something like: "if EOF is encountered here, fail the whole subgroup ?"

-pekka-


"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > Hi,
> >
> >         I tried the latest beta 3 by:
> >
> >         a) compiling it myself from sources and
> >         b) installing from the precompiled package for python v2.2
> >
> >         Of the scripts below only the script that uses Simpleparse returns
> > anything.
> >         The others run without errors, but return [].
> >
> >         They all run OK with the beta 2 though.
>
> If they did, then you've hit a bug in beta2. Here are the corrected
> versions. Note that the problem was with the EOF handling. If AllNotIn
> doesn't match at least one char it'll fail and using 0 as jne offset
> causes the same effect as MatchFail.
>
> #--- solution 1 starts (with limiting letters)---
>
> from mx.TextTools import *
>
> def test1():
>
>      text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
>      tables = [] # used for recursion only
>
>      tab = ('start',
>             (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
>             (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
>             (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
>             (None,EOF,Here,MatchOk),
>             'nesting',
>             ('group',SubTable+AppendMatch,
>              ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
>               (None,SubTableInList, (tables,0)),  # Recurse
>               )
>              ),
>             (None,Jump,To,'start')) # After recursion jump back to 'start'
>
>      tables.append(tab) # Add tab to tables
>
>      result, taglist, nextindex = tag(text,tab)
>      print result, nextindex
>      print taglist
>
> #--- solution 2 starts  (without limiting letters) ---
>
> def test2():
>
>      text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
>      tab = ('start',
>             (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
>             (None, Is, '(', 'letters', +1),
>             ('group', SubTable+AppendMatch, ThisTable), # Recurse
>             (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
>             'letters',
>             (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
>             (None, EOF, Here, MatchOk),
>             )
>
>      result,taglist,nextindex = tag(text, tab)
>      print result, nextindex
>      print taglist
>
> print 'Test 1:'
> test1()
> print
>
> print 'Test 2:'
> test2()
> print
>
> >         I am using Windows 2000 professional, Python 2.2.1 and Winpython
> > v148.
> >
> > -pekka-
> >
> >
> > Pekka Niiranen wrote:
> >
> >
> >>Thank you all for your help and inspiration! It is payback time ;)
> >>
> >>I have tried past two months to create parser that returns
> >>strings limited by two different letters. The strings can be nested.
> >>I considered recursive call of regular expression to be too slow
> >>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> >>Simpleparse 2.0.
> >>
> >>Below are three solutions I found.
> >>Note that Simpleparse creates different tagtable as the "manually"
> >>found.
> >>
> >>Further ideas to be implemented:
> >>
> >>1) Input of limiting letters as parameters (easy)
> >>2) Unicode support
> >>3) Test for equal amount of limiting letters before calling of parser
> >>(will this speed up the solution ?)
> >>4) Parsing one line at a time without looping thru lines of the text
> >>with "while" or "for"
> >>    (maybe "None, AllNotIn, '()\n'" )
> >>
> >>One development idea to mxTextTools:
> >>
> >>1) Instead of using list of tables to recurse, would it be possible to
> >>use "global jump" to outside of current table ?
> >>
> >>--- solution 1 starts (with limiting letters)---
> >>
> >>from mx.TextTools import *
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>tables = [] # used for recursion only
> >>
> >>tab = ('start',
> >>       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> >>then recurse
> >>       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> >>or return from recursion
> >>       (None,AllNotIn,'()',0,'start'), # Search all characters except
> >>"(" and ")"
> >>       'nesting',
> >>       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> >>have looked ahead, collect "(" -sign
> >>                                      (None,SubTableInList,
> >>(tables,0)))), # Recurse
> >>       (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>
> >>tables.append(tab) # Add tab to tables
> >>
> >>if __name__ == '__main__':
> >>
> >>    result, taglist, nextindex = tag(text,tab)
> >>    print taglist
> >>
> >>--- solution 1 ends ---
> >>
> >>--- solution 2 starts  (without limiting letters) ---
> >>
> >>from mx.TextTools import *
> >>
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>tab = ('start',
> >>       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> >>seen stop recursion
> >>       (None, Is, '(', 'letters', +1),
> >>       ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>       (None, Skip, 1, 0, 'start'), # Last character in recursion was
> >>")" so jump over it back to 'start'
> >>       'letters',
> >>       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> >>except "(" and ")"
> >>
> >>result,taglist,next = tag(text, tab)
> >>print taglist
> >>
> >>--- solution 2 ends ---
> >>
> >>--- solution 3 starts (Simpleparse solution) ---
> >>
> >>from simpleparse.parser import Parser
> >>from mx.TextTools import *
> >>
> >>declaration = r'''
> >>
> >>>line<  := (a/match)+
> >>
> >>match   := '(', line, ')'
> >><a>     := -[()]
> >>'''
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>parser = Parser(declaration)
> >>success, children, nextcharacter = parser.parse(text, production =
> >>"line")
> >>print_tags(text,children)
> >>
> >>--- solution 3 ends ---
> >>
> >>-pekka-
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jul 29 21:37:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6TJb0U28127;
	Mon, 29 Jul 2002 21:37:00 +0200
Message-ID: <3D459971.5030207@lemburg.com>
Date: Mon, 29 Jul 2002 21:37:21 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com> <3D459635.129291C2@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Fine,
> 
> but the line:
> 
> (None,EOF,Here,MatchOk)
> 
> will make text = "aa(AA" match too. If I analysed it correctly,
> it is because EOF matches allways. Would it be possible
> to add mxTextTool parameter that will make EOF cause failing if necessary ?
> 
> Something like: "if EOF is encountered here, fail the whole subgroup ?"

EOF only matches iff the head position is beyond the right slice
of the text slice being processed. If you need balanced parens,
you should rewrite the tab tables to have the nesting table match
both the opening and the closing paren.

> -pekka-
> 
> 
> "M.-A. Lemburg" wrote:
> 
> 
>>Pekka Niiranen wrote:
>>
>>>Hi,
>>>
>>>        I tried the latest beta 3 by:
>>>
>>>        a) compiling it myself from sources and
>>>        b) installing from the precompiled package for python v2.2
>>>
>>>        Of the scripts below only the script that uses Simpleparse returns
>>>anything.
>>>        The others run without errors, but return [].
>>>
>>>        They all run OK with the beta 2 though.
>>
>>If they did, then you've hit a bug in beta2. Here are the corrected
>>versions. Note that the problem was with the EOF handling. If AllNotIn
>>doesn't match at least one char it'll fail and using 0 as jne offset
>>causes the same effect as MatchFail.
>>
>>#--- solution 1 starts (with limiting letters)---
>>
>>from mx.TextTools import *
>>
>>def test1():
>>
>>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>     tables = [] # used for recursion only
>>
>>     tab = ('start',
>>            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
>>            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
>>            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
>>            (None,EOF,Here,MatchOk),
>>            'nesting',
>>            ('group',SubTable+AppendMatch,
>>             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
>>              (None,SubTableInList, (tables,0)),  # Recurse
>>              )
>>             ),
>>            (None,Jump,To,'start')) # After recursion jump back to 'start'
>>
>>     tables.append(tab) # Add tab to tables
>>
>>     result, taglist, nextindex = tag(text,tab)
>>     print result, nextindex
>>     print taglist
>>
>>#--- solution 2 starts  (without limiting letters) ---
>>
>>def test2():
>>
>>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>     tab = ('start',
>>            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
>>            (None, Is, '(', 'letters', +1),
>>            ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
>>            'letters',
>>            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
>>            (None, EOF, Here, MatchOk),
>>            )
>>
>>     result,taglist,nextindex = tag(text, tab)
>>     print result, nextindex
>>     print taglist
>>
>>print 'Test 1:'
>>test1()
>>print
>>
>>print 'Test 2:'
>>test2()
>>print
>>
>>
>>>        I am using Windows 2000 professional, Python 2.2.1 and Winpython
>>>v148.
>>>
>>>-pekka-
>>>
>>>
>>>Pekka Niiranen wrote:
>>>
>>>
>>>
>>>>Thank you all for your help and inspiration! It is payback time ;)
>>>>
>>>>I have tried past two months to create parser that returns
>>>>strings limited by two different letters. The strings can be nested.
>>>>I considered recursive call of regular expression to be too slow
>>>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
>>>>Simpleparse 2.0.
>>>>
>>>>Below are three solutions I found.
>>>>Note that Simpleparse creates different tagtable as the "manually"
>>>>found.
>>>>
>>>>Further ideas to be implemented:
>>>>
>>>>1) Input of limiting letters as parameters (easy)
>>>>2) Unicode support
>>>>3) Test for equal amount of limiting letters before calling of parser
>>>>(will this speed up the solution ?)
>>>>4) Parsing one line at a time without looping thru lines of the text
>>>>with "while" or "for"
>>>>   (maybe "None, AllNotIn, '()\n'" )
>>>>
>>>>One development idea to mxTextTools:
>>>>
>>>>1) Instead of using list of tables to recurse, would it be possible to
>>>>use "global jump" to outside of current table ?
>>>>
>>>>--- solution 1 starts (with limiting letters)---
>>>>
>>>
>>>>from mx.TextTools import *
>>>
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>tables = [] # used for recursion only
>>>>
>>>>tab = ('start',
>>>>      (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
>>>>then recurse
>>>>      (None,Is,')',+1,MatchOk), # If current character is ")" then stop
>>>>or return from recursion
>>>>      (None,AllNotIn,'()',0,'start'), # Search all characters except
>>>>"(" and ")"
>>>>      'nesting',
>>>>      ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
>>>>have looked ahead, collect "(" -sign
>>>>                                     (None,SubTableInList,
>>>>(tables,0)))), # Recurse
>>>>      (None,Jump,To,'start')) # After recursion jump back to 'start'
>>>>
>>>>tables.append(tab) # Add tab to tables
>>>>
>>>>if __name__ == '__main__':
>>>>
>>>>   result, taglist, nextindex = tag(text,tab)
>>>>   print taglist
>>>>
>>>>--- solution 1 ends ---
>>>>
>>>>--- solution 2 starts  (without limiting letters) ---
>>>>
>>>
>>>>from mx.TextTools import *
>>>
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>
>>>>tab = ('start',
>>>>      (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
>>>>seen stop recursion
>>>>      (None, Is, '(', 'letters', +1),
>>>>      ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>>>      (None, Skip, 1, 0, 'start'), # Last character in recursion was
>>>>")" so jump over it back to 'start'
>>>>      'letters',
>>>>      (None, AllNotIn, '()', 0, 'start')) # Collect all characters
>>>>except "(" and ")"
>>>>
>>>>result,taglist,next = tag(text, tab)
>>>>print taglist
>>>>
>>>>--- solution 2 ends ---
>>>>
>>>>--- solution 3 starts (Simpleparse solution) ---
>>>>
>>>
>>>>from simpleparse.parser import Parser
>>>>from mx.TextTools import *
>>>
>>>>declaration = r'''
>>>>
>>>>
>>>>>line<  := (a/match)+
>>>>
>>>>match   := '(', line, ')'
>>>><a>     := -[()]
>>>>'''
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>
>>>>parser = Parser(declaration)
>>>>success, children, nextcharacter = parser.parse(text, production =
>>>>"line")
>>>>print_tags(text,children)
>>>>
>>>>--- solution 3 ends ---
>>>>
>>>>-pekka-
>>>
>>>
>>>
>>>_______________________________________________________________________
>>>eGenix.com User Mailing List                     http://www.egenix.com/
>>>http://lists.egenix.com/mailman/listinfo/egenix-users
>>
>>--
>>Marc-Andre Lemburg
>>CEO eGenix.com Software GmbH
>>_______________________________________________________________________
>>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
>>Python Consulting:                               http://www.egenix.com/
>>Python Software:                    http://www.egenix.com/files/python/
>>
>>_______________________________________________________________________
>>eGenix.com User Mailing List                     http://www.egenix.com/
>>http://lists.egenix.com/mailman/listinfo/egenix-users
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Sat Aug  3 21:51:24 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g73JpNU14097
	for <egenix-users@lists.egenix.com>; Sat, 3 Aug 2002 21:51:23 +0200
Received: from vip.fi (DynIP-132-219.Tre.vip.fi [213.173.132.219])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA26947;
	Sat, 3 Aug 2002 22:50:44 +0300
Message-ID: <3D4C3407.CC74698F@vip.fi>
Date: Sat, 03 Aug 2002 22:50:31 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com> <3D459635.129291C2@vip.fi> <3D459971.5030207@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Is this possible ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok,

 I did as you told:

-- code starts --
from mx.TextTools import *
text = "Xaa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aaY"

tables = []

tab = ('start',
       (None, AllNotIn,'()', +1),
       (None, Is+LookAhead, '(', MatchOk, 'nesting'),
       'nesting',
       ('group',SubTable+AppendMatch,((None, Is, '(', +1),
                                      (None, SubTableInList, (tables,0)),
                                      (None, Is, ')', MatchFail, MatchOk))),
       (None,Jump,To,'start'))

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

-- code ends --

There remains one quirk (see code above):

The code stops searching whenever there is an extra ) -sign in the middle of text.
How can I make the engine to return nothing (i.e. empty match)
if there are extra ) -sign AND it is not recursing currently ?

Should we have a parameter:  "Fail if not currently recursing" ?

Try adding ) -sign after X -letter and then after Y -letter in text above. In both cases
the result should be an empty match.

This is a matter of taste, I agree, but then one could always say:
"It did not find anything, because of the number of (- and )- signs
did not add up". => one python error message that
I could print when MatchFail happens => less analysing to do => more speed.
In code above only extra ( -signs make engine fail.

-pekka-

"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > Fine,
> >
> > but the line:
> >
> > (None,EOF,Here,MatchOk)
> >
> > will make text = "aa(AA" match too. If I analysed it correctly,
> > it is because EOF matches allways. Would it be possible
> > to add mxTextTool parameter that will make EOF cause failing if necessary ?
> >
> > Something like: "if EOF is encountered here, fail the whole subgroup ?"
>
> EOF only matches iff the head position is beyond the right slice
> of the text slice being processed. If you need balanced parens,
> you should rewrite the tab tables to have the nesting table match
> both the opening and the closing paren.
>
> > -pekka-
> >
> >
> > "M.-A. Lemburg" wrote:
> >
> >
> >>Pekka Niiranen wrote:
> >>
> >>>Hi,
> >>>
> >>>        I tried the latest beta 3 by:
> >>>
> >>>        a) compiling it myself from sources and
> >>>        b) installing from the precompiled package for python v2.2
> >>>
> >>>        Of the scripts below only the script that uses Simpleparse returns
> >>>anything.
> >>>        The others run without errors, but return [].
> >>>
> >>>        They all run OK with the beta 2 though.
> >>
> >>If they did, then you've hit a bug in beta2. Here are the corrected
> >>versions. Note that the problem was with the EOF handling. If AllNotIn
> >>doesn't match at least one char it'll fail and using 0 as jne offset
> >>causes the same effect as MatchFail.
> >>
> >>#--- solution 1 starts (with limiting letters)---
> >>
> >>from mx.TextTools import *
> >>
> >>def test1():
> >>
> >>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>     tables = [] # used for recursion only
> >>
> >>     tab = ('start',
> >>            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
> >>            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
> >>            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
> >>            (None,EOF,Here,MatchOk),
> >>            'nesting',
> >>            ('group',SubTable+AppendMatch,
> >>             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
> >>              (None,SubTableInList, (tables,0)),  # Recurse
> >>              )
> >>             ),
> >>            (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>
> >>     tables.append(tab) # Add tab to tables
> >>
> >>     result, taglist, nextindex = tag(text,tab)
> >>     print result, nextindex
> >>     print taglist
> >>
> >>#--- solution 2 starts  (without limiting letters) ---
> >>
> >>def test2():
> >>
> >>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>     tab = ('start',
> >>            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
> >>            (None, Is, '(', 'letters', +1),
> >>            ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
> >>            'letters',
> >>            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
> >>            (None, EOF, Here, MatchOk),
> >>            )
> >>
> >>     result,taglist,nextindex = tag(text, tab)
> >>     print result, nextindex
> >>     print taglist
> >>
> >>print 'Test 1:'
> >>test1()
> >>print
> >>
> >>print 'Test 2:'
> >>test2()
> >>print
> >>
> >>
> >>>        I am using Windows 2000 professional, Python 2.2.1 and Winpython
> >>>v148.
> >>>
> >>>-pekka-
> >>>
> >>>
> >>>Pekka Niiranen wrote:
> >>>
> >>>
> >>>
> >>>>Thank you all for your help and inspiration! It is payback time ;)
> >>>>
> >>>>I have tried past two months to create parser that returns
> >>>>strings limited by two different letters. The strings can be nested.
> >>>>I considered recursive call of regular expression to be too slow
> >>>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> >>>>Simpleparse 2.0.
> >>>>
> >>>>Below are three solutions I found.
> >>>>Note that Simpleparse creates different tagtable as the "manually"
> >>>>found.
> >>>>
> >>>>Further ideas to be implemented:
> >>>>
> >>>>1) Input of limiting letters as parameters (easy)
> >>>>2) Unicode support
> >>>>3) Test for equal amount of limiting letters before calling of parser
> >>>>(will this speed up the solution ?)
> >>>>4) Parsing one line at a time without looping thru lines of the text
> >>>>with "while" or "for"
> >>>>   (maybe "None, AllNotIn, '()\n'" )
> >>>>
> >>>>One development idea to mxTextTools:
> >>>>
> >>>>1) Instead of using list of tables to recurse, would it be possible to
> >>>>use "global jump" to outside of current table ?
> >>>>
> >>>>--- solution 1 starts (with limiting letters)---
> >>>>
> >>>
> >>>>from mx.TextTools import *
> >>>
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>tables = [] # used for recursion only
> >>>>
> >>>>tab = ('start',
> >>>>      (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> >>>>then recurse
> >>>>      (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> >>>>or return from recursion
> >>>>      (None,AllNotIn,'()',0,'start'), # Search all characters except
> >>>>"(" and ")"
> >>>>      'nesting',
> >>>>      ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> >>>>have looked ahead, collect "(" -sign
> >>>>                                     (None,SubTableInList,
> >>>>(tables,0)))), # Recurse
> >>>>      (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>>>
> >>>>tables.append(tab) # Add tab to tables
> >>>>
> >>>>if __name__ == '__main__':
> >>>>
> >>>>   result, taglist, nextindex = tag(text,tab)
> >>>>   print taglist
> >>>>
> >>>>--- solution 1 ends ---
> >>>>
> >>>>--- solution 2 starts  (without limiting letters) ---
> >>>>
> >>>
> >>>>from mx.TextTools import *
> >>>
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>
> >>>>tab = ('start',
> >>>>      (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> >>>>seen stop recursion
> >>>>      (None, Is, '(', 'letters', +1),
> >>>>      ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>>>      (None, Skip, 1, 0, 'start'), # Last character in recursion was
> >>>>")" so jump over it back to 'start'
> >>>>      'letters',
> >>>>      (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> >>>>except "(" and ")"
> >>>>
> >>>>result,taglist,next = tag(text, tab)
> >>>>print taglist
> >>>>
> >>>>--- solution 2 ends ---
> >>>>
> >>>>--- solution 3 starts (Simpleparse solution) ---
> >>>>
> >>>
> >>>>from simpleparse.parser import Parser
> >>>>from mx.TextTools import *
> >>>
> >>>>declaration = r'''
> >>>>
> >>>>
> >>>>>line<  := (a/match)+
> >>>>
> >>>>match   := '(', line, ')'
> >>>><a>     := -[()]
> >>>>'''
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>
> >>>>parser = Parser(declaration)
> >>>>success, children, nextcharacter = parser.parse(text, production =
> >>>>"line")
> >>>>print_tags(text,children)
> >>>>
> >>>>--- solution 3 ends ---
> >>>>
> >>>>-pekka-
> >>>
> >>>
> >>>
> >>>_______________________________________________________________________
> >>>eGenix.com User Mailing List                     http://www.egenix.com/
> >>>http://lists.egenix.com/mailman/listinfo/egenix-users
> >>
> >>--
> >>Marc-Andre Lemburg
> >>CEO eGenix.com Software GmbH
> >>_______________________________________________________________________
> >>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> >>Python Consulting:                               http://www.egenix.com/
> >>Python Software:                    http://www.egenix.com/files/python/
> >>
> >>_______________________________________________________________________
> >>eGenix.com User Mailing List                     http://www.egenix.com/
> >>http://lists.egenix.com/mailman/listinfo/egenix-users
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Aug  8 21:13:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JD0U30959;
	Thu, 8 Aug 2002 21:13:00 +0200
Message-ID: <3D52C2C4.1080800@lemburg.com>
Date: Thu, 08 Aug 2002 21:13:08 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

           eGenix.com mx BASE Extension Package for Python
                         Version 2.1.0 beta 4


Here is a new beta release of the 2.1.0 base package. It contains
a number of small bug fixes, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package), adds better support for applications
which embed Python and adds a new clause to the license which
allows integrating third party software under different licenses.

http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip


Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Aug  8 21:26:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JQAU31084;
	Thu, 8 Aug 2002 21:26:10 +0200
Message-ID: <3D52C5DA.5000409@lemburg.com>
Date: Thu, 08 Aug 2002 21:26:18 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: John.N.1@bwc.state.oh.us
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict setting keys/comparison to shelve
References: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

John.N.1@bwc.state.oh.us wrote:
> Does anyone have comments on using Bdict instead of a standard shelf or
> bsddb ver3?
> 
> Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
> first delete the key and then set it's value.
> Should that be the case?
> 
> When I run:
> 
>     d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
>     print 'original',d['Marc9']
>     d['Marc9']='betty1'
>     d.commit()
>     print 'dict change\t',d.changed(),d['Marc9']
> 
>     del(d['Marc9'])
>     d.commit()
>     d['Marc9']='betty2'
>     print 'del dict change\t',d.changed(),d['Marc9']
>     d.close()
> 
> 
> produces:
> 
> original Sveta
> dict change     0 Sveta
> del dict change 1 betty2

FYI, with egenix-mx-base 2.1.0b4 I get:

import mx.BeeBase.BeeDict

def test():
     d = mx.BeeBase.BeeDict.BeeDict('testjohn.dat')
     d['Marc9']='Sveta'
     d.commit()
     d.close()

     d = mx.BeeBase.BeeDict.BeeDict('testjohn.dat')
     print 'original',d['Marc9']
     d['Marc9']='betty1'
     d.commit()
     print 'dict change\t',d.changed(),d['Marc9']

     del(d['Marc9'])
     d.commit()
     d['Marc9']='betty2'
     print 'del dict change\t',d.changed(),d['Marc9']
     d.close()


test()

...

original Sveta
dict change     0 betty1
del dict change 1 betty2

Note that the 0 on the first change line indicates that
there are no changes in the cache (because you have called
.commit() on the line before). The second change line
still has the change in the cache, so 1 is returned and
the .close() will roll back the transaction.

HTH,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From Jim.Vickroy@noaa.gov Thu Aug  8 21:41:51 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JfpU31206
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 21:41:51 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id H0JIPL00.OI5; Thu, 8 Aug 2002 13:41:45 -0600 
Message-ID: <3D52C97A.7661C06@noaa.gov>
Date: Thu, 08 Aug 2002 13:41:46 -0600
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

When I try to download the MS Windows binary installer for Python 2.2, I am
prompted for a name and password.


"M.-A. Lemburg" wrote:

>            eGenix.com mx BASE Extension Package for Python
>                          Version 2.1.0 beta 4
>
> Here is a new beta release of the 2.1.0 base package. It contains
> a number of small bug fixes, esp. in the mxTextTools package
> (most of these were found by Mike C. Fletcher who uses it in
> his SimpleParse package), adds better support for applications
> which embed Python and adds a new clause to the license which
> allows integrating third party software under different licenses.
>
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip
>
> Thanks,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From krissepu@vip.fi Thu Aug  8 21:48:54 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JmrU31292
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 21:48:53 +0200
Received: from vip.fi (DynIP-132-89.Tre.vip.fi [213.173.132.89])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA11874;
	Thu, 8 Aug 2002 22:48:04 +0300
Message-ID: <3D52CAE3.F4D92A92@vip.fi>
Date: Thu, 08 Aug 2002 22:47:48 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: "M.-A. Lemburg" <mal@lemburg.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am prompted too and my egenix's userlist username+password do not work..

Jim Vickroy wrote:

> When I try to download the MS Windows binary installer for Python 2.2, I am
> prompted for a name and password.
>
> "M.-A. Lemburg" wrote:
>
> >            eGenix.com mx BASE Extension Package for Python
> >                          Version 2.1.0 beta 4
> >
> > Here is a new beta release of the 2.1.0 base package. It contains
> > a number of small bug fixes, esp. in the mxTextTools package
> > (most of these were found by Mike C. Fletcher who uses it in
> > his SimpleParse package), adds better support for applications
> > which embed Python and adds a new clause to the license which
> > allows integrating third party software under different licenses.
> >
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip
> >
> > Thanks,
> > --
> > Marc-Andre Lemburg
> > CEO eGenix.com Software GmbH
> > _______________________________________________________________________
> > eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> > Python Consulting:                               http://www.egenix.com/
> > Python Software:                    http://www.egenix.com/files/python/
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Thu Aug  8 21:51:45 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JpjU31353;
	Thu, 8 Aug 2002 21:51:45 +0200
Message-ID: <3D52CBDA.2050603@lemburg.com>
Date: Thu, 08 Aug 2002 21:51:54 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:
> When I try to download the MS Windows binary installer for Python 2.2, I am
> prompted for a name and password.

Oh dear. Same mistake as last time...

> "M.-A. Lemburg" wrote:
> 
> 
>>           eGenix.com mx BASE Extension Package for Python
>>                         Version 2.1.0 beta 4
>>
>>Here is a new beta release of the 2.1.0 base package. It contains
>>a number of small bug fixes, esp. in the mxTextTools package
>>(most of these were found by Mike C. Fletcher who uses it in
>>his SimpleParse package), adds better support for applications
>>which embed Python and adds a new clause to the license which
>>allows integrating third party software under different licenses.

Here are the correct URLs:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.zip

Sorry,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From bhoel@web.de Thu Aug  8 22:02:51 2002
Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.185])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78K2pU31512
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 22:02:51 +0200
Received: from [212.227.126.160] (helo=mrelayng0.kundenserver.de)
	by moutng7.kundenserver.de with esmtp (Exim 3.35 #2)
	id 17ctUR-0000aJ-00; Thu, 08 Aug 2002 22:02:35 +0200
Received: from [80.129.132.188] (helo=pchoel.privat.uni-hamburg.de)
	by mrelayng0.kundenserver.de with asmtp (Exim 3.35 #2)
	id 17ctUQ-00052D-00; Thu, 08 Aug 2002 22:02:35 +0200
Received: by pchoel.privat.uni-hamburg.de (Postfix on SuSE Linux 8.0 (i386), from userid 501)
	id DFFDEC9EE; Thu,  8 Aug 2002 22:02:26 +0200 (CEST)
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
References: <3D52C2C4.1080800@lemburg.com>
From: bhoel@web.de (Berthold =?iso-8859-15?q?H=F6llmann?=)
Date: 08 Aug 2002 22:02:26 +0200
In-Reply-To: <3D52C2C4.1080800@lemburg.com>
Message-ID: <m2u1m5w23x.fsf@pchoel.privat.uni-hamburg.de>
Lines: 27
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] Re: ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

"M.-A. Lemburg" <mal@lemburg.com> writes:

>            eGenix.com mx BASE Extension Package for Python
>                          Version 2.1.0 beta 4

Hello,

Trying to download egenix-mx-base-2.1.0b4.tar.gz I get

> env LANG=C wget http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
--22:01:59--  http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
           => `egenix-mx-base-2.1.0b4.tar.gz'
Resolving www.egenix.com... done.
Connecting to www.egenix.com[217.115.138.139]:80... connected.
HTTP request sent, awaiting response... 401 Authorization Required
Authorization failed.

I Authorization really needed?

Cheers

Berthold
-- 
bhoel@web.de / http://starship.python.net/crew/bhoel/
        It is unlawful to use this email address for unsolicited ads
        (USC Title 47 Sec.227). I will assess a US$500 charge for
        reviewing and deleting each unsolicited ad.

From mal@lemburg.com Thu Aug  8 22:05:06 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78K56U31547;
	Thu, 8 Aug 2002 22:05:06 +0200
Message-ID: <3D52CEFB.2050704@lemburg.com>
Date: Thu, 08 Aug 2002 22:05:15 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: =?ISO-8859-1?Q?Berthold_H=F6llmann?= <bhoel@web.de>
CC: egenix-users@lists.egenix.com
References: <3D52C2C4.1080800@lemburg.com> <m2u1m5w23x.fsf@pchoel.privat.uni-hamburg.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: [egenix-users] Re: ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>


Berthold Höllmann wrote:
> "M.-A. Lemburg" <mal@lemburg.com> writes:
> 
> 
>>           eGenix.com mx BASE Extension Package for Python
>>                         Version 2.1.0 beta 4
> 
> 
> Hello,
> 
> Trying to download egenix-mx-base-2.1.0b4.tar.gz I get
> 
> 
>>env LANG=C wget http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> 
> --22:01:59--  http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
>            => `egenix-mx-base-2.1.0b4.tar.gz'
> Resolving www.egenix.com... done.
> Connecting to www.egenix.com[217.115.138.139]:80... connected.
> HTTP request sent, awaiting response... 401 Authorization Required
> Authorization failed.
> 
> I Authorization really needed?

No the URL was wrong... try without hthe /beta/.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Fri Aug  9 10:02:02 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79821U05847;
	Fri, 9 Aug 2002 10:02:02 +0200
Message-ID: <3D5376FD.7060206@lemburg.com>
Date: Fri, 09 Aug 2002 10:02:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
CC: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov> <3D52CBDA.2050603@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I just noted that there seems to be a problem in the install_data
command of mxSetup.py. As a result, the data files will always
be placed in the $prefix directory, which is /usr/local or \PythonX.X
on Windows.

I guess there's no other way to fix this than to ship yet another
beta version, since pretty much all archives posted yesterday
have this problem... lucky that I'm not on vacation until next
Wednesday :-)

I'll post a new set later today.

Sorry for the mixups,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Fri Aug  9 12:14:17 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79AEHU06660;
	Fri, 9 Aug 2002 12:14:17 +0200
Message-ID: <3D5395FD.10709@lemburg.com>
Date: Fri, 09 Aug 2002 12:14:21 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b5
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

            eGenix.com mx BASE Extension Package for Python
                          Version 2.1.0 beta 5


Here is a new beta release of the 2.1.0 base package. It contains
a number of small bug fixes, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package), adds better support for applications
which embed Python and adds a new clause to the license which
allows integrating third party software under different licenses.

Beta 5 fixes a bug in the installation scripts which caused the
included text and support files to be installed in the $prefix
directory rather than under site-packages.

These are the available download links:
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 17:07:21 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79F7KU08804
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 17:07:20 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 11:07:20 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMM81>; Fri, 9 Aug 2002 11:07:20 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A650@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Date: Fri, 9 Aug 2002 11:07:16 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 15:07:20.0465 (UTC) FILETIME=[75513810:01C23FB6]
Subject: [egenix-users] Windows debug build of mxDateTime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

For various reasons I'd like to get my hands on a debug build of mxDateTime
for Windows for Python 1.5.2.  I've downloaded the source and successfully
compiled the regular release version, but I don't see any obvious way to get
it to build a debug version (i.e. the mxDateTime_d.pyd that can be used with
a python_d.exe debug build of Python).

Anyone know how to get this to happen?

- Geoff

From mal@lemburg.com Fri Aug  9 20:24:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IO1U10304;
	Fri, 9 Aug 2002 20:24:35 +0200
Message-ID: <3D5408CA.5000902@lemburg.com>
Date: Fri, 09 Aug 2002 20:24:10 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Geoffrey Talvola <gtalvola@nameconnector.com>
CC: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Windows debug build of mxDateTime
References: <61957B071FF421419E567A28A45C7FE514A650@MAILBOX.nameconnector.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Geoffrey Talvola wrote:
> For various reasons I'd like to get my hands on a debug build of mxDateTime
> for Windows for Python 1.5.2.  I've downloaded the source and successfully
> compiled the regular release version, but I don't see any obvious way to get
> it to build a debug version (i.e. the mxDateTime_d.pyd that can be used with
> a python_d.exe debug build of Python).
> 
> Anyone know how to get this to happen?

python setup.py install --debug

should get you there, but you are on your own then... I only
rarely build a debug version myself, so it's not clear whether
that setup works or not (esp. because memory allocation is different
in debug builds and I know of at least one bug which will be
fixed in 2.1.0).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 20:37:02 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79Ib2U10419
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 20:37:02 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 14:36:52 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMN1Y>; Fri, 9 Aug 2002 14:36:52 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A654@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'M.-A. Lemburg'" <mal@lemburg.com>
Cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] Windows debug build of mxDateTime
Date: Fri, 9 Aug 2002 14:36:47 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 18:36:52.0519 (UTC) FILETIME=[BAD86B70:01C23FD3]
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Geoffrey Talvola wrote:
> > For various reasons I'd like to get my hands on a debug 
> build of mxDateTime
> > for Windows for Python 1.5.2.  I've downloaded the source 
> and successfully
> > compiled the regular release version, but I don't see any 
> obvious way to get
> > it to build a debug version (i.e. the mxDateTime_d.pyd that 
> can be used with
> > a python_d.exe debug build of Python).
> > 
> > Anyone know how to get this to happen?
> 
> python setup.py install --debug
> 
> should get you there, but you are on your own then... I only
> rarely build a debug version myself, so it's not clear whether
> that setup works or not (esp. because memory allocation is different
> in debug builds and I know of at least one bug which will be
> fixed in 2.1.0).

Thanks.  Actually, that didn't work (it didn't recognize the --debug
option), but

	python setup.py build --debug

did work and built the dlls I need.

- Geoff

From mal@lemburg.com Fri Aug  9 20:51:29 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IpTU10556;
	Fri, 9 Aug 2002 20:51:29 +0200
Message-ID: <3D540F3A.4040201@lemburg.com>
Date: Fri, 09 Aug 2002 20:51:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Geoffrey Talvola <gtalvola@nameconnector.com>
CC: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Windows debug build of mxDateTime
References: <61957B071FF421419E567A28A45C7FE514A654@MAILBOX.nameconnector.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Geoffrey Talvola wrote:
> M.-A. Lemburg wrote:
> 
>>python setup.py install --debug
>>
>>should get you there, but you are on your own then... I only
>>rarely build a debug version myself, so it's not clear whether
>>that setup works or not (esp. because memory allocation is different
>>in debug builds and I know of at least one bug which will be
>>fixed in 2.1.0).
> 
> 
> Thanks.  Actually, that didn't work (it didn't recognize the --debug
> option), but
> 
> 	python setup.py build --debug
> 
> did work and built the dlls I need.

Funny, that's what I tested (since I didn't want to overwrite
my installation with a debug build). It's strange how distutils
sometimes support command line argument syndication and sometimes
doesn't.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 20:56:54 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IurU10611
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 20:56:53 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 14:56:53 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMNF3>; Fri, 9 Aug 2002 14:56:53 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A655@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'M.-A. Lemburg'" <mal@lemburg.com>
Cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] Windows debug build of mxDateTime
Date: Fri, 9 Aug 2002 14:56:46 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 18:56:53.0672 (UTC) FILETIME=[86C9D280:01C23FD6]
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Geoffrey Talvola wrote:
> > M.-A. Lemburg wrote:
> > 
> >>python setup.py install --debug
> >>
> >>should get you there, but you are on your own then... I only
> >>rarely build a debug version myself, so it's not clear whether
> >>that setup works or not (esp. because memory allocation is different
> >>in debug builds and I know of at least one bug which will be
> >>fixed in 2.1.0).
> > 
> > 
> > Thanks.  Actually, that didn't work (it didn't recognize the --debug
> > option), but
> > 
> > 	python setup.py build --debug
> > 
> > did work and built the dlls I need.
> 
> Funny, that's what I tested (since I didn't want to overwrite
> my installation with a debug build). It's strange how distutils
> sometimes support command line argument syndication and sometimes
> doesn't.

After running the above build command both with and without the --debug
flag, then "python setup.py install" installed both the release _and_ debug
.pyd's to the correct destination.  There's no problem of overwriting the
installation with a debug build because the filenames are different;
mxDateTime_d.pyd gets used if you're running python_d.exe and mxDateTime.pyd
gets used if you're running python.exe.  They live happily side by side.

This is exactly what I wanted, so I'm happy :-)

- Geoff

From krissepu@vip.fi Sun Aug 11 21:08:54 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7BJ8gU28676
	for <egenix-users@lists.egenix.com>; Sun, 11 Aug 2002 21:08:54 +0200
Received: from vip.fi (DynIP-132-142.Tre.vip.fi [213.173.132.142])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA21586
	for <egenix-users@lists.egenix.com>; Sun, 11 Aug 2002 22:08:26 +0300
Message-ID: <3D56B619.1060001@vip.fi>
Date: Sun, 11 Aug 2002 22:08:09 +0300
From: Pekka Niiranen <krissepu@vip.fi>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Help needed for context object in mxTextTools 2.1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I am currently perfecting my parser by
trying to add error messages to it.
I found error messages mentioned in documentation
were context object were explained, but had problems
understanding what is meant with "context".

If I understood correctly I should be able to:

1)  instead of saying "MatchFail", jump to a location
     were I call python function that prints Errortext first and
     only then call "MatchFail".

2)  set flag that tells I am recursing at the moment and at error
     check flag and print messages according to flags' value.

a) Should I use Call or CallTag -function ?
b) What is the difference of adding Python function to tag() -command 
instead of  using CallTag ?
c) should I use mxStack instead of a python variable for the flag ? This 
is a speed issue.
d) Merging error printing with mxTextTools C-engine's MatchFail -state. 
Possible ?

---code starts ---

NOTE: IF-ELSE -structure can (and must ?) be implemented with jumps.

from mx.TextTools import *

text = "Xaa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aaY"

tables = []

tab = ('start',
       (None, AllNotIn,'()', +1),
       (None, Is+LookAhead, '(', "IF FLAG IS NOT SET PRINT ERROR 
'SPURIOUS )-SIGN' and MatchFail"\
                                                 ELSE UNSET FLAG and 
MatchOk", 'nesting'),
       'nesting',
       "SET FLAG ON",
       ('group',SubTable+AppendMatch,((None, Is, '(', +1),
                                      (None, SubTableInList, (tables,0)),
                                      (None, Is, ')', "PRINT ERROR 
'SPURIOUS (-SIGN' and MatchFail", MatchOk))),
       (None,Jump,To,'start'))

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

--code stops---

-pekka-


From krissepu@vip.fi Sat Aug 17 20:11:12 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7HIB7U22234
	for <egenix-users@lists.egenix.com>; Sat, 17 Aug 2002 20:11:11 +0200
Received: from vip.fi (DynIP-132-253.Tre.vip.fi [213.173.132.253])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id VAA28123
	for <egenix-users@lists.egenix.com>; Sat, 17 Aug 2002 21:11:00 +0300
Message-ID: <3D5E91A0.508@vip.fi>
Date: Sat, 17 Aug 2002 21:10:40 +0300
From: Pekka Niiranen <krissepu@vip.fi>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Use of function in mxTextTools
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

if I call function when string matches, is it
possible to specify inside function the action that is taken ?

I am considering a function that checks whether a "match" is valid:
if match = = valid:
    continue as if string matched
else.
    continue as if match failed.

In other words I should be able to include some additonal
logic to simple character check in order to evaluate whether I
have a valid match. That logic should be python or C -code.

What I miss is access to recursion state: for example a flag
that is accessible with mxTextTool's parameters and that tells
wheter mxTextTools is recursing at the moment

-pekka-

       


From mcfletch@rogers.com Sun Aug 25 22:38:58 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7PKcsU00569
	for <egenix-users@lists.egenix.com>; Sun, 25 Aug 2002 22:38:57 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020825203844.YZTE4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Sun, 25 Aug 2002 16:38:44 -0400
Message-ID: <3D69404F.30501@rogers.com>
Date: Sun, 25 Aug 2002 16:38:39 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: SimpleParse Users <simpleparse-users@lists.sourceforge.net>,
   Python List
 <python-list@python.org>,
   egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 25 Aug 2002 16:38:44 -0400
Subject: [egenix-users] [ANN] SimpleParse 2.0.0 final released
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I have just released version 2.0.0 of the SimpleParse parser-generation 
system.  Version 2.0.0 is a major upgrade from SimpleParse 1.0 include a 
significant set of new features and a completely rewritten core engine, 
but it should still be compatible with your 1.0 grammars.

     http://simpleparse.sourceforge.net/

for optimal operation, I would suggest using Python 2.2.x and 
mxTextTools 2.1.x, but the package should run (though in some cases with 
subtle errors, particularly when using mxTextTools 2.0.x) under 1.5.2 
and above with mxTextTools 2.0.x and above.

About SimpleParse...

SimpleParse is a BSD-licensed Python package providing a simple parser 
generator for use with the mxTextTools text-tagging engine. SimpleParse 
allows you to generate tagging tables for use with the text-tagging 
engine directly from your EBNF grammar.

Unlike most parser generators, SimpleParse generates single-pass parsers 
(there is no distinct tokenization stage), an approach taken from the 
predecessor project (mcf.pars) which attempted to create "autonomously 
parsing regex objects". The resulting parsers are not as generalized as 
those created by, for instance, the Earley algorithm, but they do tend 
to be useful for the parsing of computer file formats and the like (as 
distinct from natural language and similar "hard" parsing problems).

See:
     http://simpleparse.sourceforge.net/
for details and documentation.

Have fun,
Mike
_______________________________________
   Mike C. Fletcher
   Designer, VR Plumber, Coder
   http://members.rogers.com/mcfletch/


From liste@publisher.de Tue Aug 27 10:04:21 2002
Received: from mailb.telia.com (mailb.telia.com [194.22.194.6])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7R84KU14634
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:21 +0200
Received: from d1o1069.telia.com (d1o1069.telia.com [212.181.173.241])
	by mailb.telia.com (8.12.5/8.12.5) with ESMTP id g7R840Ih021667
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:00 +0200 (CEST)
X-Original-Recipient: <egenix-users@lists.egenix.com>
Received: from gustav.entenhausen (h22n2fls20o1069.telia.com [213.64.217.22])
	by d1o1069.telia.com (8.10.2/8.10.1) with ESMTP id g7R840n28909
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:00 +0200 (CEST)
Date: Tue, 27 Aug 2002 10:04:00 +0200
From: Ulrich Wisser <liste@publisher.de>
X-Mailer: The Bat! (v1.61) Business
Reply-To: Ulrich Wisser <u.wisser@publisher.de>
Organization: WWW Publisher
X-Priority: 3 (Normal)
Message-ID: <17964083724.20020827100400@publisher.de>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] strftime restricted
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello,

I installed mxDateTime 2.0.3 on Zope 2.5.1 (python 2.1).
When I try to access strftime from Zope DTML documents I get
an "Unauthorized" error.

Any ideas?

Regards

Ulrich

-- 
Searchengine Know How  - Webpromotion - Optimization - Internal Search
World Wide Web Publisher, Ulrich Wisser, Odensvag 13, S-14571 Norsborg
http://www.publisher.de   Tel: +46-8-53460905    Fax: +46-8-534 609 06


From mcfletch@rogers.com Wed Aug 28 06:27:13 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7S4RCU23141
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 06:27:13 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020828042703.PIF4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>
          for <egenix-users@lists.egenix.com>;
          Wed, 28 Aug 2002 00:27:03 -0400
Message-ID: <3D6C50FF.7080505@rogers.com>
Date: Wed, 28 Aug 2002 00:26:39 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Wed, 28 Aug 2002 00:27:03 -0400
Subject: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've been poking at this problem for a while now, basically, my attempts 
always fail with this error:

c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttools.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.def 
-LC:\bin\lang\py22\libs -L/lib -lpython22 -o 
build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1b74):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1bf0):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x2fb4):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x3030):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Which, is just about what VC++6 also complains about as well:
    Creating library 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.lib 
and object 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.exp
LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type" imported


Now, if I understand this problem correctly, the __declspec( dllexport ) 
stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is 
somehow making mxTagTable_Type wind up mangled as if it were a 
dll-loaded function within mxte.c instead of a locally-defined but 
exported one?  VC++ seems able to work about it, but not MingW32.

I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
problem would be.  All discussions I can find on the web about it seem 
to assume it's such an obvious fix that there's no point describing it :o/ .

Any suggestions welcome,
Mike
_______________________________________
   Mike C. Fletcher
   Designer, VR Plumber, Coder
   http://members.rogers.com/mcfletch/



From liste@publisher.de Wed Aug 28 09:39:40 2002
Received: from maile.telia.com (maile.telia.com [194.22.190.16])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7S7deU24277
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:40 +0200
Received: from d1o1069.telia.com (d1o1069.telia.com [212.181.173.241])
	by maile.telia.com (8.12.5/8.12.5) with ESMTP id g7S7dKqS028930
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:20 +0200 (CEST)
X-Original-Recipient: <egenix-users@lists.egenix.com>
Received: from gustav.entenhausen (h22n2fls20o1069.telia.com [213.64.217.22])
	by d1o1069.telia.com (8.10.2/8.10.1) with ESMTP id g7S7dKn01173
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:20 +0200 (CEST)
Date: Wed, 28 Aug 2002 09:39:19 +0200
From: Ulrich Wisser <liste@publisher.de>
X-Mailer: The Bat! (v1.61) Business
Reply-To: Ulrich Wisser <u.wisser@publisher.de>
Organization: WWW Publisher
X-Priority: 3 (Normal)
Message-ID: <53149007326.20020828093919@publisher.de>
To: egenix-users <egenix-users@lists.egenix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxDateTime and Zope
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello,

after more investigation I found that mxDateTime has
replaced the Zope builtin DateTime module. I belive, but
did not verify, that the option --with-zope to the configure
script did the trick. Anyway, this led to the fact that
DateTime could no longer be used in DTML and PageTemplates.
After restoring the original DateTime everything works fine.

Any idea why that is so and why the option --with-zope
exists if it doesn't work?

Regards

Ulrich

-- 
Searchengine Know How  - Webpromotion - Optimization - Internal Search
World Wide Web Publisher, Ulrich Wisser, Odensvag 13, S-14571 Norsborg
http://www.publisher.de   Tel: +46-8-53460905    Fax: +46-8-534 609 06


From sklein@cpcug.org Mon Aug 19 22:36:19 2002
Received: from server12.safepages.com (server12.safepages.com [216.127.146.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7JKZmU09075
	for <egenix-users@lists.egenix.com>; Mon, 19 Aug 2002 22:36:19 +0200
Received: from LOCALNAME (1Cust71.tnt4.dca5.da.uu.net [67.242.155.71])
	by server12.safepages.com (Postfix) with SMTP id 544B213618F
	for <egenix-users@lists.egenix.com>; Mon, 19 Aug 2002 20:34:45 +0000 (GMT)
Message-Id: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
X-Sender: sklein@cpcug.org (Unverified)
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (16)
Date: Mon, 19 Aug 2002 13:17:10
To: egenix-users@lists.egenix.com
From: "Stanley A. Klein" <sklein@cpcug.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Subject: [egenix-users] The mxDateTime rpms are non-compliant with the Linux Standards
 Base
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

When I installed the rpm for mxDateTime, the package was installed in
/usr/local.  I'm running Red Hat 7.2, which complies with the Linux
Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
install in /usr/share.  

When I tried to run GNU Enterprise, which uses mxDateTime, I got error
messages until I doscovered the problem and made a link from the directory
under /usr/local to the equivalent directory under /usr/share where Python
was looking for the files.

I would like to suggest that the packager either make the rpms compliant
with the LSB or include a README telling the user of the need to make the
link.  I suggest making LSB compliance the preferred approach because most
of the major distributions that use rpms are also LSB compliant.

Thanks.


Stan Klein

From tommi.auvinen@wicom.com Wed Aug 21 13:05:26 2002
Received: from postman.wicom.com ([62.236.218.18])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7LB53U25115
	for <egenix-users@lists.egenix.com>; Wed, 21 Aug 2002 13:05:26 +0200
x-fsavag4mse-ts: 92b7f1998033781a
Content-Class: urn:content-classes:message
Keywords: disclaimer
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C24902.96198F98"
Date: Wed, 21 Aug 2002 14:04:57 +0300
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
Message-ID: <53404C1181500348B8F07B400D418EB10905FB@postman.wicom.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: SQL Server 2000, mxODBC version 2.0.4 for Python 1.5.2 and' ntext data type
thread-index: AcJJAtE2AXoKvHXyRLGESykVu9nz/Q==
From: "Tommi Auvinen" <tommi.auvinen@wicom.com>
To: <egenix-users@lists.egenix.com>
Subject: [egenix-users] SQL Server 2000, mxODBC version 2.0.4 for Python 1.5.2 and' ntext data type
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C24902.96198F98
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Is it a known feature (or even a bug ;) that if data type is 'ntext'
then something goes wrong around every 1024 characters? There seems to
be an extra 000 (null) character. The data is fetched OK if I change the
data type in DB to 'text' or change the query to something like ".
CONVERT(text, Data) AS Data".
 
R:TAU

------_=_NextPart_001_01C24902.96198F98
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 10">
<meta name=3DOriginator content=3D"Microsoft Word 10">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C2491B.F67DA810">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	mso-style-noshow:yes;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:Arial;
	mso-ascii-font-family:Arial;
	mso-hansi-font-family:Arial;
	mso-bidi-font-family:Arial;
	color:windowtext;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 2.0cm 70.85pt 2.0cm;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */=20
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=3DFI link=3Dblue vlink=3Dpurple =
style=3D'tab-interval:65.2pt'>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Is it a known feature =
(or even
a bug ;) that if data type is &#8216;<span =
class=3DSpellE>ntext</span>&#8217;
then something goes wrong around every 1024 characters? There seems to =
be an extra
000 (null) character. The data is fetched OK if I change the data type =
in DB to
&#8216;text&#8217; or change the query to something like &#8220;&#8230; =
<span
class=3DGramE>CONVERT(</span>text, Data) AS =
Data&#8221;.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span=
></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>R<span =
class=3DGramE>:TAU</span><o:p></o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C24902.96198F98--

From ChuckEsterbrook@StockAlerts.com Sun Aug 25 10:14:07 2002
Received: from fed1mtao04.cox.net (fed1mtao04.cox.net [68.6.19.241])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7P8E6U28985
	for <egenix-users@lists.egenix.com>; Sun, 25 Aug 2002 10:14:06 +0200
Received: from there ([68.5.108.3]) by fed1mtao04.cox.net
          (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with SMTP
          id <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
          for <egenix-users@lists.egenix.com>;
          Sun, 25 Aug 2002 04:14:00 -0400
Content-Type: text/plain;
  charset="iso-8859-1"
From: Chuck Esterbrook <ChuckEsterbrook@StockAlerts.com>
To: egenix-users@lists.egenix.com
Date: Sun, 25 Aug 2002 01:14:00 -0700
X-Mailer: KMail [version 1.3.1]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Message-Id: <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
Subject: [egenix-users] egenix experimental installation error
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

When running "python setup.py install" in 
"egenix-mx-experimental-0.6.0" as root, mxNumber complains that it 
can't find "gmp.h".

I actually only need mxTidy (not mxNumber) so if there is some option 
to leave out mxNumber, that would be great.

Any ideas?

I'm running Mandrake 8.1 (Linux 2.4.8-26mdk) and Python 2.2.1. More 
details:

[root@workstation egenix-mx-experimental-0.6.0]# python setup.py install
running install
running build
running build_py
...
running build_ext
skipping 'mx.Tidy.mxTidy.mxTidy' extension (up-to-date)
skipping 'mx.URL.mxURL.mxURL' extension (up-to-date)
skipping 'mx.UID.mxUID.mxUID' extension (up-to-date)
building 'mx.Number.mxNumber.mxNumber' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC 
-Imx/Number/mxNumber -I/usr/include/python2.2 -c 
mx/Number/mxNumber/mxNumber.c -o 
build/temp.linux-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
In file included from mx/Number/mxNumber/mxNumber.c:24:
mx/Number/mxNumber/mxNumber.h:33:17: gmp.h: No such file or directory
error: command 'gcc' failed with exit status 1


-Chuck

From mal@lemburg.com Sat Aug 31 22:35:09 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKYSU24231;
	Sat, 31 Aug 2002 22:35:09 +0200
Message-ID: <3D71286E.7000203@lemburg.com>
Date: Sat, 31 Aug 2002 22:34:54 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Stanley A. Klein" <sklein@cpcug.org>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with the
 Linux Standards Base
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Stanley A. Klein wrote:
> When I installed the rpm for mxDateTime, the package was installed in
> /usr/local.  I'm running Red Hat 7.2, which complies with the Linux
> Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
> install in /usr/share.  
> 
> When I tried to run GNU Enterprise, which uses mxDateTime, I got error
> messages until I doscovered the problem and made a link from the directory
> under /usr/local to the equivalent directory under /usr/share where Python
> was looking for the files.
> 
> I would like to suggest that the packager either make the rpms compliant
> with the LSB or include a README telling the user of the need to make the
> link.  I suggest making LSB compliance the preferred approach because most
> of the major distributions that use rpms are also LSB compliant.

The egenix-mx-*.rpm archives are built using Python's distutils
package and this defaults to installing into the Python
installation in the /usr/local tree (this is also the
default location of the RPMs of Python itself).

AFAIK, you can relocate the packages to other locations
using RPM command line options.

I'm not really sure why you'd want to install them
to /usr/share, though, because the packages depend on
the Python installation and include binary shared libs
which are certainly not machine independent (like the
files you'd normalls install in /usr/share). Perhaps
you have something else in mind here ?

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Sat Aug 31 22:44:01 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKhHU24282;
	Sat, 31 Aug 2002 22:44:00 +0200
Message-ID: <3D712A7E.5090701@lemburg.com>
Date: Sat, 31 Aug 2002 22:43:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Chuck Esterbrook <ChuckEsterbrook@StockAlerts.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] egenix experimental installation error
References: <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Chuck Esterbrook wrote:
> Hi,
> 
> When running "python setup.py install" in 
> "egenix-mx-experimental-0.6.0" as root, mxNumber complains that it 
> can't find "gmp.h".

That's fixed in the latest beta of 0.7.0 (see the mailing list
archive for download links). Building of mxNumber is made optional
in those versions and the package should build without mxNumber
if you don't have GMP installed.

> I actually only need mxTidy (not mxNumber) so if there is some option 
> to leave out mxNumber, that would be great.
> 
> Any ideas?
> 
> I'm running Mandrake 8.1 (Linux 2.4.8-26mdk) and Python 2.2.1. More 
> details:
> 
> [root@workstation egenix-mx-experimental-0.6.0]# python setup.py install
> running install
> running build
> running build_py
> ...
> running build_ext
> skipping 'mx.Tidy.mxTidy.mxTidy' extension (up-to-date)
> skipping 'mx.URL.mxURL.mxURL' extension (up-to-date)
> skipping 'mx.UID.mxUID.mxUID' extension (up-to-date)
> building 'mx.Number.mxNumber.mxNumber' extension
> gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC 
> -Imx/Number/mxNumber -I/usr/include/python2.2 -c 
> mx/Number/mxNumber/mxNumber.c -o 
> build/temp.linux-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
> In file included from mx/Number/mxNumber/mxNumber.c:24:
> mx/Number/mxNumber/mxNumber.h:33:17: gmp.h: No such file or directory
> error: command 'gcc' failed with exit status 1
> 
> 
> -Chuck
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Sat Aug 31 22:42:06 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKfTU24272;
	Sat, 31 Aug 2002 22:42:05 +0200
Message-ID: <3D712A13.8030408@lemburg.com>
Date: Sat, 31 Aug 2002 22:41:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Tommi Auvinen <tommi.auvinen@wicom.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] SQL Server 2000, mxODBC version 2.0.4 for Python
 1.5.2 and' ntext data type
References: <53404C1181500348B8F07B400D418EB10905FB@postman.wicom.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Tommi Auvinen wrote:
> Is it a known feature (or even a bug ;) that if data type is ntext 
> then something goes wrong around every 1024 characters? There seems to 
> be an extra 000 (null) character. The data is fetched OK if I change the 
> data type in DB to text or change the query to something like  
> CONVERT(text, Data) AS Data.

ntext is managed as Unicode in SQL Server, but mxODBC requests
these columns as strings (unless you set cursor.stringformat)
in chunks of 1024 bytes. Could be that the ODBC driver messes
up the inplace conversion of Unicode to 8-bit strings when using
this kind of chunked retrieval.

Have you tried this with the latest ODBC driver versions available
for SQL Server ?

If the problem persists, we'll have to look into adding a
work-around to mxODBC.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Sep  2 16:18:21 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g82EHlU08473;
	Mon, 2 Sep 2002 16:18:21 +0200
Message-ID: <3D737315.7040401@lemburg.com>
Date: Mon, 02 Sep 2002 16:17:57 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ulrich Wisser <u.wisser@publisher.de>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] mxDateTime and Zope
References: <53149007326.20020828093919@publisher.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ulrich Wisser wrote:
> Hello,
> 
> after more investigation I found that mxDateTime has
> replaced the Zope builtin DateTime module. I belive, but
> did not verify, that the option --with-zope to the configure
> script did the trick. Anyway, this led to the fact that
> DateTime could no longer be used in DTML and PageTemplates.
> After restoring the original DateTime everything works fine.
> 
> Any idea why that is so and why the option --with-zope
> exists if it doesn't work?

I am not aware of such an option in distutils. You should
install the mx base package directly into lib/python:

python setup.py install --install-lib=zopedir/lib/python --install-data=zopedir/lib/python

(with zopedir replaced by the Zope instance directory)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From sklein@cpcug.org Sun Sep  1 03:29:18 2002
Received: from server10.safepages.com (server10.safepages.com [216.127.146.24])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g811TIU26523
	for <egenix-users@lists.egenix.com>; Sun, 1 Sep 2002 03:29:18 +0200
Received: from LOCALNAME (1Cust224.tnt4.dca5.da.uu.net [67.242.155.224])
	by server10.safepages.com (Postfix) with SMTP
	id DC7C73C393; Sun,  1 Sep 2002 01:28:31 +0000 (GMT)
Message-Id: <3.0.5.16.20020831181102.447fc84e@cpcug.org>
X-Sender: sklein@cpcug.org
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (16)
Date: Sat, 31 Aug 2002 18:11:02
To: "M.-A. Lemburg" <mal@lemburg.com>
From: "Stanley A. Klein" <sklein@cpcug.org>
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with
  the Linux Standards Base
Cc: egenix-users@lists.egenix.com
In-Reply-To: <3D71286E.7000203@lemburg.com>
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I don't know about the distutils default.  Perhaps all other Python rpm
packagers change from the default to /usr/share during rpm packaging.

I have Python 1.5 and 2.1, wxPython, and (I think) some other packages
installed on my system.  All of them automatically install in /usr/ahare.
To the best of my knowledge that is where Python packagers are supposed to
put their packages.  These packages are packaged in compliance with the
Linux Standards Base specification, which (I understand) may have clarified
or modified for Linux the definition of what is supposed to go into
/usr/share versus /usr/local.  (Essentially, all downloaded packages or
those supplied with distributions go into /usr/share.  I don't recall the
purpose assigned to /usr/local, except that it may be reserved for uniquely
local packages developed by the system administrator.)

mxDateTime is the only Python package installed on my system that I had to
fix because it installed in /usr/local.  (I fixed it by putting a link in
the appropriate site-packages directory in the /usr/share tree.)


Stan Klein


At 10:34 PM 8/31/2002 +0200, M.-A. Lemburg wrote:
>Stanley A. Klein wrote:
>> When I installed the rpm for mxDateTime, the package was installed in
>> /usr/local.  I'm running Red Hat 7.2, which complies with the Linux
>> Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
>> install in /usr/share.  
>> 
>> When I tried to run GNU Enterprise, which uses mxDateTime, I got error
>> messages until I doscovered the problem and made a link from the directory
>> under /usr/local to the equivalent directory under /usr/share where Python
>> was looking for the files.
>> 
>> I would like to suggest that the packager either make the rpms compliant
>> with the LSB or include a README telling the user of the need to make the
>> link.  I suggest making LSB compliance the preferred approach because most
>> of the major distributions that use rpms are also LSB compliant.
>
>The egenix-mx-*.rpm archives are built using Python's distutils
>package and this defaults to installing into the Python
>installation in the /usr/local tree (this is also the
>default location of the RPMs of Python itself).
>
>AFAIK, you can relocate the packages to other locations
>using RPM command line options.
>
>I'm not really sure why you'd want to install them
>to /usr/share, though, because the packages depend on
>the Python installation and include binary shared libs
>which are certainly not machine independent (like the
>files you'd normalls install in /usr/share). Perhaps
>you have something else in mind here ?
>
>Thanks,
>-- 
>Marc-Andre Lemburg
>CEO eGenix.com Software GmbH
>_______________________________________________________________________
>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
>Python Consulting:                               http://www.egenix.com/
>Python Software:                    http://www.egenix.com/files/python/
>
>
>

From mal@lemburg.com Mon Sep  2 19:12:14 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g82HC7U09785;
	Mon, 2 Sep 2002 19:12:14 +0200
Message-ID: <3D739BF4.4090009@lemburg.com>
Date: Mon, 02 Sep 2002 19:12:20 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Stanley A. Klein" <sklein@cpcug.org>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with  the
 Linux Standards Base
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org> <3.0.5.16.20020831181102.447fc84e@cpcug.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Stanley A. Klein wrote:
> I don't know about the distutils default.  Perhaps all other Python rpm
> packagers change from the default to /usr/share during rpm packaging.

I think you're mixing something up here: /usr/share is for code and
data which can be shared between platforms (e.g. in an NFS environment).
The /usr/local default stems from the fact that a manually installed
Python version always installs into /usr/local per default and that's
what we are using to build the RPMs.

Now, perhaps you are right in that the RPMs we ship should install
into /usr/share for the doc files and /use/lib/pythonX.X/site-packages
for the rest.

> I have Python 1.5 and 2.1, wxPython, and (I think) some other packages
> installed on my system.  All of them automatically install in /usr/ahare.
> To the best of my knowledge that is where Python packagers are supposed to
> put their packages.  These packages are packaged in compliance with the
> Linux Standards Base specification, which (I understand) may have clarified
> or modified for Linux the definition of what is supposed to go into
> /usr/share versus /usr/local.  (Essentially, all downloaded packages or
> those supplied with distributions go into /usr/share.  I don't recall the
> purpose assigned to /usr/local, except that it may be reserved for uniquely
> local packages developed by the system administrator.)

I don't believe that's correct... /usr/local is reserved for
applications which do not come with your OS distribution. Other
OSes such as Solaris use /opt/local for the same thing.

It just happens that Python has become so popular that the
default "installation" today is the one that comes with the
OS distribution and not the one you built youself.

> mxDateTime is the only Python package installed on my system that I had to
> fix because it installed in /usr/local.  (I fixed it by putting a link in
> the appropriate site-packages directory in the /usr/share tree.)

And that's the correct fix.

I think we'll move to /usr for the upcoming 2.1 release... That
should also make it possible to upgrade RedHat's version of
egenix-mx-base (they call it mx-base for some reason).

PS: Please sign up to the mailing list before posting. Otherwise
all messages will be upheld for moderator approval.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Sep  5 11:09:44 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8599hD11370;
	Thu, 5 Sep 2002 11:09:43 +0200
Message-ID: <3D771F60.3040005@lemburg.com>
Date: Thu, 05 Sep 2002 11:09:52 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> I've been poking at this problem for a while now, basically, my attempts 
> always fail with this error:
> 
> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttools.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.def 
> -LC:\bin\lang\py22\libs -L/lib -lpython22 -o 
> build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1b74):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1bf0):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x2fb4):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x3030):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> collect2: ld returned 1 exit status
> error: command 'gcc' failed with exit status 1
> 
> Which, is just about what VC++6 also complains about as well:
>    Creating library 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.lib 
> and object 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.exp 
> 
> LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type" imported

Is this the latest beta you are testing here ?

http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html

It should be compatible to CYGWIN since Steve Holden has done a lot
of testing on that platform.

> Now, if I understand this problem correctly, the __declspec( dllexport ) 
> stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is 
> somehow making mxTagTable_Type wind up mangled as if it were a 
> dll-loaded function within mxte.c instead of a locally-defined but 
> exported one?  VC++ seems able to work about it, but not MingW32.
> 
> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
> problem would be.  All discussions I can find on the web about it seem 
> to assume it's such an obvious fix that there's no point describing it 
> :o/ .
> 
> Any suggestions welcome,
> Mike
> _______________________________________
>   Mike C. Fletcher
>   Designer, VR Plumber, Coder
>   http://members.rogers.com/mcfletch/
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From sholden@holdenweb.com Thu Sep  5 13:11:43 2002
Received: from mail10.atl.registeredsite.com (mail10.atl.registeredsite.com [64.224.219.84])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85BBgD12121;
	Thu, 5 Sep 2002 13:11:43 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail10.atl.registeredsite.com (8.12.2/8.12.5) with ESMTP id g85BBbWn006022;
	Thu, 5 Sep 2002 07:11:38 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id ABE72E2900A8; Thu, 05 Sep 2002 07:11:35 -0400
Message-ID: <00c901c254cc$430444d0$6300000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "M.-A. Lemburg" <mal@egenix.com>, "Mike C. Fletcher" <mcfletch@rogers.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Date: Thu, 5 Sep 2002 07:06:18 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I can confirm that 2.1.0b5 compiles successfully builds and installs on my
Cygwin/Win2k platform - just downloaded the source from the link Marc-Andre
provided. Not sure what the problem is here, but I know that the original
difficulty was ironed out after we found that external symbol definitions
weren't making it through.

I'm not really a C/C++ guy myself, but M-A was a tremendous help.

regards
-----------------------------------------------------------------------
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                        pydish.holdenweb.com/pwp/
Previous .sig file retired to                    www.homeforoldsigs.com
-----------------------------------------------------------------------
----- Original Message -----
From: "M.-A. Lemburg" <mal@egenix.com>
To: "Mike C. Fletcher" <mcfletch@rogers.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
Sent: Thursday, September 05, 2002 5:09 AM
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
with MingW32?


> Mike C. Fletcher wrote:
> > I've been poking at this problem for a while now, basically, my attempts
> > always fail with this error:
> >
> > c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttool
s.o
> > build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.def
> > -LC:\bin\lang\py22\libs -L/lib -lpython22 -o
> > build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x1b74):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x1bf0):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x2fb4):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x3030):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> > collect2: ld returned 1 exit status
> > error: command 'gcc' failed with exit status 1
> >
> > Which, is just about what VC++6 also complains about as well:
> >    Creating library
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.lib
> > and object
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.exp
> >
> > LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type"
imported
>
> Is this the latest beta you are testing here ?
>
>
http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.htm
l
>
> It should be compatible to CYGWIN since Steve Holden has done a lot
> of testing on that platform.
>
> > Now, if I understand this problem correctly, the __declspec( dllexport )
> > stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is
> > somehow making mxTagTable_Type wind up mangled as if it were a
> > dll-loaded function within mxte.c instead of a locally-defined but
> > exported one?  VC++ seems able to work about it, but not MingW32.
> >
> > I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the
> > problem would be.  All discussions I can find on the web about it seem
> > to assume it's such an obvious fix that there's no point describing it
> > :o/ .
> >
> > Any suggestions welcome,
> > Mike
> > _______________________________________
> >   Mike C. Fletcher
> >   Designer, VR Plumber, Coder
> >   http://members.rogers.com/mcfletch/
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users
>
>



From mcfletch@rogers.com Thu Sep  5 15:46:39 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85DkcD13144
	for <egenix-users@lists.egenix.com>; Thu, 5 Sep 2002 15:46:38 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020905134623.RQPX4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 5 Sep 2002 09:46:23 -0400
Message-ID: <3D776024.7030800@rogers.com>
Date: Thu, 05 Sep 2002 09:46:12 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@egenix.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 5 Sep 2002 09:46:23 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

The package does compile w/out problem for the _Cygwin port of Python_, 
but what I'm trying to do is to compile it with the Mingw32 extensions 
to GCC so that the resulting binaries can be used with the "regular" 
ActiveState/PythonLabs distributions (compiled with VC++).

I've asked Steve to confirm whether he's got the Mingw32 or the Cygwin 
version working, but given my tests here, I'm assuming he was working on 
the pure-Cygwin version, not the Mingw32 version (or that I'm missing 
something about something :) ).

Oh, it's the latest beta-5, no alterations, just unzipping and running 
setup.py

Have fun all,
Mike

M.-A. Lemburg wrote:
> Mike C. Fletcher wrote:
> 
>> I've been poking at this problem for a while now, basically, my 
>> attempts always fail with this error:
>>
>> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
...
>> undefined reference to `_imp__mxTagTable_Type'
>> collect2: ld returned 1 exit status
>> error: command 'gcc' failed with exit status 1
...
> Is this the latest beta you are testing here ?
> 
> http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html 
> 
> 
> It should be compatible to CYGWIN since Steve Holden has done a lot
> of testing on that platform.
> 
>> Now, if I understand this problem correctly, the __declspec( dllexport 
>> ) stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type 
>> is somehow making mxTagTable_Type wind up mangled as if it were a 
>> dll-loaded function within mxte.c instead of a locally-defined but 
>> exported one?  VC++ seems able to work about it, but not MingW32.
>>
>> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
>> problem would be.  All discussions I can find on the web about it seem 
>> to assume it's such an obvious fix that there's no point describing it 
>> :o/ .
>>
>> Any suggestions welcome,
>> Mike
...


From mal@lemburg.com Thu Sep  5 19:02:58 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85H2sD14553;
	Thu, 5 Sep 2002 19:02:58 +0200
Message-ID: <3D778E4B.4010704@lemburg.com>
Date: Thu, 05 Sep 2002 19:03:07 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: "M.-A. Lemburg" <mal@egenix.com>,
   egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> The package does compile w/out problem for the _Cygwin port of Python_, 
> but what I'm trying to do is to compile it with the Mingw32 extensions 
> to GCC so that the resulting binaries can be used with the "regular" 
> ActiveState/PythonLabs distributions (compiled with VC++).

I'm pretty sure that he used CYGWIN all the way.

Why would you want to build using MinGW32 ? eGenix.com provides
the binaries you need as installers for Windows.

> I've asked Steve to confirm whether he's got the Mingw32 or the Cygwin 
> version working, but given my tests here, I'm assuming he was working on 
> the pure-Cygwin version, not the Mingw32 version (or that I'm missing 
> something about something :) ).
> 
> Oh, it's the latest beta-5, no alterations, just unzipping and running 
> setup.py
> 
> Have fun all,
> Mike
> 
> M.-A. Lemburg wrote:
> 
>> Mike C. Fletcher wrote:
>>
>>> I've been poking at this problem for a while now, basically, my 
>>> attempts always fail with this error:
>>>
>>> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
>>
> ...
> 
>>> undefined reference to `_imp__mxTagTable_Type'
>>> collect2: ld returned 1 exit status
>>> error: command 'gcc' failed with exit status 1
>>
> ...
> 
>> Is this the latest beta you are testing here ?
>>
>> http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html 
>>
>>
>> It should be compatible to CYGWIN since Steve Holden has done a lot
>> of testing on that platform.
>>
>>> Now, if I understand this problem correctly, the __declspec( 
>>> dllexport ) stuff that's defined in mxTextTools.h and mxh.h for 
>>> mxTagTable_Type is somehow making mxTagTable_Type wind up mangled as 
>>> if it were a dll-loaded function within mxte.c instead of a 
>>> locally-defined but exported one?  VC++ seems able to work about it, 
>>> but not MingW32.
>>>
>>> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to 
>>> the problem would be.  All discussions I can find on the web about it 
>>> seem to assume it's such an obvious fix that there's no point 
>>> describing it :o/ .
>>>
>>> Any suggestions welcome,
>>> Mike
>>
> ...
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mcfletch@rogers.com Thu Sep  5 19:25:34 2002
Received: from fep03-mail.bloor.is.net.cable.rogers.com ([66.185.86.73])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85HPXD14702
	for <egenix-users@lists.egenix.com>; Thu, 5 Sep 2002 19:25:33 +0200
Received: from rogers.com ([24.43.65.252])
          by fep03-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020905172433.EFBZ383482.fep03-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 5 Sep 2002 13:24:33 -0400
Message-ID: <3D779345.9030509@rogers.com>
Date: Thu, 05 Sep 2002 13:24:21 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@egenix.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com> <3D778E4B.4010704@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep03-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 5 Sep 2002 13:24:33 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Well, sure, but not for the non-recursive rewrite (which I eventually 
want to build for people, I'm just starting with the unmodifed package 
to isolate any potential problems from my modifications).  Using Mingw32 
would let me build and distribute binaries of the non-recursive version 
for use with SimpleParse.

No other major conspiracies in the wing,
Mike

M.-A. Lemburg wrote:
> Mike C. Fletcher wrote:
...
> I'm pretty sure that he used CYGWIN all the way.
> 
> Why would you want to build using MinGW32 ? eGenix.com provides
> the binaries you need as installers for Windows.
...


From sholden@holdenweb.com Fri Sep  6 01:29:44 2002
Received: from mail8.atl.registeredsite.com (mail8.atl.registeredsite.com [64.224.219.82])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85NThw18184;
	Fri, 6 Sep 2002 01:29:44 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail8.atl.registeredsite.com (8.12.2/8.12.5) with ESMTP id g85NTe9V024270;
	Thu, 5 Sep 2002 19:29:41 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A8DF3CE40136; Thu, 05 Sep 2002 19:29:35 -0400
Message-ID: <01c301c25533$65650ed0$6300000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Mike C. Fletcher" <mcfletch@rogers.com>, "M.-A. Lemburg" <mal@egenix.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com> <3D778E4B.4010704@lemburg.com> <3D779345.9030509@rogers.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Date: Thu, 5 Sep 2002 19:24:33 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[Mike C. Fletcher]=
> Well, sure, but not for the non-recursive rewrite (which I eventually
> want to build for people, I'm just starting with the unmodifed package
> to isolate any potential problems from my modifications).  Using Mingw32
> would let me build and distribute binaries of the non-recursive version
> for use with SimpleParse.
>
> No other major conspiracies in the wing,
> Mike
>
> M.-A. Lemburg wrote:
> > Mike C. Fletcher wrote:
> ...
> > I'm pretty sure that he used CYGWIN all the way.
> >
> > Why would you want to build using MinGW32 ? eGenix.com provides
> > the binaries you need as installers for Windows.
> ...

Just wanted to confirm that I did indeed only use pure Cygwin.

I know that someone recently (maybe in the last three months) has managed to
compile Python using MingW32 (maybe it was you? :-)

I presume that you are interested in using MingW32 to avoid the need to
purchase VC++ or similar. Good luck!

regards
-----------------------------------------------------------------------
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                        pydish.holdenweb.com/pwp/
Previous .sig file retired to                    www.homeforoldsigs.com
-----------------------------------------------------------------------



From nthomas@cise.ufl.edu Tue Sep 10 09:29:26 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8A7TQw25162
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 09:29:26 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 4926B6B13
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 03:29:25 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id DAA02130 for egenix-users@lists.egenix.com; Tue, 10 Sep 2002 03:29:23 -0400 (EDT)
Date: Tue, 10 Sep 2002 03:29:23 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Message-ID: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
Subject: [egenix-users] DateTime bus error on Solaris
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
Solaris 8 (SunOS 5.8).

When I run any program that uses DateTime (or indeed, any module that calls
it) I get the following error:

    $ python foo.py
    zsh: bus error  python foo.py

In fact, any program with the line

    from mx.DateTime import *

or 

    import mx.DateTime

causes this to happen. Has anyone else experienced this problem?

thanks,
thomas

P.S. Proxy, Tools, and TextTools all seem to work okay.

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From nthomas@cise.ufl.edu Tue Sep 10 10:00:49 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8A80iw25375
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 10:00:45 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 6FF1A6C23
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 03:59:30 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id DAA03719 for egenix-users@lists.egenix.com; Tue, 10 Sep 2002 03:59:28 -0400 (EDT)
Date: Tue, 10 Sep 2002 03:59:28 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime bus error on Solaris
Message-ID: <20020910075928.GA3494@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910072923.GA2087@cise.ufl.edu>
User-Agent: Mutt/1.3.28i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine
> running Solaris 8 (SunOS 5.8).
> 
> When I run any program that uses DateTime (or indeed, any module that
> calls it) I get the following error:
> 
>     $ python foo.py
>     zsh: bus error  python foo.py

A bit of digging on Google tells me that it might possibly be a problem with
byte alignment on Sparc. I would like to check this, and pass the
"-mno-unaligned-doubles" flag to gcc when it compiles, how can I do this?

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From dnaber@t-online.de Thu Sep 12 03:04:41 2002
Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8C14fw09540
	for <egenix-users@lists.egenix.com>; Thu, 12 Sep 2002 03:04:41 +0200
Received: from fwd04.sul.t-online.de 
	by mailout05.sul.t-online.com with smtp 
	id 17pIPH-0003wo-00; Thu, 12 Sep 2002 03:04:31 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[217.225.47.73]) by fmrl04.sul.t-online.com
	with esmtp id 17pIP6-1DF4iGC; Thu, 12 Sep 2002 03:04:20 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8C11BW07790
	for egenix-users@lists.egenix.com; Thu, 12 Sep 2002 03:01:11 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: egenix-users@lists.egenix.com
Date: Thu, 12 Sep 2002 03:01:11 +0200
User-Agent: KMail/1.4.7
MIME-Version: 1.0
Content-Disposition: inline
Content-Type: text/plain;
  charset="us-ascii"
Message-Id: <200209120301.11205@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8C14fw09540
Subject: [egenix-users] BeeDict memory usage
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I'm using BeeDict (egenix-mx-base-2.1.0b2) with the following code:

self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
	recover=0, autocommit=1, validate=0)

self.table is then used to save quite some (nested) data, i.e. lists and 
dictionaries. This works well, but there's one problem: too much memory is 
used when adding data. I had hoped that "on-disk" means something like: 
save the data to disk if there's a flush() or commit() call so that the 
data doesn't take up memory. I tried that, but it doesn't help (actually 
commit()ing after adding a certain amount of data will leave the index 
incomplete in the end).

Does anybody have an idea how to save memory when adding data?

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Mon Sep 16 12:53:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GArbw16873;
	Mon, 16 Sep 2002 12:53:47 +0200
Message-ID: <3D85B83E.5040306@lemburg.com>
Date: Mon, 16 Sep 2002 12:53:50 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> Hi,
> 
> I'm using BeeDict (egenix-mx-base-2.1.0b2) with the following code:
> 
> self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
> 	recover=0, autocommit=1, validate=0)
> 
> self.table is then used to save quite some (nested) data, i.e. lists and 
> dictionaries. This works well, but there's one problem: too much memory is 
> used when adding data. I had hoped that "on-disk" means something like: 
> save the data to disk if there's a flush() or commit() call so that the 
> data doesn't take up memory. I tried that, but it doesn't help (actually 
> commit()ing after adding a certain amount of data will leave the index 
> incomplete in the end).
> 
> Does anybody have an idea how to save memory when adding data?

BeeDicts keep an internal cache which could be the cause of the
memory footprint you are seeing. You can explicitly clear the
cache by calling .free_cache().

Perhaps it would be a good idea to have .flush() also free
the cache ?!

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Mon Sep 16 16:14:02 2002
Received: from mailout10.sul.t-online.com (mailout10.sul.t-online.com [194.25.134.21])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GEE2w18442
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 16:14:02 +0200
Received: from fwd09.sul.t-online.de 
	by mailout10.sul.t-online.com with smtp 
	id 17qwdN-0000nh-06; Mon, 16 Sep 2002 16:13:53 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[80.130.211.193]) by fmrl09.sul.t-online.com
	with esmtp id 17qwdD-0LvVnUC; Mon, 16 Sep 2002 16:13:43 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8GEEAX04064;
	Mon, 16 Sep 2002 16:14:10 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Mon, 16 Sep 2002 16:14:09 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <3D85B83E.5040306@lemburg.com>
In-Reply-To: <3D85B83E.5040306@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Disposition: inline
Message-Id: <200209161614.10077@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8GEE2w18442
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Monday 16 September 2002 12:53, you wrote:

> BeeDicts keep an internal cache which could be the cause of the
> memory footprint you are seeing. You can explicitly clear the
> cache by calling .free_cache().

This helps with the memory usage, but now I've got the same problem as 
before, when I called flush(): the generated index files are smaller and 
some information is missing. I'm trying to write a search engine, and the 
index that calls free_cache() on every 50th file gets less matches when 
searching (yes, the call to free_cache() is really the only difference in 
the program).

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Mon Sep 16 17:52:45 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GFqjw19134;
	Mon, 16 Sep 2002 17:52:45 +0200
Message-ID: <3D85FE5C.2010402@lemburg.com>
Date: Mon, 16 Sep 2002 17:53:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <3D85B83E.5040306@lemburg.com> <200209161614.10077@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Monday 16 September 2002 12:53, you wrote:
> 
> 
>>BeeDicts keep an internal cache which could be the cause of the
>>memory footprint you are seeing. You can explicitly clear the
>>cache by calling .free_cache().
> 
> 
> This helps with the memory usage, but now I've got the same problem as 
> before, when I called flush(): the generated index files are smaller and 
> some information is missing. I'm trying to write a search engine, and the 
> index that calls free_cache() on every 50th file gets less matches when 
> searching (yes, the call to free_cache() is really the only difference in 
> the program).

That's strange indeed. Can you come up with a short demo which
displays the problem ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Mon Sep 16 18:51:00 2002
Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GGp0w19655
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 18:51:00 +0200
Received: from fwd09.sul.t-online.de 
	by mailout02.sul.t-online.com with smtp 
	id 17qz5H-0005YA-0D; Mon, 16 Sep 2002 18:50:51 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[217.225.46.123]) by fmrl09.sul.t-online.com
	with esmtp id 17qz5B-2AfHySC; Mon, 16 Sep 2002 18:50:45 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8GGose05997;
	Mon, 16 Sep 2002 18:50:54 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Mon, 16 Sep 2002 18:50:53 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com>
In-Reply-To: <3D85FE5C.2010402@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_tvgh9YWRd0Qjwlb"
Message-Id: <200209161850.53994@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

--Boundary-00=_tvgh9YWRd0Qjwlb
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Monday 16 September 2002 17:53, you wrote:

> > index that calls free_cache() on every 50th file gets less matches
> > when searching (yes, the call to free_cache() is really the only
> > difference in the program).
>
> That's strange indeed. Can you come up with a short demo which
> displays the problem ?

Okay, this is not very short, as it seems you need a certain amount of data=
=20
to trigger the problem. Call this script like this:

=2E/FullText2.py /data/bigindex/test/ widget

The first parameter is a directory, the second one a search term. Then look=
=20
for "####" in the script and comment in the free_cache() call and run the=20
script again with the same parameters and you should get less matches when=
=20
free_cache is called, and the data files are also smaller. If it doesn't=20
work I can send you an archive of about 30 HTML files that let you=20
reproduce the problem .

Regards
 Daniel

=2D-=20
http://www.danielnaber.de

--Boundary-00=_tvgh9YWRd0Qjwlb
Content-Type: text/x-python;
  charset="us-ascii";
  name="FullText2.py"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="FullText2.py"

#!/usr/bin/python
# (C) Copyright 2002 Daniel Naber <daniel.naber@t-online.de>

import os
import re
import stat
import sys

from mx.BeeBase.BeeDict import BeeDict

class Indexer:

	def __init__(self, update):
		self.update = update
		self.sizecount = 0
		self.rec_count = 0
		return
	
	def start(self, directory, index_name):
		self.idx = FullTextIndex(index_name)
		self.idx.deleteData()
		self.idx.bindData()
		self.indexDirectories(directory)
		print "FILES = %d" % self.idx.count
		print "FILESIZES = %dkb" % (self.sizecount/1024)
		self.idx.commitData()

	def indexDirectories(self, directory):
		"Recursive."
		print "Entering %s..." % directory
		self.rec_count = self.rec_count + 1
		dir_content = os.listdir(directory)
		for filename in dir_content:
			filename = os.path.join(directory, filename)
			if os.path.isdir(filename):
				self.indexDirectories(filename)
			elif os.path.isfile(filename):
				filesize = os.stat(filename)[stat.ST_SIZE]
				self.sizecount = self.sizecount + filesize
				filesize = filesize/1024.0
				f = open(filename)
				contents = f.read()
				f.close()
				print "\t%d: adding   '%s' (%.1f kb)" % (self.idx.count, filename, filesize)
				self.idx.addDocument(self.idx.count, contents, filename)
			else:
				print "Ignoring %s (link?)" % filename
		self.rec_count = self.rec_count - 1
		return

class FullTextIndex:

	def __init__(self, db_name_prefix):
		self.db_name = db_name_prefix+"_terms_bee"
		self.table = {}		# the inverted index
		self.count = 0
		self.min_length = 3
		self.max_length = 15
		return

	def bindData(self):
		self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
			recover=0, autocommit=1, validate=0)

	def commitData(self):
		print >> sys.stderr, "Known words = %d" % len(self.table.keys())
		print >> sys.stderr, "Commiting results..."
		self.table.commit()
		print >> sys.stderr, "Closing results..."
		self.table.close()
		return

	def deleteData(self):
		try:
			print >> sys.stderr, "Deleting old data files..."
			os.remove(self.db_name + ".dat")
			os.remove(self.db_name + ".idx")
		except OSError:
			print >> sys.stderr, "Files not found..."
		return

	def addDocument(self, doc_id, text, filename="fixme_demo_only"):
		self.count = self.count + 1
		text = re.compile("<[^>]*>", re.DOTALL).sub("", text)
		text = re.compile("[^\w\d\s-]", re.DOTALL).sub("", text)
		terms = re.compile("\s+").split(text)
		term_pos = 0
		for term in terms:
			if len(term) < self.min_length:
				continue
			if len(term) > self.max_length:
				continue
			if self.table.has_key(term):
				#print "self.table.has_key(%s)" % term
				subtable = self.table[term]
				# save the position inside the doc, so we can later do
				# phrase and proximity search:
				if subtable.has_key(doc_id):
					subtable[doc_id].append(term_pos)
				else:
					subtable[doc_id] = [term_pos]
			else:
				#print "subtable[%s] = [%s]" % (doc_id, term_pos)
				subtable = {}
				subtable[doc_id] = [term_pos]
				self.table[term] = subtable
			term_pos = term_pos + 1

		# save memory: steps = 50 take twice as long for indexing (tested with /data/bigindex/doc)
		# but only used 30MB RAM instead of up to 90MB RAM!
		# fixme: doesn't work, index is not complete!!!
		steps = 10
		if doc_id % steps == 0:
			##### comment in/out:
			pass
			#print "Flush..."
			#self.table.free_cache()
			#####

	def searchTerm(self, term):
		"Returns list of Document IDs"
		if not self.table.has_key(term):
			return []
		else:
			l = []
			for key in self.table[term].keys():
				l.append(key)
			return l

def main():
	if len(sys.argv) != 3:
		print "Usage: FullText2.py <dir> <term>"
		return

	indexer = Indexer(update=0)
	indexer.start(directory=sys.argv[1], index_name="test_db/index")

	idx = FullTextIndex("test_db/index")
	idx.bindData()
	matches = idx.searchTerm(sys.argv[2])
	print "Matches: %d" % len(matches)
	print matches

main()

--Boundary-00=_tvgh9YWRd0Qjwlb--

From mal@lemburg.com Mon Sep 16 21:54:50 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GJsow20898;
	Mon, 16 Sep 2002 21:54:50 +0200
Message-ID: <3D86371C.2030109@lemburg.com>
Date: Mon, 16 Sep 2002 21:55:08 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com> <200209161850.53994@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Monday 16 September 2002 17:53, you wrote:
> 
> 
>>>index that calls free_cache() on every 50th file gets less matches
>>>when searching (yes, the call to free_cache() is really the only
>>>difference in the program).
>>
>>That's strange indeed. Can you come up with a short demo which
>>displays the problem ?
> 
> 
> Okay, this is not very short, as it seems you need a certain amount of data 
> to trigger the problem. Call this script like this:
> 
> ./FullText2.py /data/bigindex/test/ widget
> 
> The first parameter is a directory, the second one a search term. Then look 
> for "####" in the script and comment in the free_cache() call and run the 
> script again with the same parameters and you should get less matches when 
> free_cache is called, and the data files are also smaller. If it doesn't 
> work I can send you an archive of about 30 HTML files that let you 
> reproduce the problem .

Thanks for the script. I can reproduce the problem here, but
still don't understand what is causing it. The table index size
is the same in both cases, the file sizes differs.

This could relate to the way you store the data: using dictionaries
of lists as values in the BeeDict. I'll have to investigate this
some more.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From nthomas@cise.ufl.edu Tue Sep 17 04:11:33 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H2Aqw23937
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 04:11:32 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 8462C69AA
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 22:10:07 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id WAA23062 for egenix-users@lists.egenix.com; Mon, 16 Sep 2002 22:10:07 -0400 (EDT)
Date: Mon, 16 Sep 2002 22:10:07 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime bus error on Solaris
Message-ID: <20020917021007.GA23047@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu> <20020910075928.GA3494@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910075928.GA3494@cise.ufl.edu>
User-Agent: Mutt/1.4i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:59:28 -0400]:
> > I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine
> > running Solaris 8 (SunOS 5.8).
> > 
> > When I run any program that uses DateTime (or indeed, any module that
> > calls it) I get the following error:
> > 
> >     $ python foo.py
> >     zsh: bus error  python foo.py
> 
> A bit of digging on Google tells me that it might possibly be a problem
> with byte alignment on Sparc. I would like to check this, and pass the
> "-mno-unaligned-doubles" flag to gcc when it compiles, how can I do this?

This didn't seem to work. Anybody have any suggestions on how to debug this?

thanks,
thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From nthomas@cise.ufl.edu Tue Sep 17 04:50:08 2002
Received: from mail.cise.ufl.edu ([128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H2ntw24225
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 04:50:07 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id AB6DA6ACE
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 22:49:14 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id WAA23461 for egenix-users@lists.egenix.com; Mon, 16 Sep 2002 22:49:14 -0400 (EDT)
Date: Mon, 16 Sep 2002 22:49:14 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Message-ID: <20020917024914.GA23391@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910072923.GA2087@cise.ufl.edu>
User-Agent: Mutt/1.4i
Subject: [egenix-users] Re: DateTime bus error on Solaris
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
> Solaris 8 (SunOS 5.8).
> 
> When I run any program that uses DateTime (or indeed, any module that calls
> it) I get the following error:
> 
>     $ python foo.py
>     zsh: bus error  python foo.py

Thanks to a helpful python guru on #python, I was able to use gdb to track
down the cause of the crash, and shed some more light on the situation. Here
is the relevant info from gdb:

    Program received signal SIGSEGV, Segmentation fault.
    mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
    333             _Py_NewReference(datetime);

I'm assuming _Py_NewReference() is part of Python and not mxDateTime. What
could be causing this?

thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo



From mal@lemburg.com Tue Sep 17 10:59:34 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H8xXw26540;
	Tue, 17 Sep 2002 10:59:34 +0200
Message-ID: <3D86EF01.8010300@lemburg.com>
Date: Tue, 17 Sep 2002 10:59:45 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: Daniel Naber <daniel.naber@t-online.de>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com> <200209161850.53994@danielnaber.de> <3D86371C.2030109@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Daniel Naber wrote:
> 
>> On Monday 16 September 2002 17:53, you wrote:
>>
>>
>>>> index that calls free_cache() on every 50th file gets less matches
>>>> when searching (yes, the call to free_cache() is really the only
>>>> difference in the program).
>>>
>>>
>>> That's strange indeed. Can you come up with a short demo which
>>> displays the problem ?
>>
>>
>>
>> Okay, this is not very short, as it seems you need a certain amount of 
>> data to trigger the problem. Call this script like this:
>>
>> ./FullText2.py /data/bigindex/test/ widget
>>
>> The first parameter is a directory, the second one a search term. Then 
>> look for "####" in the script and comment in the free_cache() call and 
>> run the script again with the same parameters and you should get less 
>> matches when free_cache is called, and the data files are also 
>> smaller. If it doesn't work I can send you an archive of about 30 HTML 
>> files that let you reproduce the problem .
> 
> 
> Thanks for the script. I can reproduce the problem here, but
> still don't understand what is causing it. The table index size
> is the same in both cases, the file sizes differs.
> 
> This could relate to the way you store the data: using dictionaries
> of lists as values in the BeeDict. I'll have to investigate this
> some more.

Ok, I've tracked down the problem.

There are two things to watch out for:

1. When modifying mutable values in place you have to explicitly
    reassign the dictionary item after all modifications have taken
    place. This is necessary to mark the item as modified so that
    a subsequent .commit() can write it back to the on-disk version,
    e.g.
    # get value
    listvalue = d['key']
    # modify in place
    listvalue.append(1)
    # mark as modified
    d['key'] = listvalue

2. You should call .commit() before calling .free_cache() in order
    to free up more memory. .free_cache() will otherwise only remove
    items from the in-memory cache which have not been marked
    modified. Since you are mostly adding new items in your script,
    almost all entries are marked as modified, so the effect without
    .commit() is minimal.

In the egenix-mx-base 2.1 final release I'll add a new parameter
maxcachesize to BeeDicts which lets you tune the cache size
on a per-object basis.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Tue Sep 17 17:06:07 2002
Received: from mailout03.sul.t-online.com (mailout03.sul.t-online.com [194.25.134.81])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HF67w28910
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 17:06:07 +0200
Received: from fwd00.sul.t-online.de 
	by mailout03.sul.t-online.com with smtp 
	id 17rJv3-00076p-02; Tue, 17 Sep 2002 17:05:41 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[80.130.210.226]) by fmrl00.sul.t-online.com
	with esmtp id 17rJum-01yMlMC; Tue, 17 Sep 2002 17:05:24 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8HF2sg09064;
	Tue, 17 Sep 2002 17:02:54 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Tue, 17 Sep 2002 17:02:54 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <3D86371C.2030109@lemburg.com> <3D86EF01.8010300@lemburg.com>
In-Reply-To: <3D86EF01.8010300@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Disposition: inline
Message-Id: <200209171702.54128@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8HF67w28910
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Tuesday 17 September 2002 10:59, you wrote:

> Ok, I've tracked down the problem.
>
> There are two things to watch out for:

That helps, thanks! Indexing now needs 25% of the memory it used to need, 
but it's also 4 times as slow - but this had to happen I guess. I wonder 
how search engines like htdig can have such a fast indexing. It's probably 
because they have somehow heavily optimized their data structures for 
full-text indexing.

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Tue Sep 17 20:36:01 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HIa1w30289;
	Tue, 17 Sep 2002 20:36:01 +0200
Message-ID: <3D877622.7010808@lemburg.com>
Date: Tue, 17 Sep 2002 20:36:18 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <3D86371C.2030109@lemburg.com> <3D86EF01.8010300@lemburg.com> <200209171702.54128@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Tuesday 17 September 2002 10:59, you wrote:
> 
> 
>>Ok, I've tracked down the problem.
>>
>>There are two things to watch out for:
> 
> 
> That helps, thanks! Indexing now needs 25% of the memory it used to need, 
> but it's also 4 times as slow - but this had to happen I guess. I wonder 
> how search engines like htdig can have such a fast indexing. It's probably 
> because they have somehow heavily optimized their data structures for 
> full-text indexing.

I think that the solution is to use a specialized key between
the on-disk dictionary and the indexer -- often used terms
should probably be kept in this cache and only written to disk
at the very end.

The fact that you can subclass the BeeDict class should help
with this: you can easily implement your own caching strategy,
e.g. for indexing you don't need .rollback transaction support,
so a priority queue driven cache strategy probably fits better.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Tue Sep 17 21:44:22 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HJiMw30784;
	Tue, 17 Sep 2002 21:44:22 +0200
Message-ID: <3D878628.9030001@lemburg.com>
Date: Tue, 17 Sep 2002 21:44:40 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "N. Thomas" <nthomas@cise.ufl.edu>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Re: DateTime bus error on Solaris
References: <20020910072923.GA2087@cise.ufl.edu> <20020917024914.GA23391@cise.ufl.edu>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

N. Thomas wrote:
> * N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> 
>>I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
>>Solaris 8 (SunOS 5.8).
>>
>>When I run any program that uses DateTime (or indeed, any module that calls
>>it) I get the following error:
>>
>>    $ python foo.py
>>    zsh: bus error  python foo.py
> 
> 
> Thanks to a helpful python guru on #python, I was able to use gdb to track
> down the cause of the crash, and shed some more light on the situation. Here
> is the relevant info from gdb:
> 
>     Program received signal SIGSEGV, Segmentation fault.
>     mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
>     333             _Py_NewReference(datetime);
> 
> I'm assuming _Py_NewReference() is part of Python and not mxDateTime. What
> could be causing this?

This could have something to do with the free list used in mxDateTime.
Try compiling mxDateTime without free list support (edit mxDateTime.c
near the top and disable the two defines).

If that helps, you're set. The bus error sounds very much
like a compiler optimization bug to me. I've never heard of any
bug report related to _Py_NewReference().

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From nthomas@cise.ufl.edu Wed Sep 18 03:08:14 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8I17lw01313
	for <egenix-users@lists.egenix.com>; Wed, 18 Sep 2002 03:08:14 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP
	id 348626B13; Tue, 17 Sep 2002 21:07:09 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id VAA13523; Tue, 17 Sep 2002 21:07:08 -0400 (EDT)
Date: Tue, 17 Sep 2002 21:07:08 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Re: DateTime bus error on Solaris
Message-ID: <20020918010708.GA13197@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu> <20020917024914.GA23391@cise.ufl.edu> <3D878628.9030001@lemburg.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3D878628.9030001@lemburg.com>
User-Agent: Mutt/1.4i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* M.-A. Lemburg <mal@lemburg.com> [2002-09-17 21:44:40 +0200]:
> >    Program received signal SIGSEGV, Segmentation fault.
> >    mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
> >    333             _Py_NewReference(datetime);
> >
> 
> This could have something to do with the free list used in mxDateTime. Try
> compiling mxDateTime without free list support (edit mxDateTime.c near the
> top and disable the two defines).

Excellent! That worked! Thanks so much for your help!

thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From yasusii@lowlife.jp Wed Sep 18 14:50:21 2002
Received: from st42.arena.ne.jp (st42.arena.ne.jp [210.150.209.2])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ICoJw05476
	for <egenix-users@lists.egenix.com>; Wed, 18 Sep 2002 14:50:20 +0200
Received: (qmail 4429 invoked by uid 114); 18 Sep 2002 21:50:19 +0900
Received: from yasusii@lowlife.jp by st42.arena.ne.jp
	 by uid 111 with qmail-scanner-1.10 (sophie: 2.10/3.61. . Clear:0. Processed in 0.029331 secs); 18 Sep 2002 21:50:19 +0900
Received: from unknown (HELO localhost) (61.197.222.1)
  by lowlife.jp with SMTP; 18 Sep 2002 21:50:18 +0900
Date: Wed, 18 Sep 2002 21:48:08 +0900 (JST)
Message-Id: <20020918.214808.41630713.yasusii@lowlife.jp>
To: egenix-users@lists.egenix.com
From: Yasushi Iwata <yasusii@lowlife.jp>
X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] PROBLEM: mxCGIPython 0.5.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I build mxCGIPython 0.5.0 binary with Python 2.2 on Red Hat Linux
7.3. It works well on the machine. But same binary displays warning
message like bellow on other machines running Red Hat 7.3.

  $ cat hello
  print 'Hello!'
  $ ./cgipython hello
  'import site' failed; use -v for traceback
  Hello!

Same problem is reported on FreeBSD and Solaris 8 at Python Japanese
users mailing list.


From mal@lemburg.com Thu Sep 19 10:55:28 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8J8svw13780;
	Thu, 19 Sep 2002 10:55:28 +0200
Message-ID: <3D8990EF.2020202@lemburg.com>
Date: Thu, 19 Sep 2002 10:55:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Yasushi Iwata <yasusii@lowlife.jp>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
References: <20020918.214808.41630713.yasusii@lowlife.jp>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Yasushi Iwata wrote:
> I build mxCGIPython 0.5.0 binary with Python 2.2 on Red Hat Linux
> 7.3. It works well on the machine. But same binary displays warning
> message like bellow on other machines running Red Hat 7.3.
> 
>   $ cat hello
>   print 'Hello!'
>   $ ./cgipython hello
>   'import site' failed; use -v for traceback
>   Hello!
> 
> Same problem is reported on FreeBSD and Solaris 8 at Python Japanese
> users mailing list.

This could be caused by missing codecs. Please set the environment
variable PYTHONVERBOSE and rerun the script to see the traceback.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From yasusii@lowlife.jp Thu Sep 19 12:40:49 2002
Received: from st42.arena.ne.jp (st42.arena.ne.jp [210.150.209.2])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8JAemw14416
	for <egenix-users@lists.egenix.com>; Thu, 19 Sep 2002 12:40:49 +0200
Received: (qmail 2797 invoked by uid 114); 19 Sep 2002 19:40:44 +0900
Received: from yasusii@lowlife.jp by st42.arena.ne.jp
	 by uid 111 with qmail-scanner-1.10 (sophie: 2.10/3.61. . Clear:0. Processed in 0.031335 secs); 19 Sep 2002 19:40:44 +0900
Received: from unknown (HELO localhost) (61.197.222.1)
  by lowlife.jp with SMTP; 19 Sep 2002 19:40:44 +0900
Date: Thu, 19 Sep 2002 19:38:27 +0900 (JST)
Message-Id: <20020919.193827.71082838.yasusii@lowlife.jp>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
From: Yasushi Iwata <yasusii@lowlife.jp>
In-Reply-To: <3D8990EF.2020202@lemburg.com>
References: <20020918.214808.41630713.yasusii@lowlife.jp>
	<3D8990EF.2020202@lemburg.com>
X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Thu, 19 Sep 2002 10:55:11 +0200 you wrote:

> This could be caused by missing codecs. Please set the environment
> variable PYTHONVERBOSE and rerun the script to see the traceback.

The traceback is:

$ export PYTHONVERBOSE=x
$ ./cgipython hello
import site # frozen
import os # frozen
import posix # builtin
import posixpath # frozen
import stat # frozen
import UserDict # frozen
import copy_reg # frozen
import types # frozen
import __future__ # frozen
'import site' failed; traceback:
Traceback (most recent call last):
  File "/tmp/Python-2.2.1/Lib/site.py", line 95, in ?
IndexError: list index out of range
Python 2.2.1 (#1, Sep 18 2002, 20:42:17) 
[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)]
Copyright (c) 2001, 2002 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
import __main__ # frozen
Hello!

          -- SNIP --


From mal@lemburg.com Thu Sep 19 13:11:42 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8JBBgw14594;
	Thu, 19 Sep 2002 13:11:42 +0200
Message-ID: <3D89B0FC.9050700@lemburg.com>
Date: Thu, 19 Sep 2002 13:11:56 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Yasushi Iwata <yasusii@lowlife.jp>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
References: <20020918.214808.41630713.yasusii@lowlife.jp>	<3D8990EF.2020202@lemburg.com> <20020919.193827.71082838.yasusii@lowlife.jp>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Yasushi Iwata wrote:
> On Thu, 19 Sep 2002 10:55:11 +0200 you wrote:
> 
> 
>>This could be caused by missing codecs. Please set the environment
>>variable PYTHONVERBOSE and rerun the script to see the traceback.
> 
> 
> The traceback is:
> 
> $ export PYTHONVERBOSE=x
> $ ./cgipython hello
> import site # frozen
> import os # frozen
> import posix # builtin
> import posixpath # frozen
> import stat # frozen
> import UserDict # frozen
> import copy_reg # frozen
> import types # frozen
> import __future__ # frozen
> 'import site' failed; traceback:
> Traceback (most recent call last):
>   File "/tmp/Python-2.2.1/Lib/site.py", line 95, in ?
> IndexError: list index out of range

Interesting. This is the line causing the problem:

# Append ./build/lib.<platform> in case we're running in the build dir
# (especially for Guido :-)
if os.name == "posix" and os.path.basename(sys.path[-1]) == "Modules":
     ...

Looks as if sys.path is empty at the time site.py is loaded.

I tried a similar setup (no PYTHONPATH set, no PYTHONHOME) on
Linux:

private/tmp> ./cgipython test
'import site' failed; use -v for traceback
Hello World!
['.']

with test:

import sys
print 'Hello World!'
print sys.path

The problem goes away if you define the environment variable
PYTHONPATH as empty.

I'd say this is a bug in site.py; I can't see how it can assume
that sys.path is always set. I've fixed this in Python CVS.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From jds@kc.rr.com Sat Sep 21 04:33:41 2002
Received: from mail3.kc.rr.com (fe3.rdc-kc.rr.com [24.94.163.50])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8L2XeQ05318
	for <egenix-users@lists.egenix.com>; Sat, 21 Sep 2002 04:33:41 +0200
Received: from DELL4100 ([216.87.44.54]) by mail3.kc.rr.com  with Microsoft SMTPSVC(5.5.1877.537.53);
	 Fri, 20 Sep 2002 21:29:52 -0500
Message-ID: <000e01c26117$59984a50$362c57d8@DELL4100>
From: "Joe" <jds@kc.rr.com>
To: <egenix-users@lists.egenix.com>
Date: Fri, 20 Sep 2002 21:34:02 -0500
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_000B_01C260ED.704FAA60"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Subject: [egenix-users] mx.ODBC.windows Transaction Problem
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C260ED.704FAA60
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello everyone,

I am using the ODBC windows module to connect to a MSSQL 2000 server, =
everything works except manual-transaction mode. I set it to =
clear_auto_commit (default), so I can use .commit() and .rollback(), and =
I get the Error: Attribute Error: commit. The docs say this means the =
database doesn't support transactions but I know this isn't the case. I =
have a perl script using DBI::ODBC that is able to use transactions. Do =
I need to recompile the module with certain flags to allow the module to =
recognize that the DB supports transactions? Any light that could be =
shed on this problem would be appreciated! Here's a code snippet that =
throws the AttributeError:

import mx.ODBC.Windows

db =3D mx.ODBC.Windows.DriverConnect('DSN=3Dtest;uid=3Dxxx;pwd=3Dxxx')
cursor =3D db.cursor()
cursor.execute("update users set name=3D'bob' where users_pk =3D 15")
cursor.commit()
cursor.close
db.close


------=_NextPart_000_000B_01C260ED.704FAA60
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2716.2200" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello everyone,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I am using the ODBC windows module to =
connect to a=20
MSSQL 2000 server, everything works except manual-transaction mode. I =
set it to=20
clear_auto_commit (default), so I can use .commit() and .rollback(), and =
I get=20
the Error: Attribute Error: commit. The docs say this means the database =
doesn't=20
support transactions but I know this isn't the case. I have a perl =
script using=20
DBI::ODBC that is able to use transactions. Do I need to recompile the =
module=20
with certain flags to allow the module to recognize that the DB supports =

transactions? Any light that could be shed on this problem would be =
appreciated!=20
Here's a code snippet that throws the AttributeError:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>import mx.ODBC.Windows</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>db =3D=20
mx.ODBC.Windows.DriverConnect('DSN=3Dtest;uid=3Dxxx;pwd=3Dxxx')<BR>cursor=
 =3D=20
db.cursor()</FONT></DIV><FONT face=3DArial=20
size=3D2>cursor.execute("update&nbsp;users set name=3D'bob' where =
users_pk =3D=20
15")<BR>cursor.commit()</FONT>
<DIV><FONT face=3DArial size=3D2>cursor.close<BR>db.close</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_000B_01C260ED.704FAA60--



From mal@lemburg.com Sat Sep 21 21:54:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8LJs3Q10945;
	Sat, 21 Sep 2002 21:54:04 +0200
Message-ID: <3D8CCE68.7020207@lemburg.com>
Date: Sat, 21 Sep 2002 21:54:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Joe <jds@kc.rr.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mx.ODBC.windows Transaction Problem
References: <000e01c26117$59984a50$362c57d8@DELL4100>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Joe wrote:
> Hello everyone,
>  
> I am using the ODBC windows module to connect to a MSSQL 2000 server, 
> everything works except manual-transaction mode. I set it to 
> clear_auto_commit (default), so I can use .commit() and .rollback(), and 
> I get the Error: Attribute Error: commit. The docs say this means the 
> database doesn't support transactions but I know this isn't the case. I 
> have a perl script using DBI::ODBC that is able to use transactions. Do 
> I need to recompile the module with certain flags to allow the module to 
> recognize that the DB supports transactions? 

connection.commit() will always succeed -- even on connections which
don't support transactions. connection.rollback() will either
raise an AttributeError or NotSupportedError is the connection
does not support transactions.

 > Any light that could be
> shed on this problem would be appreciated! Here's a code snippet that 
> throws the AttributeError:
>  
> import mx.ODBC.Windows
>  
> db = mx.ODBC.Windows.DriverConnect('DSN=test;uid=xxx;pwd=xxx')
> cursor = db.cursor()
> cursor.execute("update users set name='bob' where users_pk = 15")
> cursor.commit()

.commit() is a method on the connection object, not the cursor.

When calling .commit on the connection you commit all work done
with all cursors currently working on the active transaction
and you implicitly start a new transaction (on all cursors still
possibly open on the connection).

> cursor.close
> db.close

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From marklists@mceahern.com Mon Sep 23 22:08:42 2002
Received: from mailhost.bcv1.ameritech.net (mailhost1-bcvloh.bcvloh.ameritech.net [66.73.20.42])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8NK8gQ29569
	for <egenix-users@lists.egenix.com>; Mon, 23 Sep 2002 22:08:42 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv1.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with ESMTP
          id <20020923200842.TXKB12029.mailhost.bcv1.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Mon, 23 Sep 2002 16:08:42 -0400
From: "Mark McEahern" <marklists@mceahern.com>
To: <egenix-users@lists.egenix.com>
Date: Mon, 23 Sep 2002 15:08:21 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOOENDEAAA.marklists@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
Subject: [egenix-users] mxExperimental on cygwin
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi, here's a patch that allowed me to build and install mxExperimental on
cygwin.  I previously sent a message that is being held for moderator
approval detailing the error messages I was getting when trying to install.
I didn't do anything special when installing gmp on cygwin:  I used the
latest (4.1) and simply did './configure; make; make install'.

The patch:

Index: mxEXPERIMENTAL.py
===================================================================
RCS file: /home/cvs/ysi/contrib/mxExperimental/mxEXPERIMENTAL.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** mxEXPERIMENTAL.py	19 Sep 2002 19:36:04 -0000	1.1
--- mxEXPERIMENTAL.py	23 Sep 2002 19:59:55 -0000	1.2
***************
*** 135,140 ****
--- 135,148 ----
                           libraries=['gmp31'],
                           library_dirs=['mx/Number/mxNumber/win32']),
              ]
+     elif sys.platform == 'cygwin':
+         ext_modules[len(ext_modules):] = [
+
+             mx_Extension('mx.Number.mxNumber.mxNumber',
+                          ['mx/Number/mxNumber/mxNumber.c'],
+                          include_dirs=['mx/Number/mxNumber'],
+                          libraries=['gmp']),
+             ]
      else:
          ext_modules[len(ext_modules):] = [



From mark@mceahern.com Mon Sep 23 20:55:49 2002
Received: from mailhost.bcv1.ameritech.net (mailhost1-bcvloh.bcvloh.ameritech.net [66.73.20.42])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8NItnQ29065
	for <egenix-users@lists.egenix.com>; Mon, 23 Sep 2002 20:55:49 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv1.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with ESMTP
          id <20020923185546.SXVS12029.mailhost.bcv1.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Mon, 23 Sep 2002 14:55:46 -0400
From: "Mark McEahern" <mark@mceahern.com>
To: <egenix-users@lists.egenix.com>
Date: Mon, 23 Sep 2002 13:55:27 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOAEMLEAAA.mark@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
Subject: [egenix-users] mxExperimental on cygwin
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi, I'm trying to install mxExperimental in cygwin.  I've attached the full
output (stdout and stderr) from:

  python setup.py install

below.

I first installed gmp on cygwin (configure; make; make install) and that
seemed to work fine.  I can compile and run the example.c program from gmp's
install docs.  I have the gmp libraries in /usr/local/lib:

  $ ls -l /usr/local/lib
  total 2538
  -rw-r--r--    1 mark     None      2597856 Sep 19 15:32 libgmp.a
  -rw-r--r--    1 mark     None          645 Sep 19 15:32 libgmp.la

I'm not sure whether the reason the setup.py is failing is because it can't
find libgmp, but it looks like that.  How do I tell mxExperimental's
setup.py that libgmp is in /usr/local/lib, assuming that's the problem (and
solution)?

Thanks,

// mark

running install
running build
running build_py
creating build
creating build/lib.cygwin-1.3.12-i686-2.2
creating build/lib.cygwin-1.3.12-i686-2.2/mx
copying mx/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/LazyModule.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/Number.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Number
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
copying mx/Number/mxNumber/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
copying mx/Number/mxNumber/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
copying mx/Tidy/Tidy.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
copying mx/Tidy/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/testWalter.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
creating build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/LazyModule.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/Listing.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/URL.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
creating build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
copying mx/URL/mxURL/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
copying mx/URL/mxURL/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
creating build/lib.cygwin-1.3.12-i686-2.2/mx/UID
copying mx/UID/UID.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/UID
copying mx/UID/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/UID
creating build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
copying mx/UID/mxUID/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
copying mx/UID/mxUID/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
running build_clib
building 'libtidy' library
creating build/temp.cygwin-1.3.12-i686-2.2
creating build/temp.cygwin-1.3.12-i686-2.2/libtidy
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/attrs.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/attrs.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/attrs.c:9:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/clean.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/clean.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/clean.c:47:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/config.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/config.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/config.c:17:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/entities.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/entities.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/entities.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/istack.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/istack.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/istack.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/lexer.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/lexer.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/lexer.c:34:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/localize.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/localize.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/localize.c:13:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/parser.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/parser.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/parser.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/pprint.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/pprint.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/pprint.c:13:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/tags.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tags.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/tags.c:14:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/tidy.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tidy.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/tidy.c:70:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
ar -cr build/temp.cygwin-1.3.12-i686-2.2/liblibtidy.a
build/temp.cygwin-1.3.12-i686-2.2/libtidy/attrs.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/clean.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/config.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/entities.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/istack.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/lexer.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/localize.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/parser.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/pprint.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tags.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tidy.o
running mx_autoconf
macros to define: []
macros to undefine: []
running build_ext
building 'mx.Tidy.mxTidy.mxTidy' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/Tidy/mxTi
dy -Imx/Tidy/mxTidy/libtidy -I/usr/include/python2.2 -c
mx/Tidy/mxTidy/mxTidy.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy/mxTidy.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/mxTidy.c:27:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy/mxTidy.o -Lmx/Tidy/m
xTidy/libtidy -L/usr/lib/python2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.
2 -llibtidy -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy.dll
building 'mx.URL.mxURL.mxURL' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/URL/mxURL
 -I/usr/include/python2.2 -c mx/URL/mxURL/mxURL.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL/mxURL.o
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL/mxURL.o -L/usr/lib/pyth
on2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL.dll
building 'mx.UID.mxUID.mxUID' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/UID/mxUID
 -I/usr/include/python2.2 -c mx/UID/mxUID/mxUID.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID/mxUID.o
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID/mxUID.o -L/usr/lib/pyth
on2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID.dll
building 'mx.Number.mxNumber.mxNumber' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/Number/mx
Number -I/usr/include/python2.2 -c mx/Number/mxNumber/mxNumber.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
mx/Number/mxNumber/mxNumber.c: In function `mxInteger_Getattr':
mx/Number/mxNumber/mxNumber.c:632: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_FromLong':
mx/Number/mxNumber/mxNumber.c:1712: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `_mxRational_FromFloat':
mx/Number/mxNumber/mxNumber.c:1958: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_FromTwoObjects':
mx/Number/mxNumber/mxNumber.c:2295: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_Getattr':
mx/Number/mxNumber/mxNumber.c:2530: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxFloat_New':
mx/Number/mxNumber/mxNumber.c:3139: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxFloat_Getattr':
mx/Number/mxNumber/mxNumber.c:3598: warning: label `onError' defined but not
used
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o -L/
usr/lib/python2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -ll
ibtidy -o build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber.dll
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:399
: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:435
: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:320
: undefined reference to `__gmpz_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:333
: undefined reference to `__gmpz_set_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:690
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:725
: undefined reference to `__gmpz_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:562
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:942
: undefined reference to `__gmpz_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:943
: undefined reference to `__gmpz_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:944
: undefined reference to `__gmpz_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:945
: undefined reference to `__gmpz_tdiv_q'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Negative':
/usr/local/include/gmp.h:1598: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Absolute':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Absolute':
/usr/local/include/gmp.h:1503: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Invert':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:948
: undefined reference to `__gmpz_com'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_And':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:949
: undefined reference to `__gmpz_and'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Or':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:950
: undefined reference to `__gmpz_ior'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Remainder':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:951
: undefined reference to `__gmpz_tdiv_r'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Divmod':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:952
: undefined reference to `__gmpz_tdiv_qr'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Xor':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:976
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:977
: undefined reference to `__gmpz_ior'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:980
: undefined reference to `__gmpz_and'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:983
: undefined reference to `__gmpz_com'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:985
: undefined reference to `__gmpz_and'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:988
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Power':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:103
3: undefined reference to `__gmpz_pow_ui'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:104
2: undefined reference to `__gmpz_powm'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_root':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:115
9: undefined reference to `__gmpz_root'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_gcd':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:126
1: undefined reference to `__gmpz_gcd'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_lcm':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:128
8: undefined reference to `__gmpz_lcm'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_jacobi':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:131
5: undefined reference to `__gmpz_jacobi'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_legendre':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:134
0: undefined reference to `__gmpz_jacobi'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_factorial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:137
1: undefined reference to `__gmpz_fac_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_hamdist':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:144
9: undefined reference to `__gmpz_hamdist'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `farey_rational':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
8: undefined reference to `__gmpf_get_prec'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
8: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
9: undefined reference to `__gmpf_neg'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:179
4: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
7: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
8: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
9: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
0: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
1: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
4: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
5: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
2: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
3: undefined reference to `__gmpz_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
4: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
5: undefined reference to `__gmpz_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
6: undefined reference to `__gmpf_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
7: undefined reference to `__gmpf_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
8: undefined reference to `__gmpf_mul'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
1: undefined reference to `__gmpf_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
4: undefined reference to `__gmpf_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
6: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:185
3: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:185
7: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
0: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
4: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
8: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
3: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
4: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
5: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
6: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
7: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:188
0: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromFareyApprox':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:190
5: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:190
9: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:191
3: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:191
4: undefined reference to `__gmpq_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:193
8: undefined reference to `__gmpf_get_prec'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
1: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
2: undefined reference to `__gmpf_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
3: undefined reference to `__gmpf_mul_2exp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
4: undefined reference to `__gmpf_trunc'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
5: undefined reference to `__gmpz_set_f'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
6: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
9: undefined reference to `__gmpz_set_ui'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:195
0: undefined reference to `__gmpz_mul_2exp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:195
3: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:201
0: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:201
5: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:165
2: undefined reference to `__gmpq_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:202
9: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:203
0: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:204
4: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:204
6: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
2: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
3: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
7: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
8: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
6: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
7: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
8: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
9: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:207
0: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
2: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
4: undefined reference to `__gmpq_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
6: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
8: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
2: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
3: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
4: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
6: undefined reference to `__gmpq_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
8: undefined reference to `__gmpq_sub'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:163
9: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
1: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
2: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
3: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
4: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
5: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
9: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
0: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
1: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
2: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
3: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:170
7: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:172
4: undefined reference to `__gmpq_set_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:165
2: undefined reference to `__gmpq_set_z'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromTwoIntegers':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromTwoObjects':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:168
9: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:169
0: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_AsStringObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:237
3: undefined reference to `__gmpz_sizeinbase'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:237
3: undefined reference to `__gmpz_sizeinbase'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:238
2: undefined reference to `__gmpz_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:239
1: undefined reference to `__gmpz_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:240
6: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Getattr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:307
: undefined reference to `__gmpz_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:307
: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:258
8: undefined reference to `__gmpq_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:262
3: undefined reference to `__gmpq_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
6: undefined reference to `__gmpq_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
7: undefined reference to `__gmpq_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
8: undefined reference to `__gmpq_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
9: undefined reference to `__gmpq_div'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Negative':
/usr/local/include/gmp.h:1674: undefined reference to `__gmpq_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:327
3: undefined reference to `__gmpf_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:330
6: undefined reference to `__gmpf_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:320
0: undefined reference to `__gmpf_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:321
3: undefined reference to `__gmpf_set_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:325
2: undefined reference to `__gmpf_set_q'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsStringObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:342
2: undefined reference to `__gmpf_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:347
5: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Getattr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:358
8: undefined reference to `__gmpf_get_prec'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:364
0: undefined reference to `__gmpf_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:365
3: undefined reference to `__gmpf_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
6: undefined reference to `__gmpf_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
7: undefined reference to `__gmpf_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
8: undefined reference to `__gmpf_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
9: undefined reference to `__gmpf_div'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:385
0: undefined reference to `__gmpf_neg'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Absolute':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:385
1: undefined reference to `__gmpf_abs'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:523
: undefined reference to `__gmpz_get_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `initmxNumber':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
2: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
3: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
4: undefined reference to `__gmpz_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
5: undefined reference to `__gmpz_set_si'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:562
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:523
: undefined reference to `__gmpz_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyInt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:505
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:505
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:510
: undefined reference to `__gmpz_get_si'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Str':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:537
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Repr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:537
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_sqrt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:113
3: undefined reference to `__gmpz_sqrt'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_has_root':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
3: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
4: undefined reference to `__gmpz_root'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
7: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_is_perfect_power':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:120
1: undefined reference to `__gmpz_perfect_power_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_is_perfect_square':
/usr/local/include/gmp.h:1614: undefined reference to
`__gmpn_perfect_square_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_prime':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:123
6: undefined reference to `__gmpz_probab_prime_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_over':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:139
7: undefined reference to `__gmpz_bin_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_popcount':
/usr/local/include/gmp.h:1630: undefined reference to `__gmpn_popcount'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:161
4: undefined reference to `__gmpq_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:339
1: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsPyInt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:337
2: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:339
1: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Factorial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:438
3: undefined reference to `__gmpz_fac_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Binomial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:440
9: undefined reference to `__gmpz_bin_uiui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Fibonacci':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:443
5: undefined reference to `__gmpz_fib_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumberModule_Cleanup':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:450
1: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:450
2: undefined reference to `__gmpz_clear'
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1


From mal@lemburg.com Tue Sep 24 09:55:34 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8O7tOQ02372;
	Tue, 24 Sep 2002 09:55:34 +0200
Message-ID: <3D901A7A.8090305@lemburg.com>
Date: Tue, 24 Sep 2002 09:55:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <mark@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOAEMLEAAA.mark@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> Hi, I'm trying to install mxExperimental in cygwin.  I've attached the full
> output (stdout and stderr) from:
> 
>   python setup.py install
> 
> below.
> 
> I first installed gmp on cygwin (configure; make; make install) and that
> seemed to work fine.  I can compile and run the example.c program from gmp's
> install docs.  I have the gmp libraries in /usr/local/lib:
> 
>   $ ls -l /usr/local/lib
>   total 2538
>   -rw-r--r--    1 mark     None      2597856 Sep 19 15:32 libgmp.a
>   -rw-r--r--    1 mark     None          645 Sep 19 15:32 libgmp.la
> 
> I'm not sure whether the reason the setup.py is failing is because it can't
> find libgmp, but it looks like that.  How do I tell mxExperimental's
> setup.py that libgmp is in /usr/local/lib, assuming that's the problem (and
> solution)?

First: are you using the beta1 of egenix-mx-experimental ?
If not, please try that version first. setup.py should look in
/usr/local/lib per default, so no special options are needed.

Makes me think: I should probably ship a new beta of that
package...

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mark@mceahern.com Tue Sep 24 15:11:59 2002
Received: from mceahern.com (maxmail002.maximumasp.com [216.26.162.8])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ODBmQ04516
	for <egenix-users@lists.egenix.com>; Tue, 24 Sep 2002 15:11:59 +0200
Received: from LAPMARK [64.108.128.240] by mceahern.com with ESMTP
  (SMTPD32-7.12) id A46F508008A; Tue, 24 Sep 2002 09:11:11 -0400
From: "Mark McEahern" <mark@mceahern.com>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] mxExperimental on cygwin
Date: Tue, 24 Sep 2002 08:11:00 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOGEAJEBAA.mark@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
In-Reply-To: <3D901A7A.8090305@lemburg.com>
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[M.-A. Lemburg]
> First: are you using the beta1 of egenix-mx-experimental ?
> If not, please try that version first. setup.py should look in
> /usr/local/lib per default, so no special options are needed.
>
> Makes me think: I should probably ship a new beta of that
> package...

I'm sorry, I should have specified what version I was using in my original
email.  I'm using this version:

  http://www.egenix.com/files/python/egenix-mx-experimental-0.6.0.tar.gz

Is that what you're referring to as beta1?  I assume you saw the patch I
posted to mxEXPERIMENTAL.py where the distutils package is defined.  I was
able to install it successfully on cygwin simply by explicitly specifying
the library:


http://lists.egenix.com/mailman-archives/egenix-users/2002-September/000126.
html

Of course, I'm not a master at using either gcc or distutils, so there may
be an obvious reason why my patch is braindead.

I really appreciate this package.  In particular I'm using mxTidy and it
works dandy.  Thanks!

Cheers,

// mark

-


From mal@lemburg.com Tue Sep 24 15:57:25 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ODvOQ04837;
	Tue, 24 Sep 2002 15:57:24 +0200
Message-ID: <3D906F56.6010701@lemburg.com>
Date: Tue, 24 Sep 2002 15:57:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <mark@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOGEAJEBAA.mark@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> [M.-A. Lemburg]
> 
>>First: are you using the beta1 of egenix-mx-experimental ?
>>If not, please try that version first. setup.py should look in
>>/usr/local/lib per default, so no special options are needed.
>>
>>Makes me think: I should probably ship a new beta of that
>>package...
> 
> 
> I'm sorry, I should have specified what version I was using in my original
> email.  I'm using this version:
> 
>   http://www.egenix.com/files/python/egenix-mx-experimental-0.6.0.tar.gz

This is the latest beta:

    http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz

> Is that what you're referring to as beta1?  I assume you saw the patch I
> posted to mxEXPERIMENTAL.py where the distutils package is defined.  I was
> able to install it successfully on cygwin simply by explicitly specifying
> the library:
> 
> 
> http://lists.egenix.com/mailman-archives/egenix-users/2002-September/000126.
> html
 >
> Of course, I'm not a master at using either gcc or distutils, so there may
> be an obvious reason why my patch is braindead.

Not at all: the explicit mention is what was missing in 0.6.0 :-)

> I really appreciate this package.  In particular I'm using mxTidy and it
> works dandy.  Thanks!

You're welcome.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From marklists@mceahern.com Tue Sep 24 17:13:51 2002
Received: from mailhost.bcv2.ameritech.net (mailhost2-bcvloh.bcvloh.ameritech.net [66.73.20.44])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8OFDjQ05490
	for <egenix-users@lists.egenix.com>; Tue, 24 Sep 2002 17:13:51 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv2.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with SMTP
          id <20020924151330.HEII339.mailhost.bcv2.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Tue, 24 Sep 2002 11:13:30 -0400
From: "Mark McEahern" <marklists@mceahern.com>
To: <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] mxExperimental on cygwin
Date: Tue, 24 Sep 2002 10:13:16 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOKEBEEBAA.marklists@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
In-Reply-To: <3D906F56.6010701@lemburg.com>
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[M.-A. Lemburg [mailto:mal@lemburg.com]]
>Not at all: the explicit mention is what was missing in 0.6.0 :-)

I think part of the reason I was unsure about the validity of my hack for
cygwin is that it was entirely unnecessary on Linux.  That is, without
explicitly mentioning gmp (by the way, is that pronounced "gimp"?) in the
libraries, it worked on Linux (RH 7.3), so no mods were necessary with
0.6.0.

Cheers,

// m


From mal@lemburg.com Tue Sep 24 17:23:37 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8OFNbQ05602;
	Tue, 24 Sep 2002 17:23:37 +0200
Message-ID: <3D90838B.8040609@lemburg.com>
Date: Tue, 24 Sep 2002 17:23:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <marklists@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOKEBEEBAA.marklists@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> [M.-A. Lemburg [mailto:mal@lemburg.com]]
> 
>>Not at all: the explicit mention is what was missing in 0.6.0 :-)
> 
> 
> I think part of the reason I was unsure about the validity of my hack for
> cygwin is that it was entirely unnecessary on Linux.  That is, without
> explicitly mentioning gmp (by the way, is that pronounced "gimp"?)

No, GIMP is a graphics tool.

 > in the
> libraries, it worked on Linux (RH 7.3), so no mods were necessary with
> 0.6.0.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Wed Sep 25 18:14:27 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PGERQ15685;
	Wed, 25 Sep 2002 18:14:27 +0200
Message-ID: <3D91E0D2.3040702@lemburg.com>
Date: Wed, 25 Sep 2002 18:14:10 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.0.4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

________________________________________________________________________

ANNOUNCING:

              eGenix.com mx BASE Extension Package for Python
                              Version 2.0.4

        Open Source Python extensions providing important and useful
                    services for Python programmers.


________________________________________________________________________

WHAT IS IT ?:

The eGenix.com mx BASE Extensions for Python are a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed datatypes.

Python is an object-oriented Open Source programming language which
runs on all modern platforms (http://www.python.org/). By integrating
ease-of-use, clarity in coding, enterprise application connectivity
and rapid application design, Python establishes an ideal programming
platform for todays IT challenges.

The tools have a proven record of being portable across many Unix and
Windows platforms. You can write applications which use the tools on
Windows and then run them on Unix platforms without change due to the
consistent platform independent interfaces.

All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.

________________________________________________________________________

WHAT'S NEW ?

The RPM packages were updated to install to /usr/ instead
of /usr/local/ to comply with the Linux Standard Base (LSB)
and to be compatible with the Python RPMs which are available
from python.org.

As always we are providing precompiled versions of the package for
Windows and Linux as well as sources which allow you to install the
package on all other supported platforms.

________________________________________________________________________

EGENIX.COM MX BASE PACKAGE OVERVIEW:

mxDateTime - Generic Date/Time Types

       mxDateTime is an extension package that provides three new object
       types, DateTime, DateTimeDelta and RelativeDateTime, which let
       you store and handle date/time values in a much more natural way
       than by using ticks (seconds since 1.1.70 0:00 UTC; the encoding
       used by the time module).

       You can add, subtract and even multiply instances, pickle and
       copy them and convert the results to strings, COM dates, ticks
       and some other more esoteric values. In addition, there are
       several convenient constructors and formatters at hand to greatly
       simplify dealing with dates and times in real-world applications.

       In addition to providing an easy-to-use Python interface the
       package also exports a comfortable C API interface for other
       extensions to build upon. This is especially interesting for
       database applications which often have to deal with date/time
       values (the mxODBC package is one example of an extension using
       this interface).

mxTextTools - Fast Text Processing Tools

       mxTextTools is an extension package for Python that provides
       several useful functions and types that implement
       high-performance text manipulation and searching algorithms in
       addition to a very flexible and extendable state machine, the
       Tagging Engine, that allows scanning and processing text based on
       low-level byte-code "programs" written using Python tuples. It
       gives you access to the speed of C without the need to do any
       compile and link steps every time you change the parsing
       description.

       Applications include parsing structured text, finding and
       extracting text (either exact or using translation tables) and
       recombining strings to form new text.

mxStack - Fast and Memory-Efficient Stack Type

       mxStack is an extension package that provides a new object type
       called Stack. It works much like what you would expect from such
       a type, having .push() and .pop() methods and focusses on
       obtaining maximum speed at low memory costs.

mxTools - Collection of Additional Builtins

       mxTools is an extension package that includes a collection of
       handy functions and objects giving additional functionality in
       form of new builtins to the Python programmer.

       The package auto-installs the new functions and objects as
       builtins upon first import. This means that they become
       instantely available to all other modules without any further
       action on your part. Add the line import NewBuiltins to your
       site.py script and they will be available to all users at your
       site as if they were installed in the Python interpreter itself.

mxProxy - Generic Proxy Wrapper Type

       mxProxy is an extension package that provides a new type that is
       suitable to implement Bastion like features without the need to
       use restricted execution environments.

       The type's main features are secure data encapsulation (the
       hidden objects are not accessible from Python since they are
       stored in internal C structures), customizable attribute lookup
       methods and a cleanup protocol that helps in breaking circular
       references prior to object deletion.

       The latest version adds a very interesting new feature: weak
       references which help you work with circular references in a way
       that doesn't cause memory leakage in a Python system. Note that
       even though Python 2.1+ has its own weak reference implemetation,
       this package can be used to write applications which also work on
       Python 1.5.2 and 2.0.

mxBeeBase - On-disk B+Tree Based Database Kit

       mxBeeBase is a high performance construction kit for disk based
       indexed databases. It offers components which you can plug
       together to easily build your own custom mid-sized databases (the
       current size limit is sizeof(long) which gives you an address
       range of around 2GB on 32-bit platforms).

       The two basic building blocks in mxBeeBase are storage and
       index. Storage is implemented as variable record length data
       storage with integrated data protection features, automatic data
       recovery and locking for multi process access. Indexes use a high
       performance optimized B+Tree implementation built on top of
       Thomas Niemann's Cookbook B+Tree implementation
       (http://epaperpress.com/).

________________________________________________________________________

WHERE CAN I GET IT ?

The download archives and instructions for installing the packages can
be found at:

       http://www.egenix.com/

________________________________________________________________________

WHAT DOES IT COST ?

The BASE package comes with a Python 2.0 style license, which means
that you can use it in both commercial and non-commercial settings
without fee or charge. The package comes with full source code.


________________________________________________________________________

WHERE CAN I GET SUPPORT ?

Commercial quality support for these packages is available from
eGenix.com Software GmbH. Please see

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support

for details about the eGenix support offerings.

________________________________________________________________________


Enjoy,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/





From mal@lemburg.com Wed Sep 25 18:14:27 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PGEQQ15680;
	Wed, 25 Sep 2002 18:14:26 +0200
Message-ID: <3D91E0C0.5060407@lemburg.com>
Date: Wed, 25 Sep 2002 18:13:52 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx EXPERIMENTAL Package 0.7.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

________________________________________________________________________

ANNOUNCING:

          eGenix.com mx EXPERIMENTAL Extension Package for Python
                              Version 0.7.0

       Experimental Python extensions providing important and useful
                      services for Python programmers.


________________________________________________________________________

WHAT IS IT ?:

The eGenix.com mx Experimental Extensions for Python are a collection
of alpha and beta quality software tools for Python which will be
integrated into the other mx Extension Packages after they have
matured to professional quality tools.

Python is an object-oriented Open Source programming language which
runs on all modern platforms (http://www.python.org/). By integrating
ease-of-use, clarity in coding, enterprise application connectivity
and rapid application design, Python establishes an ideal programming
platform for todays IT challenges.

________________________________________________________________________

WHAT'S NEW ?

This release fixes a few minor bugs and solves the distutils
problem with mxNumber. It also comes with an updated distutils
setup which installs the RPMs into /usr/ rather than /usr/local/.

________________________________________________________________________

EGENIX.COM MX EXPERIMENTAL PACKAGE OVERVIEW:


mxNumber - Python Interface to GNU MP Number Types

       mxNumber provides direct access to the high performance numeric
       types available in the GNU Multi-Precision Lib (GMP).  This
       library is licensed under the LGPL and runs on practically all
       Unix platforms. eGenix.com has ported the GMP lib to Windows, to
       also provide our Windows users with the added benefit of being
       able to do arbitrary precision calculations.

       The package currently provide these numerical types:

       1. Integer(value)      -- arbitrary precision integers much like
                                 Python longs only faster
       2. Rational(nom,denom) -- rational numbers with Integers as
                                 numerator and denominator
       3. Float(value[,prec]) -- floating point number with at least
                                 prec bits precision
       4. FareyRational(value, maxden)
                              -- calculate the best rational represenation
                                 n/d of value such that d < maxden

mxTidy - Interface to HTML Tidy (HTML/XML cleanup tool)

       mxTidy provides a Python interface to a thread-safe, library
       version of the HTML Tidy. command line tool.

       HTML Tidy helps you to cleanup coding errors in HTML and XML
       files and produce well-formed HTML, XHTML or XML as output. This
       allows you to preprocess web-page for inclusion in XML
       repositories, prepare broken XML files for validation and also
       makes it possible to write converters from well-known word
       processing applications such as MS Word to other structured data
       representations by using XML as intermediate format.

mxURL - A URL Datatype

       mxURL provides a new datatype for storing and manipulating URL
       values as well as a few helpers related to URL building, encoding
       and decoding.

       The main intention of the package is to provide an easy to use,
       fast and lightwheight datatype for Universal Resource Locators
       (note the W3C now calls these URIs).

mxUID - A UID Datatype

       mxUID provides a fast mechanism for generating universal
       identification strings (UIDs). The intent is to make these UIDs
       unique with high probability in order to serve as object or data
       set identifiers.

       A typical use lies in generating session IDs. Other areas where
       unique IDs play an important role are RPC-implementations,
       ORBs, etc.

________________________________________________________________________

WHERE CAN I DOWNLOAD IT ?

The download archives and instructions for installing the packages can
be found at:

       http://www.egenix.com/

Note that in order to use the eGenix.com mx EXPERIMENTAL package you
will first need to install the eGenix.com mx BASE package which can
be downloaded from the same location.

________________________________________________________________________

WHAT DOES IT COST ?

The EXPERIMENTAL packages uses different licenses in its subpackages.
Please refer to the subpackage documentation for details. Some of them
may be integrated into the BASE package, others will be integrated
into the COMMERCIAL package.

The package comes with full source code

________________________________________________________________________

WHERE CAN I GET SUPPORT ?

Commercial quality support for these packages is available from
eGenix.com. Please see

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support

for details about our support offerings.

________________________________________________________________________


Enjoy,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                        http://www.lemburg.com/python/




From mal@lemburg.com Wed Sep 25 18:14:28 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PGERQ15690;
	Wed, 25 Sep 2002 18:14:27 +0200
Message-ID: <3D91E0E9.3040309@lemburg.com>
Date: Wed, 25 Sep 2002 18:14:33 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mxODBC Python Database Interface Version 2.0.5
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

________________________________________________________________________

ANNOUNCING:

     eGenix.com mxODBC Database Interface for Python 1.5.2 - 2.2
                            Version 2.0.5

      Full Source Python extension providing ODBC connectivity
         to Python applications on Windows, Unix abd Linux


________________________________________________________________________

WHAT IS IT ?:

The mxODBC Database Interface allows users to connect from Python
to just about any database on the market today, on Windows, Unix
and Linux -- using just one interface to program against for all
supported databases and platforms. This makes mxODBC the ideal
basis for writing cross-platform database programs and
utilities.

mxODBC is included in the eGenix.com mx COMMERCIAL Extension Package
for Python, the commercial part of the eGenix.com mx Extension Series,
a collection of professional quality software tools which enhance
Python's usability in many important areas such as ODBC database
connectivity, fast text processing, date/time processing and
web site programming. See http://www.egenix.com/ for details.

________________________________________________________________________

WHAT'S NEW ?

The 2.0.5 version introduces work-arounds for bugs in various
ODBC drivers to enhance the compatibility of mxODBC with
Unicode-aware ODBC drivers such as the latest MS Access and
MS SQL Server drivers.

________________________________________________________________________

EGENIX.COM MX COMMERCIAL PACKAGE OVERVIEW:

mxODBC - Generic ODBC 2.0-3.5 interface for Python

       mxODBC is an extension package that provides a Python Database
       API compliant interface to ODBC capable database drivers and
       managers.

       In addition to the capabilities provided through the standard DB
       API it also gives access to a rich set of catalog methods which
       allow you to scan the database for tables, procedures,
       etc. Furthermore, it uses the mxDateTime package for date/time
       value interfacing eliminating most of the problems these types
       normally introduce (other in/output formats are available too).

       mxODBC allows you to interface to more than one database from one
       process, making inter-database interfacing very flexible and
       reliable.

       The source version includes a varity of preconfigured setups for
       many commonly used databases such as MySQL, Oracle, Informix,
       Solid, SAP DB, Sybase ASA and ASE, DBMaker and many more. The
       precompiled versions for Windows and Linux include the interfaces
       to the standard ODBC manager on these platforms to allow for a
       more easily configurable setup.

       More details are available at:

            http://www.egenix.com/files/python/mxODBC.html

________________________________________________________________________

WHERE CAN I DOWNLOAD IT ?

The download archives and instructions for installing the package can
be found at:

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Packages

Note that in order to use the eGenix.com mx COMMERCIAL package you
will first need to install the eGenix.com mx BASE package which can
be downloaded from the same location.

________________________________________________________________________

WHERE CAN I BUY LICENSES ?

mxODBC is free for non-commercial use. Commercial users have to
buy licenses for continued use after a 30-day evaluation period.
Special licensing setups are available for commercial product
developers. Please see

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#BuyLicenses

for details.

________________________________________________________________________

WHERE CAN I GET SUPPORT ?

Commercial quality support for these packages is available from
eGenix.com. Please see

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support

for details about our support offerings.

________________________________________________________________________


Enjoy,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/




From Jim.Vickroy@noaa.gov Wed Sep 25 22:57:19 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PKvIQ17878
	for <egenix-users@lists.egenix.com>; Wed, 25 Sep 2002 22:57:18 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id H30I7H00.EB0; Wed, 25 Sep 2002 14:57:17 -0600 
Message-ID: <3D92232E.402E4F74@noaa.gov>
Date: Wed, 25 Sep 2002 14:57:18 -0600
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx EXPERIMENTAL Package 0.7.0
References: <3D91E0C0.5060407@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I have not been able to find v 0.7.0 on the download page.

"M.-A. Lemburg" wrote:

> ________________________________________________________________________
>
> ANNOUNCING:
>
>           eGenix.com mx EXPERIMENTAL Extension Package for Python
>                               Version 0.7.0
>
>        Experimental Python extensions providing important and useful
>                       services for Python programmers.
>
> ________________________________________________________________________
>
> WHAT IS IT ?:
>
> The eGenix.com mx Experimental Extensions for Python are a collection
> of alpha and beta quality software tools for Python which will be
> integrated into the other mx Extension Packages after they have
> matured to professional quality tools.
>
> Python is an object-oriented Open Source programming language which
> runs on all modern platforms (http://www.python.org/). By integrating
> ease-of-use, clarity in coding, enterprise application connectivity
> and rapid application design, Python establishes an ideal programming
> platform for todays IT challenges.
>
> ________________________________________________________________________
>
> WHAT'S NEW ?
>
> This release fixes a few minor bugs and solves the distutils
> problem with mxNumber. It also comes with an updated distutils
> setup which installs the RPMs into /usr/ rather than /usr/local/.
>
> ________________________________________________________________________
>
> EGENIX.COM MX EXPERIMENTAL PACKAGE OVERVIEW:
>
> mxNumber - Python Interface to GNU MP Number Types
>
>        mxNumber provides direct access to the high performance numeric
>        types available in the GNU Multi-Precision Lib (GMP).  This
>        library is licensed under the LGPL and runs on practically all
>        Unix platforms. eGenix.com has ported the GMP lib to Windows, to
>        also provide our Windows users with the added benefit of being
>        able to do arbitrary precision calculations.
>
>        The package currently provide these numerical types:
>
>        1. Integer(value)      -- arbitrary precision integers much like
>                                  Python longs only faster
>        2. Rational(nom,denom) -- rational numbers with Integers as
>                                  numerator and denominator
>        3. Float(value[,prec]) -- floating point number with at least
>                                  prec bits precision
>        4. FareyRational(value, maxden)
>                               -- calculate the best rational represenation
>                                  n/d of value such that d < maxden
>
> mxTidy - Interface to HTML Tidy (HTML/XML cleanup tool)
>
>        mxTidy provides a Python interface to a thread-safe, library
>        version of the HTML Tidy. command line tool.
>
>        HTML Tidy helps you to cleanup coding errors in HTML and XML
>        files and produce well-formed HTML, XHTML or XML as output. This
>        allows you to preprocess web-page for inclusion in XML
>        repositories, prepare broken XML files for validation and also
>        makes it possible to write converters from well-known word
>        processing applications such as MS Word to other structured data
>        representations by using XML as intermediate format.
>
> mxURL - A URL Datatype
>
>        mxURL provides a new datatype for storing and manipulating URL
>        values as well as a few helpers related to URL building, encoding
>        and decoding.
>
>        The main intention of the package is to provide an easy to use,
>        fast and lightwheight datatype for Universal Resource Locators
>        (note the W3C now calls these URIs).
>
> mxUID - A UID Datatype
>
>        mxUID provides a fast mechanism for generating universal
>        identification strings (UIDs). The intent is to make these UIDs
>        unique with high probability in order to serve as object or data
>        set identifiers.
>
>        A typical use lies in generating session IDs. Other areas where
>        unique IDs play an important role are RPC-implementations,
>        ORBs, etc.
>
> ________________________________________________________________________
>
> WHERE CAN I DOWNLOAD IT ?
>
> The download archives and instructions for installing the packages can
> be found at:
>
>        http://www.egenix.com/
>
> Note that in order to use the eGenix.com mx EXPERIMENTAL package you
> will first need to install the eGenix.com mx BASE package which can
> be downloaded from the same location.
>
> ________________________________________________________________________
>
> WHAT DOES IT COST ?
>
> The EXPERIMENTAL packages uses different licenses in its subpackages.
> Please refer to the subpackage documentation for details. Some of them
> may be integrated into the BASE package, others will be integrated
> into the COMMERCIAL package.
>
> The package comes with full source code
>
> ________________________________________________________________________
>
> WHERE CAN I GET SUPPORT ?
>
> Commercial quality support for these packages is available from
> eGenix.com. Please see
>
> http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support
>
> for details about our support offerings.
>
> ________________________________________________________________________
>
> Enjoy,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                        http://www.lemburg.com/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Thu Sep 26 09:50:49 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8Q7oIQ22812;
	Thu, 26 Sep 2002 09:50:49 +0200
Message-ID: <3D92BC4A.2000105@lemburg.com>
Date: Thu, 26 Sep 2002 09:50:34 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx EXPERIMENTAL Package 0.7.0
References: <3D91E0C0.5060407@lemburg.com> <3D92232E.402E4F74@noaa.gov>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:
> I have not been able to find v 0.7.0 on the download page.

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#mxEXPERIMENTAL

and little further down, the page lists the download links.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From zxo102@yahoo.com Sat Oct  5 19:53:05 2002
Received: from web10803.mail.yahoo.com (web10803.mail.yahoo.com [216.136.130.245])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g95Hr4I20715
	for <egenix-users@lists.egenix.com>; Sat, 5 Oct 2002 19:53:04 +0200
Message-ID: <20021005175244.93806.qmail@web10803.mail.yahoo.com>
Received: from [64.175.245.226] by web10803.mail.yahoo.com via HTTP; Sat, 05 Oct 2002 10:52:44 PDT
Date: Sat, 5 Oct 2002 10:52:44 -0700 (PDT)
From: zhihua ouyang <zxo102@yahoo.com>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] How to get a list of table names via ODBC in Windows using mxODBC?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi All:
  I just start to use mxODBC and have no problem to
fetch records from a table via ODBC in windows using
mxODBC. But I don't know how to get a list of table
names for a given database via ODBC in Windows using
mxODBC? Does anyone know how to get it?

Thanks very much in advance.


Zhihua Ouyang



__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

From mal@lemburg.com Sat Oct  5 21:28:50 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g95JSnI21230;
	Sat, 5 Oct 2002 21:28:49 +0200
Message-ID: <3D9F3D8B.8050600@lemburg.com>
Date: Sat, 05 Oct 2002 21:29:15 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: zhihua ouyang <zxo102@yahoo.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to get a list of table names via ODBC in Windows
 using mxODBC?
References: <20021005175244.93806.qmail@web10803.mail.yahoo.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

zhihua ouyang wrote:
> Hi All:
>   I just start to use mxODBC and have no problem to
> fetch records from a table via ODBC in windows using
> mxODBC. But I don't know how to get a list of table
> names for a given database via ODBC in Windows using
> mxODBC? Does anyone know how to get it?
> 
> Thanks very much in advance.

The .tables() catalog method will give you this information:

"""
Catalog Methods

Catalog methods allow you to access meta-level and structural information about a data source in a (more-or-less) 
portable way. Please note that these methods are extensions to the DB API standard. Also, some ODBC drivers to not 
support all of these methods or return unusable data. As a result, you should verify correct operation for your target 
data sources prior to relying on these methods.

All of the following catalog methods use the same interface: they do an implicit call to cursor.execute() and return 
their output in form of a list of rows which that can be fetched with the fetchXXX() methods in the usual way. The 
methods always return the number of rows in the result set.

Please refer to the ODBC documentation for more detailed information about parameters (if you pass None as a value where 
a string would be expected, that entry is converted to NULL before passing it to the underlying ODBC API) and the layout 
of the result sets.

Notes:

The result set layouts described here may not apply to your data source. Some databases do not provide all the 
information given here and thus generate slightly different result sets; expect column omissions or additions.

All catalog methods support keywords and use the indicated default values for parameters which are omitted in the call.

IMPORTANT: The search patterns given as parameters to these catalog methods are usually interpreted in a case-sensitive 
way. This means that even if the database itself behaves case-insensitive for identifiers, you may still not find what 
you're looking for if you don't use the case which the database internally uses to store the identifier. As an example 
take the SAP DB: it stores all unquoted identifiers using uppercase letters. Trying to fetch e.g. information about a 
table using a lowercase version of the name will result in an empty result set. You can use 
connection.getinfo(SQL.IDENTIFIER_CASE) to determine how the database stores identifiers. See the ODBC documentation for 
details.

.tables(qualifier=None, owner=None, table=None, type=None)
     Catalog method which generates a result set having the following schema:

     Column Name Column Datatype Comment
     TABLE_CAT VARCHAR(128) The name of the catalog containing TABLE_SCHEM. This column contains a NULL value.
     TABLE_SCHEM VARCHAR(128) The name of the schema containing TABLE_NAME.
     TABLE_NAME VARCHAR(128) The name of the table, or view, or alias, or synonym.
     TABLE_TYPE VARCHAR(128) Identifies the type given by the name in the TABLE_NAME column. It can have the string 
values "TABLE", "VIEW", "INOPERATIVE VIEW", "SYSTEM TABLE", "ALIAS", or "SYNONYM".
     REMARKS VARCHAR(254) Contains the descriptive information about the table.
"""

See the Microsoft ODBC site for the ODBC documentation.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From zxo102@yahoo.com Sat Oct  5 19:38:26 2002
Received: from web10804.mail.yahoo.com (web10804.mail.yahoo.com [216.136.130.246])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g95HcPI20588
	for <egenix-users@lists.egenix.com>; Sat, 5 Oct 2002 19:38:26 +0200
Message-ID: <20021005173808.82754.qmail@web10804.mail.yahoo.com>
Received: from [64.175.245.226] by web10804.mail.yahoo.com via HTTP; Sat, 05 Oct 2002 10:38:08 PDT
Date: Sat, 5 Oct 2002 10:38:08 -0700 (PDT)
From: zhihua ouyang <zxo102@yahoo.com>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] How to get a list of table names via ODBC in windows using mxODBC?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi all:
   I just start to use mxODBC in Windows and have no
problem to get records from a table via ODBC in
Windows Using mxODBC. But I don't know how to get a
list of table names for a given database via ODBC in
Windows using mxODBC.  Does anybody know how to do it?


Thanks very much in advance.

Zhihua Ouyang


__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

From gashton@cmedltd.com Tue Oct  8 13:05:55 2002
Received: from cambridge.cmedltd.com (host99.thirdphase.com [194.202.166.99] (may be forged))
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g98B5tI15027
	for <egenix-users@lists.egenix.com>; Tue, 8 Oct 2002 13:05:55 +0200
Received: (qmail 20773 invoked by uid 8); 8 Oct 2002 11:05:56 -0000
Received: from ratchet.cambridge.cmedltd.com (192.168.64.217)
	by jack.cambridge.cmedltd.com with SMTP id smtpdoK5qSx; Tue, 08 Oct 2002 07:05:52 EDT
From: Graham Ashton <gashton@cmedltd.com>
To: egenix-users@lists.egenix.com
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 08 Oct 2002 12:13:00 +0100
Message-Id: <1034075580.21223.23.camel@ratchet.cambridge.cmedltd.com>
Mime-Version: 1.0
Subject: [egenix-users] Date conversion weirdness
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi. Can anybody explain what is happening here, and how I should get
round it?

% python
Python 2.2 (#2, Mar 11 2002, 13:24:00) 
[GCC 2.95.3 20010315 (release)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import DateTime, gmtime
>>> dt = DateTime(1971, 06, 23)
>>> dt2 = gmtime(dt)
>>> dt2.strftime('%d-%b-%Y')
'22-Jun-1971'

I was expecting 23-Jun-1971 to pop out of the end of there.

It doesn't happen for most dates, but seems to be a problem for a
significant portion of 1971!

-- 
Graham Ashton


From mal@lemburg.com Tue Oct  8 13:18:38 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g98BI0I15105;
	Tue, 8 Oct 2002 13:18:38 +0200
Message-ID: <3DA2BF00.2010605@lemburg.com>
Date: Tue, 08 Oct 2002 13:18:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Graham Ashton <gashton@cmedltd.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Date conversion weirdness
References: <1034075580.21223.23.camel@ratchet.cambridge.cmedltd.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Graham Ashton wrote:
> Hi. Can anybody explain what is happening here, and how I should get
> round it?
> 
> % python
> Python 2.2 (#2, Mar 11 2002, 13:24:00) 
> [GCC 2.95.3 20010315 (release)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>from mx.DateTime import DateTime, gmtime
>>>>dt = DateTime(1971, 06, 23)
>>>>dt2 = gmtime(dt)
>>>>dt2.strftime('%d-%b-%Y')
> 
> '22-Jun-1971'
> 
> I was expecting 23-Jun-1971 to pop out of the end of there.

The outcome depends on your local time zone:

 >>> dt = DateTime(1971, 06, 23)
 >>> dt
<DateTime object for '1971-06-23 00:00:00.00' at 817d998>
 >>> gmtime(dt)
<DateTime object for '1971-06-22 23:00:00.00' at 81b3ae0>

(this is GMT+1)

> It doesn't happen for most dates, but seems to be a problem for a
> significant portion of 1971!

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From sholden@holdenweb.com Tue Oct  8 14:17:35 2002
Received: from mail3.atl.registeredsite.com (mail3.atl.registeredsite.com [64.224.219.77])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g98CHYI22795
	for <egenix-users@lists.egenix.com>; Tue, 8 Oct 2002 14:17:35 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail3.atl.registeredsite.com (8.12.2/8.12.5) with ESMTP id g98CH4WK004522;
	Tue, 8 Oct 2002 08:17:05 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id ACBD237C00D6; Tue, 08 Oct 2002 08:17:01 -0400
Message-ID: <01b701c26ec4$49588aa0$6300000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Graham Ashton" <gashton@cmedltd.com>, <egenix-users@lists.egenix.com>
References: <1034075580.21223.23.camel@ratchet.cambridge.cmedltd.com>
Subject: Re: [egenix-users] Date conversion weirdness
Date: Tue, 8 Oct 2002 08:14:42 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Graham Ashton wrote:

> Hi. Can anybody explain what is happening here, and how I should get
> round it?
>
> % python
> Python 2.2 (#2, Mar 11 2002, 13:24:00)
> [GCC 2.95.3 20010315 (release)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from mx.DateTime import DateTime, gmtime
> >>> dt = DateTime(1971, 06, 23)
> >>> dt2 = gmtime(dt)
> >>> dt2.strftime('%d-%b-%Y')
> '22-Jun-1971'
>
> I was expecting 23-Jun-1971 to pop out of the end of there.
>
> It doesn't happen for most dates, but seems to be a problem for a
> significant portion of 1971!
>

Strange. I wonder if this is dependent on your time zone? Or perhaps your
mxDateTime version? It works for me both under Cygwin (shown below) and
vanillla Windows Python 2.2.

Python 2.2.1 (#1, Jun 25 2002, 10:55:46)
[GCC 2.95.3-5 (cygwin special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import DateTime, gmtime
>>> dt = DateTime(1971, 06, 23)
>>> dt2 = gmtime(dt)
>>> dt2
<DateTime object for '1971-06-23 04:00:00.00' at 10117100>
>>> dt2.strftime('%d-%b-%Y')
'23-Jun-1971'
>>>

regards
-----------------------------------------------------------------------
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                 http://pydish.holdenweb.com/pwp/
Previous .sig file retired to                    www.homeforoldsigs.com
-----------------------------------------------------------------------



From yelled@yahoo.com Tue Oct 15 17:59:20 2002
Received: from web11608.mail.yahoo.com (web11608.mail.yahoo.com [216.136.172.60])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g9FFxJ013088
	for <egenix-users@lists.egenix.com>; Tue, 15 Oct 2002 17:59:19 +0200
Message-ID: <20021015155919.38399.qmail@web11608.mail.yahoo.com>
Received: from [208.202.87.2] by web11608.mail.yahoo.com via HTTP; Tue, 15 Oct 2002 08:59:19 PDT
Date: Tue, 15 Oct 2002 08:59:19 -0700 (PDT)
From: "S. Hoon Yoon" <yelled@yahoo.com>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] Solaris Compile problem
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi:

  I am trying to install mxDateTime package on Solaris and getting a
strange message that I do not understand. Any thoughts will be very
much appreciated.
  TIA,

Hoon,
----------------------------------------------
 { 14 } -->  uname -a
SunOS njtra79 5.8 Generic_108528-15 sun4u sparc SUNW,Sun-Blade-100
--------------Here's the error message--------
bash-2.03$ python setup.py install
running install
running build
running mx_autoconf
macros to define: []
macros to undefine: []
updated build_ext with autoconf setup
running build_ext

building extension "mx.DateTime.mxDateTime.mxDateTime" (required)
building 'mx.DateTime.mxDateTime.mxDateTime' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC
-Imx/DateTime/mxDateTime -I/home/nite/Python/include/python2.2
-I/usr/include -I/usr/local/include -c
mx/DateTime/mxDateTime/mxDateTime.c -o
build/temp.solaris-2.8-sun4u-2.2/mx/DateTime/mxDateTime/mxDateTime/mxDateTime.o
In file included from mx/DateTime/mxDateTime/mx.h:51,
                 from mx/DateTime/mxDateTime/mxDateTime.c:41:
mx/DateTime/mxDateTime/mxstdlib.h: In function `mxDebugPrintf':
mx/DateTime/mxDateTime/mxstdlib.h:192: `__builtin_va_alist' undeclared
(first use in this function)
mx/DateTime/mxDateTime/mxstdlib.h:192: (Each undeclared identifier is
reported only once
mx/DateTime/mxDateTime/mxstdlib.h:192: for each function it appears
in.)
mx/DateTime/mxDateTime/mxstdlib.h:150: warning: `args' might be used
uninitialized in this function
error: command 'gcc' failed with exit status 1


__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

From mal@lemburg.com Tue Oct 15 21:08:30 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9FJ8U014452;
	Tue, 15 Oct 2002 21:08:30 +0200
Message-ID: <3DAC67C9.2020208@lemburg.com>
Date: Tue, 15 Oct 2002 21:08:57 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "S. Hoon Yoon" <yelled@yahoo.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Solaris Compile problem
References: <20021015155919.38399.qmail@web11608.mail.yahoo.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

S. Hoon Yoon wrote:
> Hi:
> 
>   I am trying to install mxDateTime package on Solaris and getting a
> strange message that I do not understand. Any thoughts will be very
> much appreciated.

Funny, this is the second time I'm getting this kind of bug report
on Solaris.

The solution is simple:

* The extensions don't compile on Solaris. What can I do ?

   If you are using gcc to compile the extensions, then a likely cause
   is that the compiler is picking up non-gcc compatible include files.

   E.g. on some Solaris installations, the /usr/include directory
   contains a file stdarg.h which the gcc compiler normally provides in
   its own compiler specific include directories. Since the distutils
   setup adds /usr/include to the standard lookup path for include
   files, gcc picks up this incompatbile file and generates an error.

   The work-around is easy: edit mxSetup.py and remove the
   '/usr/include' entry from the tuple INCLPATH.

Now, since this seems to be a common "bug", could you
give me the value of sys.platform for Solaris. I'll then
add a test to mxSetup.py which prevents adding /usr/include
to the include path.

>   TIA,
> 
> Hoon,
> ----------------------------------------------
>  { 14 } -->  uname -a
> SunOS njtra79 5.8 Generic_108528-15 sun4u sparc SUNW,Sun-Blade-100
> --------------Here's the error message--------
> bash-2.03$ python setup.py install
> running install
> running build
> running mx_autoconf
> macros to define: []
> macros to undefine: []
> updated build_ext with autoconf setup
> running build_ext
> 
> building extension "mx.DateTime.mxDateTime.mxDateTime" (required)
> building 'mx.DateTime.mxDateTime.mxDateTime' extension
> gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC
> -Imx/DateTime/mxDateTime -I/home/nite/Python/include/python2.2
> -I/usr/include -I/usr/local/include -c
> mx/DateTime/mxDateTime/mxDateTime.c -o
> build/temp.solaris-2.8-sun4u-2.2/mx/DateTime/mxDateTime/mxDateTime/mxDateTime.o
> In file included from mx/DateTime/mxDateTime/mx.h:51,
>                  from mx/DateTime/mxDateTime/mxDateTime.c:41:
> mx/DateTime/mxDateTime/mxstdlib.h: In function `mxDebugPrintf':
> mx/DateTime/mxDateTime/mxstdlib.h:192: `__builtin_va_alist' undeclared
> (first use in this function)
> mx/DateTime/mxDateTime/mxstdlib.h:192: (Each undeclared identifier is
> reported only once
> mx/DateTime/mxDateTime/mxstdlib.h:192: for each function it appears
> in.)
> mx/DateTime/mxDateTime/mxstdlib.h:150: warning: `args' might be used
> uninitialized in this function
> error: command 'gcc' failed with exit status 1
> 
> 
> __________________________________________________
> Do you Yahoo!?
> Faith Hill - Exclusive Performances, Videos & More
> http://faith.yahoo.com
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From fuess@llnl.gov Thu Oct 17 17:50:53 2002
Received: from smtp-2.llnl.gov (smtp-2.llnl.gov [128.115.250.82])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9HFoq007075
	for <egenix-users@lists.egenix.com>; Thu, 17 Oct 2002 17:50:52 +0200
Received: from popcorn.llnl.gov (localhost [127.0.0.1])
	by smtp-2.llnl.gov (8.9.3/8.9.3/LLNL-gateway-1.0) with ESMTP id IAA19984
	for <egenix-users@lists.egenix.com>; Thu, 17 Oct 2002 08:50:42 -0700 (PDT)
Received: from WINTU.llnl.gov (account fuess1 [128.115.52.37] verified)
  by popcorn.llnl.gov (CommuniGate Pro SMTP 3.5.9)
  with ESMTP id 3864956 for egenix-users@lists.egenix.com; Thu, 17 Oct 2002 08:50:50 -0700
Message-Id: <5.0.2.1.2.20021017083746.022e38a0@popcorn.llnl.gov>
X-Sender: e297298@popcorn.llnl.gov
X-Mailer: QUALCOMM Windows Eudora Version 5.0.2
Date: Thu, 17 Oct 2002 08:50:50 -0700
To: egenix-users@lists.egenix.com
From: "David A. Fuess" <fuess@llnl.gov>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Subject: [egenix-users] New user woes, Oracle/IIS/ASP connection
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dear list members,

I am new to mxODBC (in the trial period to see if it will work for us). The 
need is to connect to an Oracle instance on a Sun computer from a web 
server running IIS 5.0 under Win2k. I have installed and tested the Oracle 
Client tools and updated the Oracle ODBC driver to the latest version. I 
installed mxODBC under Python 2.2.1  and tested successfully using a 
locally run script in Pythonwin. So, at least at some level, I know all of 
the interfaces work. The problem arises when I attempt to run the 
connection from a CGI under IIS 5.0 (I am actually running it in an ASP 
with language=Python). The error I get is:

OperationalError: ('IM003',160,'Specified driver could not be loaded due to 
system error 5', 6038)

It appears that mx.ODBC.Windows is loading properly and the error is 
generating from mx.ODBC.Windows.DriverConnect(). Other mx.<tools> appear to 
load properly (although I have not checked them all).

Suggestions?

Thanks in advance,
Dave

David A. Fuess
Lawrence Livermore National Laboratory
925-423-2436
fuess@llnl.gov


From mal@lemburg.com Thu Oct 17 18:29:11 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9HGTB007388;
	Thu, 17 Oct 2002 18:29:11 +0200
Message-ID: <3DAEE575.8080007@lemburg.com>
Date: Thu, 17 Oct 2002 18:29:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "David A. Fuess" <fuess@llnl.gov>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] New user woes, Oracle/IIS/ASP connection
References: <5.0.2.1.2.20021017083746.022e38a0@popcorn.llnl.gov>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

David A. Fuess wrote:
> Dear list members,
> 
> I am new to mxODBC (in the trial period to see if it will work for us). 
> The need is to connect to an Oracle instance on a Sun computer from a 
> web server running IIS 5.0 under Win2k. I have installed and tested the 
> Oracle Client tools and updated the Oracle ODBC driver to the latest 
> version. I installed mxODBC under Python 2.2.1  and tested successfully 
> using a locally run script in Pythonwin. So, at least at some level, I 
> know all of the interfaces work. The problem arises when I attempt to 
> run the connection from a CGI under IIS 5.0 (I am actually running it in 
> an ASP with language=Python). The error I get is:
> 
> OperationalError: ('IM003',160,'Specified driver could not be loaded due 
> to system error 5', 6038)
> 
> It appears that mx.ODBC.Windows is loading properly and the error is 
> generating from mx.ODBC.Windows.DriverConnect(). Other mx.<tools> appear 
> to load properly (although I have not checked them all).
> 
> Suggestions?

Google gives these answers:

* http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q299454

   (for ODBC on Windows in general, see:
    http://www.kbalertz.com/allKbs.aspx?tec=99)

* http://sage.is.makingithappen.co.uk/tech/posts/148.html

* http://www.orafaq.com/msgboard/webserver/messages/1681.htm

It sounds like a permissions problem on the server.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From R.Buchanan@comcast.net Fri Oct 18 14:40:49 2002
Received: from smtp.comcast.net (smtp.comcast.net [24.153.64.2])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9ICen016698
	for <egenix-users@lists.egenix.com>; Fri, 18 Oct 2002 14:40:49 +0200
Received: from 0000f6c658c3
 (pcp770671pcs.dalect01.va.comcast.net [68.49.106.220])
 by mtaout05.icomcast.net
 (iPlanet Messaging Server 5.1 HotFix 1.4 (built Aug  5 2002))
 with SMTP id <0H4600MGWGK0ZZ@mtaout05.icomcast.net> for
 egenix-users@lists.egenix.com; Fri, 18 Oct 2002 08:40:48 -0400 (EDT)
Date: Fri, 18 Oct 2002 08:33:49 -0400
From: Bob Buchanan <R.Buchanan@comcast.net>
To: egenix users <egenix-users@lists.egenix.com>
Message-id: <006401c276a2$9c4d5b10$6601a8c0@bankofamerica.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
Content-type: multipart/alternative;
 boundary="Boundary_(ID_LCR/P2e0BEzDaETOOS4Kvg)"
X-Priority: 3
X-MSMail-priority: Normal
Subject: [egenix-users] Invalid Syntax for Insert stmt
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

--Boundary_(ID_LCR/P2e0BEzDaETOOS4Kvg)
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7BIT

I keep getting 'Invalid syntax' when I try the following insert statement:
c.execute('insert into Table1 (SSN, Field1) values ('44', 'mxPerson')')
  
Can you tell me why?  I'm using mxODBC to insert into an MSAccess db.
  
  
Where can I find documentation for mxODBC?  The information contained on 
www.egenix.com/files/python/mxODBC.html 
<http://www.egenix.com/files/python/mxODBC.html> is not detailed enough.

Thanks in advance for your help.

--Boundary_(ID_LCR/P2e0BEzDaETOOS4Kvg)
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: 7BIT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>
<DIV>I keep getting 'Invalid syntax' when I try the following insert 
statement:<BR>c.execute('insert into Table1 (SSN, Field1) values ('44', 
'mxPerson')')<BR>&nbsp;&nbsp;<BR>Can you tell me why?&nbsp; I'm using mxODBC to 
insert into an MSAccess db.<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>Where can I find 
documentation for mxODBC?&nbsp; The information contained on&nbsp;<BR><A 
href="http://www.egenix.com/files/python/mxODBC.html">www.egenix.com/files/python/mxODBC.html</A>&nbsp;<BR>&lt;<A 
href="http://www.egenix.com/files/python/mxODBC.html">http://www.egenix.com/files/python/mxODBC.html</A>&gt; 
is not detailed enough.<BR><BR><FONT face=Arial size=2>Thanks in advance for 
your help.</FONT></DIV></FONT></DIV></BODY></HTML>

--Boundary_(ID_LCR/P2e0BEzDaETOOS4Kvg)--

From Jim.Vickroy@noaa.gov Fri Oct 18 16:11:48 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9IEBl017266
	for <egenix-users@lists.egenix.com>; Fri, 18 Oct 2002 16:11:47 +0200
Received: from noaa.gov ([140.172.223.61]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id H46KRL00.6F0; Fri, 18 Oct 2002 08:11:45 -0600 
Message-ID: <3DB01613.B56971B@noaa.gov>
Date: Fri, 18 Oct 2002 08:09:23 -0600
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Bob Buchanan <R.Buchanan@comcast.net>
CC: egenix users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Invalid Syntax for Insert stmt
References: <006401c276a2$9c4d5b10$6601a8c0@bankofamerica.com>
Content-Type: multipart/alternative;
 boundary="------------3D6B883BA4D8AD974932D278"
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

--------------3D6B883BA4D8AD974932D278
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Bob,

This is a standard Python error message; it has nothing to do with
mx.ODBC.

Try:

c.execute("insert into Table1 (SSN, Field1) values ('44', 'mxPerson')")

Note the outer string delimiters are quotation marks (") instead of
apostrophe marks (').

The reason for the use of " is because your SQL statement, itself,
contains '.


Bob Buchanan wrote:

> I keep getting 'Invalid syntax' when I try the following insert
> statement:
> c.execute('insert into Table1 (SSN, Field1) values ('44',
> 'mxPerson')')
>
> Can you tell me why?  I'm using mxODBC to insert into an MSAccess db.
>
>
> Where can I find documentation for mxODBC?  The information contained
> on
> www.egenix.com/files/python/mxODBC.html
> <http://www.egenix.com/files/python/mxODBC.html> is not detailed
> enough.
>
> Thanks in advance for your help.

--------------3D6B883BA4D8AD974932D278
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Bob,
<p>This is a standard Python error message; it has nothing to do with mx.ODBC.
<p>Try:
<p><font face="Arial"><font size=-1>c.execute("insert into Table1 (SSN,
Field1) values ('44', 'mxPerson')")</font></font><font face="Arial"><font size=-1></font></font>
<p><font face="Arial"><font size=-1>Note the outer string delimiters are
quotation marks (") instead of apostrophe marks (').</font></font><font face="Arial"><font size=-1></font></font>
<p><font face="Arial"><font size=-1>The reason for the use of " is because
your SQL statement, itself, contains '.</font></font>
<br><font face="Arial"><font size=-1></font></font>&nbsp;
<p>Bob Buchanan wrote:
<blockquote TYPE=CITE><style></style>
<font face="Arial"><font size=-1>I
keep getting 'Invalid syntax' when I try the following insert statement:</font></font>
<br><font face="Arial"><font size=-1>c.execute('insert into Table1 (SSN,
Field1) values ('44', 'mxPerson')')</font></font>
<p><font face="Arial"><font size=-1>Can you tell me why?&nbsp; I'm using
mxODBC to insert into an MSAccess db.</font></font>
<br>&nbsp;
<p><font face="Arial"><font size=-1>Where can I find documentation for
mxODBC?&nbsp; The information contained on</font></font>
<br><font face="Arial"><font size=-1><a href="http://www.egenix.com/files/python/mxODBC.html">www.egenix.com/files/python/mxODBC.html</a></font></font>
<br><font face="Arial"><font size=-1>&lt;<a href="http://www.egenix.com/files/python/mxODBC.html">http://www.egenix.com/files/python/mxODBC.html</a>>
is not detailed enough.</font></font>
<p><font face="Arial"><font size=-1>Thanks in advance for your help.</font></font></blockquote>

</body>
</html>

--------------3D6B883BA4D8AD974932D278--


From mal@lemburg.com Fri Oct 18 17:24:14 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9IFOD017931;
	Fri, 18 Oct 2002 17:24:14 +0200
Message-ID: <3DB027BB.8030609@lemburg.com>
Date: Fri, 18 Oct 2002 17:24:43 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Bob Buchanan <R.Buchanan@comcast.net>
CC: egenix users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Invalid Syntax for Insert stmt
References: <006401c276a2$9c4d5b10$6601a8c0@bankofamerica.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Bob Buchanan wrote:
> Where can I find documentation for mxODBC?  The information contained on 
> www.egenix.com/files/python/mxODBC.html 
> <http://www.egenix.com/files/python/mxODBC.html> 
> <http://www.egenix.com/files/python/mxODBC.html> is not detailed enough.

mxODBC is Python DB-API compliant. Here's the specification for the
DB API 2.0:

    http://www.python.org/peps/pep-0249.html

Other sources of information are many of the Python books which
include a database chapter (e.g. the Win32 book by Mark Hammond
and Andy Robinson) as well as other resources on the web:

Paul Boddie's mxODBC configuration guide:

    http://www.boddie.org.uk/python/mxODBC.html

The Python Database Topic Guide:

    http://www.python.org/topics/database/

and the talk I gave at EuroPython 2002 about the Python DB API:

    http://www.egenix.com/Python-Database-API-Talk.pdf

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From zxo102@yahoo.com Fri Oct 18 19:47:02 2002
Received: from web10805.mail.yahoo.com (web10805.mail.yahoo.com [216.136.130.247])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g9IHl1019025
	for <egenix-users@lists.egenix.com>; Fri, 18 Oct 2002 19:47:01 +0200
Message-ID: <20021018174700.54106.qmail@web10805.mail.yahoo.com>
Received: from [63.192.146.206] by web10805.mail.yahoo.com via HTTP; Fri, 18 Oct 2002 10:47:00 PDT
Date: Fri, 18 Oct 2002 10:47:00 -0700 (PDT)
From: zhihua ouyang <zxo102@yahoo.com>
Subject: Re: [egenix-users] Invalid Syntax for Insert stmt
To: Bob Buchanan <R.Buchanan@comcast.net>,
   egenix users <egenix-users@lists.egenix.com>
In-Reply-To: <006401c276a2$9c4d5b10$6601a8c0@bankofamerica.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Try this:
 
c.execute("insert into Table1 (SSN, Field1) values
('44', 'mxPerson')")


Ouyang

--- Bob Buchanan <R.Buchanan@comcast.net> wrote:
> I keep getting 'Invalid syntax' when I try the
> following insert statement:
> c.execute('insert into Table1 (SSN, Field1) values
> ('44', 'mxPerson')')
>   
> Can you tell me why?  I'm using mxODBC to insert
> into an MSAccess db.
>   
>   
> Where can I find documentation for mxODBC?  The
> information contained on 
> www.egenix.com/files/python/mxODBC.html 
> <http://www.egenix.com/files/python/mxODBC.html> is
> not detailed enough.
> 
> Thanks in advance for your help.
> 


__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

From mal@lemburg.com Tue Oct 22 10:24:48 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9M8Om023383;
	Tue, 22 Oct 2002 10:24:48 +0200
Message-ID: <3DB50B6C.5030600@lemburg.com>
Date: Tue, 22 Oct 2002 10:25:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: direction landsnet <direction@landsnet.com>
CC: egenix users <egenix-users@lists.egenix.com>
References: <003201c2794a$c1dfb6c0$e8f003ca@y6mhs>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Re: help mx install
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[CCing to egenix-users, because this may be useful for others as well]

direction landsnet wrote:
> Hi Marc-Andre,
> 
> I want to install your *eGenix.com mx BASE Package* 
> <http://www.egenix.com/files/python/eGenix-mx-Extensions.html#mxBASE>, 
> because I use CalendarTag2.0alpha2 et mxDateTime-0.3.0. I must work on 
> Windoxs 98...
> 
> You wrote:
> 
> On *Windows platforms* the preferred method for installation is using 
> the the Windows installer, since this doesn't require a C compiler to be 
> installed on the system. Thanks to Thomas Heller the installer also 
> support uninstall using the standard Windows uninstall procedure.
> 
>  
> But when I launch egenix-mx-base-2.0.4.win32-py2.1.exe, I have an error 
> message:
> "Python 2.1 version required, which was not found in the registry".
>  
> I have python.exe and python21.dll in C:\Program Files\ZOPE2.5.1CPS\bin.
>  
> What is the problem? A PATH problem? Where I can modify the PATH variable?
> Thank you in advance for your response.

No, the problem is that the Python installation in Zope does
not put itself in the Windows registry. To install the base
package, simply open the installer .exe in WinZIP (yes, this
works :-) and extract the files to <zopedir>/lib/python/.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mcfletch@rogers.com Sun Oct 27 20:25:18 2002
Received: from fep02-mail.bloor.is.net.cable.rogers.com (fep02-mail.bloor.is.net.cable.rogers.com [66.185.86.72])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9RJPH008521
	for <egenix-users@lists.egenix.com>; Sun, 27 Oct 2002 20:25:18 +0100
Received: from rogers.com ([24.43.65.252])
          by fep02-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20021027192415.TIXU4551.fep02-mail.bloor.is.net.cable.rogers.com@rogers.com>
          for <egenix-users@lists.egenix.com>;
          Sun, 27 Oct 2002 14:24:15 -0500
Message-ID: <3DBC3D8D.5050803@rogers.com>
Date: Sun, 27 Oct 2002 14:25:01 -0500
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep02-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 27 Oct 2002 14:24:15 -0500
Subject: [egenix-users] Has the gmtoffset return value changed?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I have a little module "sunriseset.py" that calculates (strangely 
enough) sun rise and set times, and which was working fine with older 
versions of mxDateTime.  However, this morning I received a bug report 
that it's no longer working.  As far as I know there have been no 
changes to the module itself, and prior to this (when I checked it many 
months ago) its self-check passed fine.  That would have been with an 
earlier mxDateTime release.

I have, of course, since updated mxDateTime when I updated mxTextTools. 
 The thing is, now the reported values from gmtoffset appear to have 
been reversed in sign (that is, what was 5h is now -5h).  Obviously the 
sign is always just an arbitrary choice (hence the need to declare which 
direction increases/decreases in specifications of time systems), but 
I'm surprised that it would have changed sign between releases of the 
mxDateTime library.

Anyway, I can work around this if I know which versions of mxDateTime 
return positive, and which negative, values  for the same time-zones 
(i.e. when the switch occurs).  Marc-André, anyone?

Enjoy,
Mike

_______________________________________
  Mike C. Fletcher
  Designer, VR Plumber, Coder
  http://members.rogers.com/mcfletch/




From mal@lemburg.com Sun Oct 27 22:39:52 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9RLdp009285;
	Sun, 27 Oct 2002 22:39:52 +0100
Message-ID: <3DBC5D2B.4060800@lemburg.com>
Date: Sun, 27 Oct 2002 22:39:55 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Has the gmtoffset return value changed?
References: <3DBC3D8D.5050803@rogers.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> I have a little module "sunriseset.py" that calculates (strangely 
> enough) sun rise and set times, and which was working fine with older 
> versions of mxDateTime.  However, this morning I received a bug report 
> that it's no longer working.  As far as I know there have been no 
> changes to the module itself, and prior to this (when I checked it many 
> months ago) its self-check passed fine.  That would have been with an 
> earlier mxDateTime release.
> 
> I have, of course, since updated mxDateTime when I updated mxTextTools. 
> The thing is, now the reported values from gmtoffset appear to have been 
> reversed in sign (that is, what was 5h is now -5h). 

-5h is the correct value in your locale (that's also what your
mail client reports as GMT offset):

The UTC offset is defined as: local time - UTC time,
e.g.  it is negative in the US and positive in eastern
Europe and Asia.

> Obviously the sign 
> is always just an arbitrary choice (hence the need to declare which 
> direction increases/decreases in specifications of time systems), but 
> I'm surprised that it would have changed sign between releases of the 
> mxDateTime library.
> 
> Anyway, I can work around this if I know which versions of mxDateTime 
> return positive, and which negative, values  for the same time-zones 
> (i.e. when the switch occurs).  Marc-André, anyone?

I am not aware that there were any changes in the sign. Are you
sure that mxDateTime returned 5h for you in some prior version ?
And if so, which versions are you comparing and on which
platform ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mcfletch@rogers.com Sun Oct 27 23:22:46 2002
Received: from fep02-mail.bloor.is.net.cable.rogers.com (fep02-mail.bloor.is.net.cable.rogers.com [66.185.86.72])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g9RMMk009567
	for <egenix-users@lists.egenix.com>; Sun, 27 Oct 2002 23:22:46 +0100
Received: from rogers.com ([24.43.65.252])
          by fep02-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20021027222144.DNZC4551.fep02-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Sun, 27 Oct 2002 17:21:44 -0500
Message-ID: <3DBC6724.9030005@rogers.com>
Date: Sun, 27 Oct 2002 17:22:28 -0500
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Has the gmtoffset return value changed?
References: <3DBC3D8D.5050803@rogers.com> <3DBC5D2B.4060800@lemburg.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep02-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 27 Oct 2002 17:21:44 -0500
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Urgh.  I dug out some old versions of mxDateTime, and as you say, they 
haven't changed... darned if I can figure out how the sign got reversed 
in my module, but apparently it did at some point in time :( .  Should 
really get this thing into CVS so I can see the changes.  Sigh.

Sorry to have bothered everyone with this.  Thanks Marc-André,
Mike

M.-A. Lemburg wrote:

> Mike C. Fletcher wrote:

<dumb question from Mike>

> -5h is the correct value in your locale (that's also what your
> mail client reports as GMT offset):
>
> The UTC offset is defined as: local time - UTC time,
> e.g.  it is negative in the US and positive in eastern
> Europe and Asia.

...



From holtwick@spirito.de Tue Nov 12 11:13:45 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id gACADi125620
	for <egenix-users@lists.egenix.com>; Tue, 12 Nov 2002 11:13:44 +0100
Received: (qmail 22974 invoked from network); 12 Nov 2002 10:21:43 -0000
Received: from p5087b60d.dip.t-dialin.net (HELO spirito.de) (holtwick@80.135.182.13)
  by main.spirito.de with SMTP; 12 Nov 2002 10:21:43 -0000
Message-ID: <3DD0D4E2.8070603@spirito.de>
Date: Tue, 12 Nov 2002 11:16:02 +0100
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20011022 Netscape6/6.2
X-Accept-Language: de, en, en-us
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Calc size of Python objects
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

hi,

in mxTools there is a nice function called sizeof() to calculate the 
amount of memory an object uses, but that's only true for simple objects 
like strings and integers I believe. but I'm interested in the total 
amount a complex object uses. is this the right way to do it?

def calcsize(i, s=0):
     s = sizeof(i)
     if type(i) == type({}):
         for k, v in i.items():
             s += calcsize(k)
             s += calcsize(v)
     elif type(i) == type([]):
         for v in i:
             s += calcsize(v)
     return s

BTW, does someone have an idea how to get aware of the total memory 
usage of a running python program within itself? the module "resource" 
doesn't work on my machine.

thanks,
dirk



From mal@lemburg.com Tue Nov 12 11:34:01 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gACAY1125813;
	Tue, 12 Nov 2002 11:34:01 +0100
Message-ID: <3DD0D90E.3090400@lemburg.com>
Date: Tue, 12 Nov 2002 11:33:50 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Calc size of Python objects
References: <3DD0D4E2.8070603@spirito.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> hi,
> 
> in mxTools there is a nice function called sizeof() to calculate the 
> amount of memory an object uses, but that's only true for simple objects 
> like strings and integers I believe. 

True. sizeof() only measures the size of the bare PyObject,
not including any possibly referenced memory. Since dictionaries,
classes, instances etc. use extra memory for keeping data,
the value returned by sizeof() is not correct.

Deep knowledge of how Python does its memory allocation is needed
to figure this out.

 > but I'm interested in the total
> amount a complex object uses. is this the right way to do it?
> 
> def calcsize(i, s=0):
>     s = sizeof(i)
>     if type(i) == type({}):
>         for k, v in i.items():
>             s += calcsize(k)
>             s += calcsize(v)

+ you have to add the memory for the dictionary table itself;
that's 2 PyObject pointers per slot. The table size depends
on the size of the dictionary.

>     elif type(i) == type([]):
>         for v in i:
>             s += calcsize(v)

For lists, sizeof() does not include the table of entries,
so you'll have to add one PyObject pointer per entry.
For tuples, sizeof() does include the table size.

>     return s
> 
> BTW, does someone have an idea how to get aware of the total memory 
> usage of a running python program within itself? the module "resource" 
> doesn't work on my machine.

Take a look at mx/ODBC/Misc/proc.py. That module is not open-source,
though, as it's part of mxODBC.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From holtwick@spirito.de Tue Nov 12 12:10:14 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id gACBAE126091
	for <egenix-users@lists.egenix.com>; Tue, 12 Nov 2002 12:10:14 +0100
Received: (qmail 25915 invoked from network); 12 Nov 2002 11:18:12 -0000
Received: from p5087b60d.dip.t-dialin.net (HELO spirito.de) (holtwick@80.135.182.13)
  by main.spirito.de with SMTP; 12 Nov 2002 11:18:12 -0000
Message-ID: <3DD0E21F.9050406@spirito.de>
Date: Tue, 12 Nov 2002 12:12:31 +0100
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20011022 Netscape6/6.2
X-Accept-Language: de, en, en-us
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Calc size of Python objects
References: <3DD0D4E2.8070603@spirito.de> <3DD0D90E.3090400@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

So this one would be more accurate? If I understand you right, it's not 
possible to calculate the exact amount of memory used by a python object?

class myPyObject:
     pass

def calcsize(i, s=0):
     s = sizeof(i)
     if type(i) == type({}):
         for k, v in i.items():
             s += calcsize(k)
             s += calcsize(v)
             s += 2 * sizeof(myPyObject())
     elif type(i) == type([]):
         for v in i:
             s += calcsize(v)
             s += 1 * sizeof(myPyObject())
     elif type(i) == type((1,)):
         for v in i:
             s += calcsize(v)
     return s

I don't know exctly how to determine the size of a PyObject.

The proc.py is exactly what I was looking for and it's working fine. 
Thanks a lot Marc-Andre! Helps me tracking down some strange memory bugs 
in my application.

yours, dirk


From mal@lemburg.com Tue Nov 12 12:30:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gACBU9126286;
	Tue, 12 Nov 2002 12:30:09 +0100
Message-ID: <3DD0E636.7040305@lemburg.com>
Date: Tue, 12 Nov 2002 12:29:58 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Calc size of Python objects
References: <3DD0D4E2.8070603@spirito.de> <3DD0D90E.3090400@lemburg.com> <3DD0E21F.9050406@spirito.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> So this one would be more accurate? If I understand you right, it's not 
> possible to calculate the exact amount of memory used by a python object?
> 
> class myPyObject:
>     pass
> 
> def calcsize(i, s=0):
>     s = sizeof(i)
>     if type(i) == type({}):
>         for k, v in i.items():
>             s += calcsize(k)
>             s += calcsize(v)
>             s += 2 * sizeof(myPyObject())

Well, the table size will usually be around 3/2 of the number
of entries. For more details see the C implementation :-)

>     elif type(i) == type([]):
>         for v in i:
>             s += calcsize(v)
>             s += 1 * sizeof(myPyObject())
>     elif type(i) == type((1,)):
>         for v in i:
>             s += calcsize(v)
>     return s
> 
> I don't know exctly how to determine the size of a PyObject.

import struct
sizeof_PyObject = len(struct.pack('P', 0))

On 32-bit machines that's usually 4 bytes.

> The proc.py is exactly what I was looking for and it's working fine. 
> Thanks a lot Marc-Andre! Helps me tracking down some strange memory bugs 
> in my application.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From donna@v1.wustl.edu Mon Nov 18 20:00:53 2002
Received: from v1.wustl.edu (v1.wustl.edu [128.252.37.4])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gAIJ0m000732
	for <egenix-users@lists.egenix.com>; Mon, 18 Nov 2002 20:00:50 +0100
Received: from v1.wustl.edu (surface [128.252.37.24])
	by v1.wustl.edu (8.9.1/8.9.1) with ESMTP id NAA14762
	for <egenix-users@lists.egenix.com>; Mon, 18 Nov 2002 13:01:48 -0600 (CST)
Message-ID: <3DD9391B.FABE2E3C@v1.wustl.edu>
Date: Mon, 18 Nov 2002 13:01:47 -0600
From: Donna Hanlon <donna@v1.wustl.edu>
X-Mailer: Mozilla 4.61C-SGI [en] (X11; I; IRIX64 6.4 IP30)
X-Accept-Language: en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mx.DateTime:Solaris:gcc3.2:problem on import
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

When I build egenix-mx-base-2.0.3.tar.gz on SunOS 5.8 Generic_108528-14
sun4u sparc SUNW,Ultra-5_10 using gcc 3.2, using python 2.1.3, setup
seems to go fine.  It builds and installs smoothly.  But when I import
mx.DateTime, python crashes:

Python 2.1.3 (#1, Nov 18 2002, 11:16:06) 
[GCC 3.2] on sunos5
Type "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
*** You don't have the (right) mxDateTime binaries installed !
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "mx/DateTime/__init__.py", line 8, in ?
    from DateTime import *
  File "mx/DateTime/DateTime.py", line 9, in ?
    from mxDateTime import *
  File "mx/DateTime/mxDateTime/__init__.py", line 13, in ?
    raise ImportError, why
ImportError: No module named mxDateTime
>>> 

But if I rebuild egenix-mx-base-2.0.3.tar.gz using exactly the same
steps, except using gcc 2.95 instead of 3.2, it works fine -- no
problems at all.

Since I have a working version, this is not at all urgent, as far as I
am concerned.  I would be happy to try troubleshooting the problem, but
I'm not handy at all with either gdb or pdb.

Thanks,

Donna

From donna@v1.wustl.edu Tue Nov 19 15:10:58 2002
Received: from v1.wustl.edu (v1.wustl.edu [128.252.37.4])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gAJEAw009912
	for <egenix-users@lists.egenix.com>; Tue, 19 Nov 2002 15:10:58 +0100
Received: from v1.wustl.edu (surface [128.252.37.24])
	by v1.wustl.edu (8.9.1/8.9.1) with ESMTP id IAA17893
	for <egenix-users@lists.egenix.com>; Tue, 19 Nov 2002 08:12:10 -0600 (CST)
Message-ID: <3DDA46BA.AEE1F2ED@v1.wustl.edu>
Date: Tue, 19 Nov 2002 08:12:10 -0600
From: Donna Hanlon <donna@v1.wustl.edu>
X-Mailer: Mozilla 4.61C-SGI [en] (X11; I; IRIX64 6.4 IP30)
X-Accept-Language: en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
References: <200211191101.gAJB10008478@www.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Re: mx.DateTime:Solaris:gcc3.2:problem on import
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Actually, this is what happens when I try this in the build directory
(which just happens to have an mx/DateTime subdirectory). ;-)

When I'm smart enough to cd out of the build directory, I get "Bus error
(core dumped)" when I import the gcc3.2-built mx.DateTime; works fine
with the gcc2.95-built module.

On Mon, 18 Nov 2002, Donna Hanlon <donna@v1.wustl.edu> wrote:
> When I build egenix-mx-base-2.0.3.tar.gz on SunOS 5.8 Generic_108528-14
> sun4u sparc SUNW,Ultra-5_10 using gcc 3.2, using python 2.1.3, setup
> seems to go fine.  It builds and installs smoothly.  But when I import
> mx.DateTime, python crashes:
> 
> Python 2.1.3 (#1, Nov 18 2002, 11:16:06)
> [GCC 3.2] on sunos5
> Type "copyright", "credits" or "license" for more information.
> >>> import mx.DateTime
> *** You don't have the (right) mxDateTime binaries installed !
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "mx/DateTime/__init__.py", line 8, in ?
>     from DateTime import *
>   File "mx/DateTime/DateTime.py", line 9, in ?
>     from mxDateTime import *
>   File "mx/DateTime/mxDateTime/__init__.py", line 13, in ?
>     raise ImportError, why
> ImportError: No module named mxDateTime

From mal@lemburg.com Tue Nov 19 15:20:54 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gAJEKs010015;
	Tue, 19 Nov 2002 15:20:54 +0100
Message-ID: <3DDA48BF.3090104@lemburg.com>
Date: Tue, 19 Nov 2002 15:20:47 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Donna Hanlon <donna@v1.wustl.edu>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Re: mx.DateTime:Solaris:gcc3.2:problem on import
References: <200211191101.gAJB10008478@www.egenix.com> <3DDA46BA.AEE1F2ED@v1.wustl.edu>
In-Reply-To: <200211191101.gAJB10008478@www.egenix.com>
X-Enigmail-Version: 0.70.0.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Donna Hanlon wrote:

> Actually, this is what happens when I try this in the build directory
> (which just happens to have an mx/DateTime subdirectory). ;-)
>
> When I'm smart enough to cd out of the build directory, I get "Bus error
> (core dumped)" when I import the gcc3.2-built mx.DateTime; works fine
> with the gcc2.95-built module.

You should always CD out of the build dir to test the
packages, since otherwise, Python picks up the mx dir
in the build dir (which doesn't include the compiled
extensions).

The bus error sounds like a problem, though. Have you built Python
using GCC 3.2 or 2.95 ?

>
> On Mon, 18 Nov 2002, Donna Hanlon  wrote:
>
> >When I build egenix-mx-base-2.0.3.tar.gz on SunOS 5.8 Generic_108528-14
> >sun4u sparc SUNW,Ultra-5_10 using gcc 3.2, using python 2.1.3, setup
> >seems to go fine.  It builds and installs smoothly.  But when I import
> >mx.DateTime, python crashes:
> >
> >Python 2.1.3 (#1, Nov 18 2002, 11:16:06)
> >[GCC 3.2] on sunos5
> >Type "copyright", "credits" or "license" for more information.
> >
> >>>>import mx.DateTime
> >
> >*** You don't have the (right) mxDateTime binaries installed !
> >Traceback (most recent call last):
> >  File "", line 1, in ?
> >  File "mx/DateTime/__init__.py", line 8, in ?
> >    from DateTime import *
> >  File "mx/DateTime/DateTime.py", line 9, in ?
> >    from mxDateTime import *
> >  File "mx/DateTime/mxDateTime/__init__.py", line 13, in ?
> >    raise ImportError, why
> >ImportError: No module named mxDateTime
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/



From malcolm@collegenet.com Tue Nov 19 19:02:34 2002
Received: from mail.collegenet.com (mail.collegenet.com [63.74.198.112])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id gAJI2X012101
	for <egenix-users@lists.egenix.com>; Tue, 19 Nov 2002 19:02:34 +0100
Received: (qmail 17437 invoked by uid 106); 19 Nov 2002 18:02:30 -0000
Received: from malcolm@collegenet.com by hobo.collegenet.com with qmail-scanner-0.96 (hbedv: 6.3.0.3. . Clean. Processed in 0.159862 secs); 19 Nov 2002 18:02:30 -0000
Received: from unknown (HELO racecar.unival.com) (10.1.2.4)
  by mail.collegenet.com with SMTP; 19 Nov 2002 18:02:30 -0000
From: Malcolm Heath <malcolm@collegenet.com>
To: egenix-users@lists.egenix.com
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 (1.0.8-10) 
Date: 19 Nov 2002 10:02:39 -0800
Message-Id: <1037728959.4978.38.camel@racecar.unival.com>
Mime-Version: 1.0
Subject: [egenix-users] Install conflict, egenixs-mx-commercial-2.0.5 RPM on RH 7.2
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello all,

I'm attempting to install the RPM
egenix-mx-commercial-2.0.5-py2.2_1.i386.rpm on a server here.  The
server is a RedHat 7.2 machine, fully updated, with python2.2 installed
via RPM.  The command 

"rpm -ivh egenix-mx-commercial-2.0.5-py2.2_1.i386.rpm"

fails with the error:

error: failed dependencies:
        libiodbc.so.2 is needed by egenix-mx-commercial-2.0.5-py2.2_1
        libodbc.so.1 is needed by egenix-mx-commercial-2.0.5-py2.2_1

So, obviously, I'm missing some libraries.  I then found and installed
unixODBC-devel-2.0.7-3.i386.rpm and unixODBC-2.0.7-3.i386.rpm, which
satisfied the first dependency.  Some further exploration of the egenix
site told me that I also needed libraries from iodbc.org.  

I downloaded, and attempted to install libiodbc-3.0.6-2.i386-glibc21.rpm
but that failed, conflicting with files from unixODBC-2.0.7-3.i386.rpm.

I'm not wondering how to fix this, particularly. What I am wondering, as
a prospective customer of this software, is why the RPM requires both
unixODBC and iodbc libraries?  Are they actually required?

We run a large shop here, and managing custom software is a big, and
often frustrating part of that job.  Having to download, compile or
install, and keep track of yet another package that my developers don't
actually need to use is wasteful of my time, and unnecessary.  

So, what I'd like to know is if simply doing a --force is going to get
me over this hurdle, without leaving me with a non-function, or unstable
install.

Sincerely,

Malcolm Heath




From mal@lemburg.com Tue Nov 19 19:52:05 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gAJIq4012561;
	Tue, 19 Nov 2002 19:52:04 +0100
Message-ID: <3DDA8854.6040302@lemburg.com>
Date: Tue, 19 Nov 2002 19:52:04 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Malcolm Heath <malcolm@collegenet.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Install conflict, egenixs-mx-commercial-2.0.5
 RPM on	RH 7.2
References: <1037728959.4978.38.camel@racecar.unival.com>
In-Reply-To: <1037728959.4978.38.camel@racecar.unival.com>
X-Enigmail-Version: 0.70.0.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Malcolm Heath wrote:

> Hello all,
>
> I'm attempting to install the RPM
> egenix-mx-commercial-2.0.5-py2.2_1.i386.rpm on a server here.  The
> server is a RedHat 7.2 machine, fully updated, with python2.2 installed
> via RPM.  The command
>
> "rpm -ivh egenix-mx-commercial-2.0.5-py2.2_1.i386.rpm"
>
> fails with the error:
>
> error: failed dependencies:
>         libiodbc.so.2 is needed by egenix-mx-commercial-2.0.5-py2.2_1
>         libodbc.so.1 is needed by egenix-mx-commercial-2.0.5-py2.2_1
>
> So, obviously, I'm missing some libraries.  I then found and installed
> unixODBC-devel-2.0.7-3.i386.rpm and unixODBC-2.0.7-3.i386.rpm, which
> satisfied the first dependency.  Some further exploration of the egenix
> site told me that I also needed libraries from iodbc.org.
>
> I downloaded, and attempted to install libiodbc-3.0.6-2.i386-glibc21.rpm
> but that failed, conflicting with files from unixODBC-2.0.7-3.i386.rpm.
>
> I'm not wondering how to fix this, particularly. What I am wondering, as
> a prospective customer of this software, is why the RPM requires both
> unixODBC and iodbc libraries?  Are they actually required?

No, only one of them is required. The RPM contains subpackages
for both managers since one of them is usually installed on the
target system, so

rpm -i --nodeps egenix-mx-commercial-*.rpm

will work regardless of which one you have installed. We ship the
RPM bundled for two ODBC managers to reduce the confusion on the
user side. The instructions on the download page mentions this:

http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#Install-mxCOMMERCIAL

> We run a large shop here, and managing custom software is a big, and
> often frustrating part of that job.  Having to download, compile or
> install, and keep track of yet another package that my developers don't
> actually need to use is wasteful of my time, and unnecessary.
>
> So, what I'd like to know is if simply doing a --force is going to get
> me over this hurdle, without leaving me with a non-function, or unstable
> install.

Doing so is OK. Just tell your developers which subpackage of
mxODBC to program against (unixODBC in your case).

BTW, the most current unixODBC version is 2.2.3. That version
fixes quite a few bugs in that ODBC manager. I usually tell
people to start with iODBC 3.0.6 and only switch to unixODBC
in case some driver doesn't like iODBC. iODBC has proven to
be much more stable and standards conform than unixODBC.
unixODBC is only necessary in case you plan to do Unicode
over ODBC -- iODBC currently does not support Unicode.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From lemma@orngca-mls05.socal.rr.com Tue Dec 10 21:36:27 2002
Received: from orngca-mls01.socal.rr.com (orngca-mls01.socal.rr.com [66.75.160.16])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBAKaRp11926
	for <egenix-users@lists.egenix.com>; Tue, 10 Dec 2002 21:36:27 +0100
Received: from NEWBOSS (sc-24-165-85-52.socal.rr.com [24.165.85.52])
	by orngca-mls01.socal.rr.com (8.11.4/8.11.3) with ESMTP id gBAKZDQ05152
	for <egenix-users@lists.egenix.com>; Tue, 10 Dec 2002 12:35:13 -0800 (PST)
From: howard@eegsoftware.com
To: egenix-users@lists.egenix.com
Date: Tue, 10 Dec 2002 12:36:32 -0800
MIME-Version: 1.0
Content-type: text/enriched; charset=US-ASCII
Content-transfer-encoding: 7BIT
Message-ID: <3DF5DFD0.6387.10056B1@localhost>
Priority: normal
X-mailer: Pegasus Mail for Win32 (v3.12c)
Subject: [egenix-users] Windows debug builds (again)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>


<color><param>7F00,0000,0000</param>> After running the above build command both with and without the --debug

> flag, then "python setup.py install" installed both the release _and_ debug

> .pyd's to the correct destination.  There's no problem of overwriting the

> installation with a debug build because the filenames are different;

> mxDateTime_d.pyd gets used if you're running python_d.exe and mxDateTime.pyd

> gets used if you're running python.exe.  They live happily side by side.

</color>I followed this logic (from the August archives) but I get a page fault when 
trying to import mx.DateTime from python_d.  The problem reports as

an access violation on the line marked below:


<color><param>0000,0000,FF00</param>static</color>

<color><param>0000,0000,FF00</param>void</color> <color><param>8800,0000,0000</param>mxDateTime_Free</color>(<color><param>0000,0000,FF00</param>mxDateTimeObject</color> *<color><param>8000,8000,8000</param>datetime</color>)

{

    <color><param>A000,0000,A000</param>Py_XDECREF</color>(<color><param>8000,8000,8000</param>datetime</color>-><color><param>8000,8000,8000</param>argument</color>);

<color><param>0000,0000,FF00</param>#ifdef <color><param>A000,0000,A000</param>MXDATETIME_FREELIST</color>

    /* Append mxDateTime objects to free list */

<color><param>0000,0000,FF00</param># ifdef </color>WANT_SUBCLASSABLE_TYPES

    <color><param>0000,0000,FF00</param>if</color> (!<color><param>A000,0000,A000</param>_mxDateTime_CheckExact</color>(<color><param>8000,8000,8000</param>datetime</color>))

	<color><param>A000,0000,A000</param>PyObject_Del</color>(<color><param>8000,8000,8000</param>datetime</color>);

    <color><param>0000,0000,FF00</param>else</color>

<color><param>0000,0000,FF00</param># endif</color>	{

	*(<color><param>0000,0000,FF00</param>mxDateTimeObject</color> **)<color><param>8000,8000,8000</param>datetime</color> = <color><param>8000,8000,8000</param>mxDateTime_FreeList</color>;

	mxDateTime_FreeList = datetime;        <<=========access violation

	<color><param>8800,0000,0000</param>_Py_ForgetReference</color>(<color><param>8000,8000,8000</param>datetime</color>);

    }

<color><param>0000,0000,FF00</param>#else</color>    <color><param>A000,0000,A000</param>PyObject_Del</color>(<color><param>8000,8000,8000</param>datetime</color>);

<color><param>0000,0000,FF00</param>#endif

</color>}


So, what am I doing wrong ??  This is 2.0.4 and python2.2.2


Thanks


<nofill>
Howard Lightstone

From mal@lemburg.com Tue Dec 10 22:11:13 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBALBDp12157;
	Tue, 10 Dec 2002 22:11:13 +0100
Message-ID: <3DF65873.7060301@lemburg.com>
Date: Tue, 10 Dec 2002 22:11:15 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: howard@eegsoftware.com
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Windows debug builds (again)
References: <3DF5DFD0.6387.10056B1@localhost>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

howard@eegsoftware.com wrote:
> 
> 
>  > After running the above build command both with and without the --debug
>  > flag, then "python setup.py install" installed both the release _and_ 
> debug
>  > .pyd's to the correct destination. There's no problem of overwriting the
>  > installation with a debug build because the filenames are different;
>  > mxDateTime_d.pyd gets used if you're running python_d.exe and 
> mxDateTime.pyd
>  > gets used if you're running python.exe. They live happily side by side.
> I followed this logic (from the August archives) but I get a page fault 
> when trying to import mx.DateTime from python_d. The problem reports as
> an access violation on the line marked below:
> 
> static
> void mxDateTime_Free(mxDateTimeObject *datetime)
> {
> Py_XDECREF(datetime->argument);
> #ifdef MXDATETIME_FREELIST
> /* Append mxDateTime objects to free list */
> # ifdef WANT_SUBCLASSABLE_TYPES
> if (!_mxDateTime_CheckExact(datetime))
> PyObject_Del(datetime);
> else
> # endif {
> *(mxDateTimeObject **)datetime = mxDateTime_FreeList;
> mxDateTime_FreeList = datetime; <=========access violation
> _Py_ForgetReference(datetime);

   ^^^^ this call has to be removed to fix the problem (the same
needs to be done for mxDateTimeDelta_Free()).

> }
> #else PyObject_Del(datetime);
> #endif
> }
> 
> So, what am I doing wrong ?? This is 2.0.4 and python2.2.2

That's a know bug which will get fixed in 2.1.0. For 2.0.4
you have to disable the free lists:

Edit the mxDateTime.c and comment out the two lines

/* Define these to have the module use free lists (saves malloc calls) */
#define MXDATETIME_FREELIST
#define MXDATETIMEDELTA_FREELIST

This should fix the problem for 2.0.4 as well (free lists are
a performance improvement which is normally not needed for
debugging).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Dec 23 19:49:22 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBNInMO09309;
	Mon, 23 Dec 2002 19:49:22 +0100
Message-ID: <3E075AB3.1060706@lemburg.com>
Date: Mon, 23 Dec 2002 19:49:23 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Merry Christmas and a Happy New Year
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello everybody,

I hope you have enjoyed this year with eGenix software and services.
We will start off into the new year with exiting new releases of our
software including new versions of mxODBC, a Zope database adapter
built on top of mxODBC and many updates to our open source packages.

Plus there's more to come in the web services arena: the Siena
Web Services Architecture will be launched and we're looking into
wrapping up more mx-style packages to make your Python experience
an even better one.

All the best.

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Fri Dec 27 16:18:27 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBRFIRO12801
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 16:18:27 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBRFIQ913308
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 10:18:26 -0500
Message-ID: <3E0C6F3C.3000103@holly-springs.nc.us>
Date: Fri, 27 Dec 2002 10:18:20 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] table description?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm trying to use the surcor.columns function to get a description of a 
table's columns.

For example:
cursor.columns(table="NameAndAddr")

... I'm then looking for a result set. This seems to be what the ODBC 
docs say I should do, but there's not a result set available. Does 
anyone have some example code I can try?

Thanks,

Michael


From rothwell@holly-springs.nc.us Fri Dec 27 16:22:45 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBRFMiO12836
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 16:22:44 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBRFMi913340
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 10:22:44 -0500
Message-ID: <3E0C703E.9020507@holly-springs.nc.us>
Date: Fri, 27 Dec 2002 10:22:38 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] table description?
References: <3E0C6F3C.3000103@holly-springs.nc.us>
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Um... never mind. :)


Michael Rothwell wrote:
> I'm trying to use the surcor.columns function to get a description of a 
> table's columns.
> 
> For example:
> cursor.columns(table="NameAndAddr")
> 
> ... I'm then looking for a result set. This seems to be what the ODBC 
> docs say I should do, but there's not a result set available. Does 
> anyone have some example code I can try?
> 
> Thanks,
> 
> Michael
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users



From rothwell@holly-springs.nc.us Fri Dec 27 21:43:16 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBRKh5O14722
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 21:43:15 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBRKgv914868
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 15:42:57 -0500
Message-ID: <3E0CBB4A.5060701@holly-springs.nc.us>
Date: Fri, 27 Dec 2002 15:42:50 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] how to insert new row, update in-memory object with same row from
 database?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm trying to achieve the following:

* INSERT a blank record into a table.

* update a result set with that inserted row's data (which may have 
default values and identity fields filled in, now, by the database)

* edit the result set

* UPDATE the row with the new data


... the trick is selecting the newly inserted row. Does anyone know if 
there is a way to do this without resorting to a database- and 
table-specific method (such as using identity fields and slecting 
@@IDENTITY)?


-Michael


From mal@lemburg.com Fri Dec 27 22:07:32 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBRL7WO14915;
	Fri, 27 Dec 2002 22:07:32 +0100
Message-ID: <3E0CC115.9060809@lemburg.com>
Date: Fri, 27 Dec 2002 22:07:33 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Michael Rothwell wrote:
> I'm trying to achieve the following:
> 
> * INSERT a blank record into a table.
> 
> * update a result set with that inserted row's data (which may have 
> default values and identity fields filled in, now, by the database)
> 
> * edit the result set
> 
> * UPDATE the row with the new data
> 
> 
> ... the trick is selecting the newly inserted row. Does anyone know if 
> there is a way to do this without resorting to a database- and 
> table-specific method (such as using identity fields and slecting 
> @@IDENTITY)?

The best way to do this in a database independent way is to add
an ID column to all tables you are using (+ a timestamp column if
you want to edit them with MS Access).

ODBC only allows you to query the table for "special" columns
which are best suited for e.g. identifying rows (see cursor.
specialcolumns()).

Another method is using database cursors for this task. Note that
mxODBC does not support updateable result sets; however you can
achieve the same effect with server side cursors. See you DBs docs
for details.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Fri Dec 27 22:39:19 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBRLdJO15167
	for <egenix-users@lists.egenix.com>; Fri, 27 Dec 2002 22:39:19 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBRLdH915100;
	Fri, 27 Dec 2002 16:39:18 -0500
Message-ID: <3E0CC87F.8020601@holly-springs.nc.us>
Date: Fri, 27 Dec 2002 16:39:11 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us> <3E0CC115.9060809@lemburg.com>
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> The best way to do this in a database independent way is to add
> an ID column to all tables you are using (+ a timestamp column if
> you want to edit them with MS Access).
> 
> ODBC only allows you to query the table for "special" columns
> which are best suited for e.g. identifying rows (see cursor.
> specialcolumns()).


Thanks. I decided to see how ADO does this, because it seems to work 
there. Upon investigation, ADO's RecordSet.AddNew() + .Update() does not 
update the in-memory object if there is not an identity field in the 
table, although the insert works. If there's a timestamp field (or an 
identity field), then a second .Update() of the new record works. If 
there's not, ADO botches the update and returns this error message:

"Key column information is insufficient or incorrect. Too many rows were 
affected by update."

So it seems that ADO relies on "special columns" too.

It would be nice if a standard part of ODBC (and database APIs in 
general) was a method to get at just-inserted rows. Inside a trigger, 
one can just look at the "inserted" table (on SQL Server, anyway).

I'll look at specialcolumns()...




From mal@lemburg.com Sat Dec 28 22:09:27 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBSL98O23841;
	Sat, 28 Dec 2002 22:09:27 +0100
Message-ID: <3E0E12F7.1010601@lemburg.com>
Date: Sat, 28 Dec 2002 22:09:11 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us>	<3E0CC115.9060809@lemburg.com> <3E0CC87F.8020601@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>


Michael Rothwell wrote:
> M.-A. Lemburg wrote:
> 
>> The best way to do this in a database independent way is to add
>> an ID column to all tables you are using (+ a timestamp column if
>> you want to edit them with MS Access).
>>
>> ODBC only allows you to query the table for "special" columns
>> which are best suited for e.g. identifying rows (see cursor.
>> specialcolumns()).
> 
> 
> 
> Thanks. I decided to see how ADO does this, because it seems to work 
> there. Upon investigation, ADO's RecordSet.AddNew() + .Update() does not 
> update the in-memory object if there is not an identity field in the 
> table, although the insert works. If there's a timestamp field (or an 
> identity field), then a second .Update() of the new record works. If 
> there's not, ADO botches the update and returns this error message:
> 
> "Key column information is insufficient or incorrect. Too many rows were 
> affected by update."
> 
> So it seems that ADO relies on "special columns" too.
> 
> It would be nice if a standard part of ODBC (and database APIs in 
> general) was a method to get at just-inserted rows. Inside a trigger, 
> one can just look at the "inserted" table (on SQL Server, anyway).

The DB-API lists a standard extension for this purpose:

Cursor Attribute .lastrowid

         This read-only attribute provides the rowid of the last
         modified row (most databases return a rowid only when a single
         INSERT operation is performed). If the operation does not set
         a rowid or if the database does not support rowids, this
         attribute should be set to None.

         The semantics of .lastrowid are undefined in case the last
         executed statement modified more than one row, e.g. when
         using INSERT with .executemany().

However, only few databases provide this information to the
application.

What I'd suggest is to use a database sequence generator to
create unique IDs and then use these during the INSERT. Most
database provide something along these lines or can simulate
such a generator using auto-increment columns.

That way you know the identity of the row *before* inserting
it -- usually much better if you plan to use contraints and
the like on the table.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Sun Dec 29 17:59:50 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBTGxnO31657
	for <egenix-users@lists.egenix.com>; Sun, 29 Dec 2002 17:59:49 +0100
Received: from holly-springs.nc.us (rdu26-227-072.nc.rr.com [66.26.227.72])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBTGxi932713;
	Sun, 29 Dec 2002 11:59:45 -0500
Message-ID: <3E0F2A30.4080001@holly-springs.nc.us>
Date: Sun, 29 Dec 2002 12:00:32 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us>	<3E0CC115.9060809@lemburg.com> <3E0CC87F.8020601@holly-springs.nc.us> <3E0E12F7.1010601@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:

>
> The DB-API lists a standard extension for this purpose:
>
> Cursor Attribute .lastrowid

It doesn't look like mx.ODBC supports it -- "attribute error," and a 
search through the .py files produces no matches for "lastrowid."

>
> That way you know the identity of the row *before* inserting
> it -- usually much better if you plan to use contraints and
> the like on the table.
>
Yeah, but that doesn't do me any good when working with a pre-existing 
database schema.

Thanks,

-Michael




From rothwell@holly-springs.nc.us Mon Dec 30 16:04:46 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUF4jO09011
	for <egenix-users@lists.egenix.com>; Mon, 30 Dec 2002 16:04:46 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBUF4d907628
	for <egenix-users@lists.egenix.com>; Mon, 30 Dec 2002 10:04:39 -0500
Message-ID: <3E106079.4010402@holly-springs.nc.us>
Date: Mon, 30 Dec 2002 10:04:25 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] cursor.specialcolumns
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've been reading the mxODBC docs, and the ODBC docs (at MSDN), and I 
can't seem to get cursor.specialcolumns() to yield a result set. I'm 
trying it against a table with a primary key, and an identity field. The 
default arguments are as follows:

specialcolumns(qualifier=None,owner=None,table=None,
   coltype=SQL.BEST_ROWID,scope=SQL.SCOPE_SESSION,
   nullable=SQL.NO_NULLS)

Unfortunately, the ODBC docs say this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbcsql/od_odbc_s_8q2b.asp
   When requesting row identifiers (IdentifierType SQL_BEST_ROWID),
   SQLSpecialColumns returns an empty result set (no data rows) for any
   requested scope other than SQL_SCOPE_CURROW. The generated result set
   indicates that the columns are only valid within this scope.

So, I do this:
cursor.specialcolumns (table="MyTable", scope=0)

I use zero because I'm not sure how to get access to "SQL.SCOPE_CURROW". 
No results. I tried running a query that selects a single column, and 
then run specialcolumns. No result set.

How might I get specialcolumns() to tell me what the special columns for 
a table are?


From mal@lemburg.com Mon Dec 30 19:07:06 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUI76O10486;
	Mon, 30 Dec 2002 19:07:06 +0100
Message-ID: <3E108B4A.7020708@lemburg.com>
Date: Mon, 30 Dec 2002 19:07:06 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us>
In-Reply-To: <3E106079.4010402@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Michael Rothwell wrote:
> I've been reading the mxODBC docs, and the ODBC docs (at MSDN), and I 
> can't seem to get cursor.specialcolumns() to yield a result set. I'm 
> trying it against a table with a primary key, and an identity field. The 
> default arguments are as follows:
> 
> specialcolumns(qualifier=None,owner=None,table=None,
>   coltype=SQL.BEST_ROWID,scope=SQL.SCOPE_SESSION,
>   nullable=SQL.NO_NULLS)
> 
> Unfortunately, the ODBC docs say this:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbcsql/od_odbc_s_8q2b.asp 
> 
>   When requesting row identifiers (IdentifierType SQL_BEST_ROWID),
>   SQLSpecialColumns returns an empty result set (no data rows) for any
>   requested scope other than SQL_SCOPE_CURROW. The generated result set
>   indicates that the columns are only valid within this scope.
> 
> So, I do this:
> cursor.specialcolumns (table="MyTable", scope=0)
> 
> I use zero because I'm not sure how to get access to "SQL.SCOPE_CURROW". 

The SQL singleton object is defined at mxODBC subpackage level,
e.g. on Windows you'd write:

mx.ODBC.Windows.SQL.SCOPE_CURROW

> No results. I tried running a query that selects a single column, and 
> then run specialcolumns. No result set.
> 
> How might I get specialcolumns() to tell me what the special columns for 
> a table are?

This could be caused by the defaults for qualifier and owner.
When set to None these are translated to SQL NULL values and
should result in a match-any query. However, some drivers
require different values to result in this meaning, e.g. an
empty string or '%'.

I'd suggest to first get a feeling for how to specify a
table in the database using e.g. cursor.columns() before
trying to find the right parameters for .specialcolumns().

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Dec 30 19:09:59 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUI9xO10515;
	Mon, 30 Dec 2002 19:09:59 +0100
Message-ID: <3E108BF6.8070609@lemburg.com>
Date: Mon, 30 Dec 2002 19:09:58 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us>	<3E0CC115.9060809@lemburg.com> <3E0CC87F.8020601@holly-springs.nc.us>	<3E0E12F7.1010601@lemburg.com> <3E0F2A30.4080001@holly-springs.nc.us>
In-Reply-To: <3E0F2A30.4080001@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Michael Rothwell wrote:
> M.-A. Lemburg wrote:
> 
>>
>> The DB-API lists a standard extension for this purpose:
>>
>> Cursor Attribute .lastrowid
> 
> 
> It doesn't look like mx.ODBC supports it -- "attribute error," and a 
> search through the .py files produces no matches for "lastrowid."

Right. That's because ODBC doesn't allow querying this information
(at least not to my knowledge).

>> That way you know the identity of the row *before* inserting
>> it -- usually much better if you plan to use contraints and
>> the like on the table.
>>
> Yeah, but that doesn't do me any good when working with a pre-existing 
> database schema.

In that case you'll have to figure out a set of columns using
.specialcolumns(). I still don't understand how you would
identify a newly inserted row like this, though. If the database
provides defaults and maybe uses a trigger to fill in an ID
column, then the knowledge of such a column wouldn't get you
any further. Maybe I'm missing something ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Mon Dec 30 19:25:56 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUIPtO10671
	for <egenix-users@lists.egenix.com>; Mon, 30 Dec 2002 19:25:56 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBUIPr908908;
	Mon, 30 Dec 2002 13:25:53 -0500
Message-ID: <3E108F9A.1030001@holly-springs.nc.us>
Date: Mon, 30 Dec 2002 13:25:30 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us> <3E108B4A.7020708@lemburg.com>
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:

> I'd suggest to first get a feeling for how to specify a
> table in the database using e.g. cursor.columns() before
> trying to find the right parameters for .specialcolumns().

cursor.columns(table="mytable") works. Also specifying the qualifier and 
  owner as the database name and owner works. Neither works with 
specialcolumns().




From rothwell@holly-springs.nc.us Mon Dec 30 19:30:40 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUIUdO10759
	for <egenix-users@lists.egenix.com>; Mon, 30 Dec 2002 19:30:40 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBUIUb908945;
	Mon, 30 Dec 2002 13:30:37 -0500
Message-ID: <3E1090B6.2060001@holly-springs.nc.us>
Date: Mon, 30 Dec 2002 13:30:14 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] how to insert new row, update in-memory object
 with	same row from database?
References: <3E0CBB4A.5060701@holly-springs.nc.us>	<3E0CC115.9060809@lemburg.com> <3E0CC87F.8020601@holly-springs.nc.us>	<3E0E12F7.1010601@lemburg.com> <3E0F2A30.4080001@holly-springs.nc.us> <3E108BF6.8070609@lemburg.com>
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> In that case you'll have to figure out a set of columns using
> .specialcolumns(). I still don't understand how you would
> identify a newly inserted row like this, though. If the database
> provides defaults and maybe uses a trigger to fill in an ID
> column, then the knowledge of such a column wouldn't get you
> any further. Maybe I'm missing something ?

Well, it would be a sub-optimal solution. I'd have to coax the last 
insert ID out of the database, somehow, and then select using that key. 
On SQL Server, I would run "select @@IDENTITY," for instance, right 
after the insert of a single row. Then, query for that row to get all of 
the default values.

There's really no clean way to do it, as far as I can tell. Seems like a 
hole in the RDBMS concept -- one has to know the key to get the key. The 
best option is the one you mentioned -- create the unique IDs myself and 
store them in the tables, rather than using identity fields or 
equivalents. Still not very clean, but workable with a new scheme, at least.

Thanks,

-M




From mal@lemburg.com Mon Dec 30 20:23:03 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUJMuO11191;
	Mon, 30 Dec 2002 20:23:03 +0100
Message-ID: <3E109D11.4080508@lemburg.com>
Date: Mon, 30 Dec 2002 20:22:57 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us>	<3E108B4A.7020708@lemburg.com> <3E108F9A.1030001@holly-springs.nc.us>
In-Reply-To: <3E108F9A.1030001@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Michael Rothwell wrote:
> M.-A. Lemburg wrote:
> 
>> I'd suggest to first get a feeling for how to specify a
>> table in the database using e.g. cursor.columns() before
>> trying to find the right parameters for .specialcolumns().
> 
> 
> cursor.columns(table="mytable") works. Also specifying the qualifier and 
>  owner as the database name and owner works. Neither works with 
> specialcolumns().

Strange. Perhaps this has something to do with nullable ?! ...

"""
Nullable
     [Input]
     Determines whether to return special columns that can have a NULL value. Must be one of the following:

     SQL_NO_NULLS: Exclude special columns that can have NULL values. Some drivers cannot support SQL_NO_NULLS, and 
these drivers will return an empty result set if SQL_NO_NULLS was specified. Applications should be prepared for this 
case and request SQL_NO_NULLS only if it is absolutely required.

     SQL_NULLABLE: Return special columns even if they can have NULL values.
"""

and there's also other possibilities:

"""
If there are no columns that uniquely identify each row in the table, SQLSpecialColumns returns a rowset with no rows; a 
subsequent call to SQLFetch or SQLFetchScroll on the statement returns SQL_NO_DATA.

If the IdentifierType, Scope, or Nullable arguments specify characteristics that are not supported by the data source, 
SQLSpecialColumns returns an empty result set.
"""

Hmm, looking at the C code: there's a typo which seems to cause keyword
arguments to not work properly. This could be the cause for the empty
result sets.

Please try the argument in the order given in the documentation
and pass them in without argument names.

I just .specialcolumns() with SAP DB and did get some results this
way:

 >>> c.specialcolumns(None, None, 'EGENIX_VISITORS', SQL.BEST_ROWID, SQL.SCOPE_TRANSACTION)
1
 >>> c.fetchall()
[(1, 'SYSKEY', -2, 'CHAR() BYTE', 8, 8, None, 2, 'BYTE')]
 >>> c.execute('select SYSKEY from EGENIX_VISITORS')
 >>> c.fetchall()
[('\xff\xfe\x00\x00\x00\x00\x00\x01',),]

This seems to be an internal row identifying key used by the database
internally. It is not defined in the table schema.

OTOH, SQL.ROWVER doesn't seem to be supported by SAP DB at all.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Mon Dec 30 22:40:16 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBULeFO12481
	for <egenix-users@lists.egenix.com>; Mon, 30 Dec 2002 22:40:15 +0100
Received: from holly-springs.nc.us (gwe.abanes.org [216.54.200.242])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBULeA910082;
	Mon, 30 Dec 2002 16:40:11 -0500
Message-ID: <3E10BD1C.5060603@holly-springs.nc.us>
Date: Mon, 30 Dec 2002 16:39:40 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us>	<3E108B4A.7020708@lemburg.com> <3E108F9A.1030001@holly-springs.nc.us> <3E109D11.4080508@lemburg.com>
X-Enigmail-Version: 0.65.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Well, passing the arguments all in the right order worked:

x.cursor.specialcolumns(None,None,"NameAndAddr",mx.ODBC.Windows.SQL.BEST_ROWID, 
mx.ODBC.Windows.SQL.SCOPE_CURROW, mx.ODBC.Windows.SQL.NO_NULLS)

It didn't matter if I used NO_NULLS or NULLABLE.

-Michael



M.-A. Lemburg wrote:
> Michael Rothwell wrote:
> 
>> M.-A. Lemburg wrote:
>>
>>> I'd suggest to first get a feeling for how to specify a
>>> table in the database using e.g. cursor.columns() before
>>> trying to find the right parameters for .specialcolumns().
>>
>>
>>
>> cursor.columns(table="mytable") works. Also specifying the qualifier 
>> and  owner as the database name and owner works. Neither works with 
>> specialcolumns().
> 
> 
> Strange. Perhaps this has something to do with nullable ?! ...
> 
> """
> Nullable
>     [Input]
>     Determines whether to return special columns that can have a NULL 
> value. Must be one of the following:
> 
>     SQL_NO_NULLS: Exclude special columns that can have NULL values. 
> Some drivers cannot support SQL_NO_NULLS, and these drivers will return 
> an empty result set if SQL_NO_NULLS was specified. Applications should 
> be prepared for this case and request SQL_NO_NULLS only if it is 
> absolutely required.
> 
>     SQL_NULLABLE: Return special columns even if they can have NULL values.
> """
> 
> and there's also other possibilities:
> 
> """
> If there are no columns that uniquely identify each row in the table, 
> SQLSpecialColumns returns a rowset with no rows; a subsequent call to 
> SQLFetch or SQLFetchScroll on the statement returns SQL_NO_DATA.
> 
> If the IdentifierType, Scope, or Nullable arguments specify 
> characteristics that are not supported by the data source, 
> SQLSpecialColumns returns an empty result set.
> """
> 
> Hmm, looking at the C code: there's a typo which seems to cause keyword
> arguments to not work properly. This could be the cause for the empty
> result sets.
> 
> Please try the argument in the order given in the documentation
> and pass them in without argument names.
> 
> I just .specialcolumns() with SAP DB and did get some results this
> way:
> 
>  >>> c.specialcolumns(None, None, 'EGENIX_VISITORS', SQL.BEST_ROWID, 
> SQL.SCOPE_TRANSACTION)
> 1
>  >>> c.fetchall()
> [(1, 'SYSKEY', -2, 'CHAR() BYTE', 8, 8, None, 2, 'BYTE')]
>  >>> c.execute('select SYSKEY from EGENIX_VISITORS')
>  >>> c.fetchall()
> [('\xff\xfe\x00\x00\x00\x00\x00\x01',),]
> 
> This seems to be an internal row identifying key used by the database
> internally. It is not defined in the table schema.
> 
> OTOH, SQL.ROWVER doesn't seem to be supported by SAP DB at all.
> 



From mal@lemburg.com Mon Dec 30 23:34:02 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBUMY2O13193;
	Mon, 30 Dec 2002 23:34:02 +0100
Message-ID: <3E10C9DC.8000309@lemburg.com>
Date: Mon, 30 Dec 2002 23:34:04 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Rothwell <rothwell@holly-springs.nc.us>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us>	<3E108B4A.7020708@lemburg.com> <3E108F9A.1030001@holly-springs.nc.us>	<3E109D11.4080508@lemburg.com> <3E10BD1C.5060603@holly-springs.nc.us>
In-Reply-To: <3E10BD1C.5060603@holly-springs.nc.us>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Michael Rothwell wrote:
> Well, passing the arguments all in the right order worked:
> 
> x.cursor.specialcolumns(None,None,"NameAndAddr",mx.ODBC.Windows.SQL.BEST_ROWID, 
> mx.ODBC.Windows.SQL.SCOPE_CURROW, mx.ODBC.Windows.SQL.NO_NULLS)
> 
> It didn't matter if I used NO_NULLS or NULLABLE.

Does SQL.SCOPE_TRANSACTION also work ? I'd take that as most
secure way of dealing with your particular problem.

>> Hmm, looking at the C code: there's a typo which seems to cause keyword
>> arguments to not work properly. This could be the cause for the empty
>> result sets.
>>
>> Please try the argument in the order given in the documentation
>> and pass them in without argument names.
>>
>> I just .specialcolumns() with SAP DB and did get some results this
>> way:
>>
>>  >>> c.specialcolumns(None, None, 'EGENIX_VISITORS', SQL.BEST_ROWID, 
>> SQL.SCOPE_TRANSACTION)
>> 1
>>  >>> c.fetchall()
>> [(1, 'SYSKEY', -2, 'CHAR() BYTE', 8, 8, None, 2, 'BYTE')]
>>  >>> c.execute('select SYSKEY from EGENIX_VISITORS')
>>  >>> c.fetchall()
>> [('\xff\xfe\x00\x00\x00\x00\x00\x01',),]
>>
>> This seems to be an internal row identifying key used by the database
>> internally. It is not defined in the table schema.
>>
>> OTOH, SQL.ROWVER doesn't seem to be supported by SAP DB at all.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From rothwell@holly-springs.nc.us Tue Dec 31 05:11:36 2002
Received: from ns.holly-springs.nc.us ([207.198.61.36])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id gBV4BaO16630
	for <egenix-users@lists.egenix.com>; Tue, 31 Dec 2002 05:11:36 +0100
Received: from holly-springs.nc.us (rdu26-227-072.nc.rr.com [66.26.227.72])
	(authenticated)
	by ns.holly-springs.nc.us (8.11.6/8.11.2) with ESMTP id gBV4BX912331;
	Mon, 30 Dec 2002 23:11:33 -0500
Message-ID: <3E111935.5050906@holly-springs.nc.us>
Date: Mon, 30 Dec 2002 23:12:37 -0500
From: Michael Rothwell <rothwell@holly-springs.nc.us>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.specialcolumns
References: <3E106079.4010402@holly-springs.nc.us>	<3E108B4A.7020708@lemburg.com> <3E108F9A.1030001@holly-springs.nc.us>	<3E109D11.4080508@lemburg.com> <3E10BD1C.5060603@holly-springs.nc.us> <3E10C9DC.8000309@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:

>
> Does SQL.SCOPE_TRANSACTION also work ? I'd take that as most
> secure way of dealing with your particular problem.

No. I'm using SQL Server, and the MSDN docs indicate that only CURROW 
will yeild results with SQL Server. I tried it anyway, and didn't get 
anything.

-Michael




From smulloni@smullyan.org Fri Jan  3 05:18:19 2003
Received: from lithium.nac.net (lithium.nac.net [64.21.52.83])
	h034IIO27224
	for <egenix-users@lists.egenix.com>; Fri, 3 Jan 2003 05:18:18 +0100
Received: (qmail 5925 invoked from network); 3 Jan 2003 04:18:00 -0000
Received: from unknown (HELO bracknell.smullyan.org) (64.21.7.184)
  by mail.nac.net with SMTP; 3 Jan 2003 04:18:00 -0000
Received: by bracknell.smullyan.org (Postfix, from userid 1000)
	id 8CB341C00AA; Thu,  2 Jan 2003 23:17:15 -0500 (EST)
From: Jacob Smullyan <smulloni@smullyan.org>
To: egenix-users@lists.egenix.com
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="=-m+sX7wEhCuDw98+9DjAw"
Organization: 
Message-Id: <1041567435.6172.16.camel@bracknell.smullyan.org>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.1- 
Date: 02 Jan 2003 23:17:15 -0500
Subject: [egenix-users] mx.DateTime segfault with Python 2.3a1 (Linux)
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 03 Jan 2003 04:18:19 -0000


--=-m+sX7wEhCuDw98+9DjAw
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


Testing mx.DateTime (egenix-mx-base-2.0.4) with the 2.3 alpha, I get a
segfault right off the bat:

smulloni@bracknell smulloni $ /home/smulloni/python-2.3a1/bin/python
Python 2.3a1 (#1, Jan  1 2003, 12:14:23)=20
[GCC 2.95.3 20010315 (release)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
Segmentation fault

I have strace output if anyone cares to see it.

My python is configured --with-pydebug.=20

Is there a later pre-release build of mx.DateTime I should be using with
2.3?

Thanks,

Jacob Smullyan



--=-m+sX7wEhCuDw98+9DjAw
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQA+FQ7LuqamFyFXXLIRApceAJ40oBqNC+I/XwZAbUwG/FEFtJJC6wCfdGMv
dvwGbm60ViYcuerreMqk1hM=
=/diD
-----END PGP SIGNATURE-----

--=-m+sX7wEhCuDw98+9DjAw--
From mal@lemburg.com Fri Jan  3 11:26:15 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h03AQDO27808;	Fri, 3 Jan 2003 11:26:15 +0100
Message-ID: <3E156531.9080302@lemburg.com>
Date: Fri, 03 Jan 2003 11:25:53 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jacob Smullyan <smulloni@smullyan.org>
Subject: Re: [egenix-users] mx.DateTime segfault with Python 2.3a1 (Linux)
References: <1041567435.6172.16.camel@bracknell.smullyan.org>
In-Reply-To: <1041567435.6172.16.camel@bracknell.smullyan.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 03 Jan 2003 10:26:16 -0000

Jacob Smullyan wrote:
> Testing mx.DateTime (egenix-mx-base-2.0.4) with the 2.3 alpha, I get a
> segfault right off the bat:
> 
> smulloni@bracknell smulloni $ /home/smulloni/python-2.3a1/bin/python
> Python 2.3a1 (#1, Jan  1 2003, 12:14:23) 
> [GCC 2.95.3 20010315 (release)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>import mx.DateTime
> 
> Segmentation fault
> 
> I have strace output if anyone cares to see it.
> 
> My python is configured --with-pydebug. 

That's due to Python 2.3 having pymalloc enabled by default.
The egenix-mx-base 2.1 beta 5 (see this lists archive) doesn't
have this problem anymore.

> Is there a later pre-release build of mx.DateTime I should be using with
> 2.3?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/

From bzimmer@ziclix.com Sun Jan  5 07:08:14 2003
Received: from eris.host4u.net (eris.host4u.net [216.71.64.44])
	h0568DO02114
	for <egenix-users@lists.egenix.com>; Sun, 5 Jan 2003 07:08:13 +0100
Received: from mountain (adsl-65-42-94-243.dsl.chcgil.ameritech.net
	[65.42.94.243])
	by eris.host4u.net (8.11.6/8.11.6) with ESMTP id h0567Qk09497;
	Sun, 5 Jan 2003 00:07:26 -0600
From: "brian zimmer" <bzimmer@ziclix.com>
To: <jython-users@lists.sourceforge.net>, <egenix-users@lists.egenix.com>
Date: Sun, 5 Jan 2003 00:06:49 -0600
Message-ID: <00e201c2b480$a2c55490$f35e2a41@mountain>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Subject: [egenix-users] [ANN] zxDateTime 0.2
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 05 Jan 2003 06:08:14 -0000


zxDateTime 0.2 is available here:
  http://sourceforge.net/projects/zxpy/

zxDateTime is a Java implementation of the popular CPython
mx.DateTime module.

This release includes bug fixes as well as a new DataHandler
for zxJDBC to convert all java.[util|sql] Date-like objects
into appropriate mx.DateTime objects when queried or sent to
the JDBC driver.

It has been tested with both Jython 2.1 and current CVS.

Feel free to contact me with any comments, suggestions,
questions or complaints.

thanks,

brian zimmer, (bzimmer@ziclix.com)

From mal@lemburg.com Mon Jan  6 13:19:57 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h06CJuO05135;	Mon, 6 Jan 2003 13:19:57 +0100
Message-ID: <3E197434.4060507@lemburg.com>
Date: Mon, 06 Jan 2003 13:19:00 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: brian zimmer <bzimmer@ziclix.com>
Subject: Re: [egenix-users] [ANN] zxDateTime 0.2
References: <00e201c2b480$a2c55490$f35e2a41@mountain>
In-Reply-To: <00e201c2b480$a2c55490$f35e2a41@mountain>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
cc: jython-users@lists.sourceforge.net
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 06 Jan 2003 12:20:26 -0000

brian zimmer wrote:
> zxDateTime 0.2 is available here:
>   http://sourceforge.net/projects/zxpy/
> 
> zxDateTime is a Java implementation of the popular CPython
> mx.DateTime module.

Way cool, Brian :-)

> This release includes bug fixes as well as a new DataHandler
> for zxJDBC to convert all java.[util|sql] Date-like objects
> into appropriate mx.DateTime objects when queried or sent to
> the JDBC driver.
> 
> It has been tested with both Jython 2.1 and current CVS.
> 
> Feel free to contact me with any comments, suggestions,
> questions or complaints.
> 
> thanks,
> 
> brian zimmer, (bzimmer@ziclix.com)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/

From werschlein@interlace.ch Mon Jan  6 14:37:39 2003
Received: from newzapf.interlace.ch (newzapf.interlace.ch [62.12.148.46])
	h06DbdO05335
	for <egenix-users@lists.egenix.com>; Mon, 6 Jan 2003 14:37:39 +0100
Received: by newzapf.interlace.ch (Postfix, from userid 501)
	id 4AAF83082C; Mon,  6 Jan 2003 14:36:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
	by newzapf.interlace.ch (Postfix) with ESMTP id 3E95D3082B
	for <egenix-users@lists.egenix.com>;
	Mon,  6 Jan 2003 14:36:42 +0100 (CET)
Date: Mon, 6 Jan 2003 14:36:39 +0100 (CET)
From: Thomas Werschlein <werschlein@interlace.ch>
X-X-Sender: thomi@newzapf.interlace.ch
To: egenix-users@lists.egenix.com
Message-ID: <Pine.LNX.4.44.0301061431540.26293-100000@newzapf.interlace.ch>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] does mx.Tidy not accept StringIO as outputstream?
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 06 Jan 2003 13:37:39 -0000

Hello

I try to use a StringIO stream as tidy output stream, but always get
the following error:
"outputstream must be a file object or None"

Just to be sure it's not me: is mx.Tidy.tidy() expecting a _real_ file
no matter what?

Thanks,
Thomas

From mal@lemburg.com Mon Jan  6 14:50:25 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h06DoPO05374;	Mon, 6 Jan 2003 14:50:25 +0100
Message-ID: <3E198968.9000107@lemburg.com>
Date: Mon, 06 Jan 2003 14:49:28 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Thomas Werschlein <werschlein@interlace.ch>
Subject: Re: [egenix-users] does mx.Tidy not accept StringIO as outputstream?
References: <Pine.LNX.4.44.0301061431540.26293-100000@newzapf.interlace.ch>
In-Reply-To: <Pine.LNX.4.44.0301061431540.26293-100000@newzapf.interlace.ch>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 06 Jan 2003 13:50:26 -0000

Thomas Werschlein wrote:
> Hello
> 
> I try to use a StringIO stream as tidy output stream, but always get
> the following error:
> "outputstream must be a file object or None"
> 
> Just to be sure it's not me: is mx.Tidy.tidy() expecting a _real_ file
> no matter what?

Right. The reason is that tidy itself needs a real FILE*.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/

From smulloni@smullyan.org Tue Jan  7 22:41:52 2003
Received: from lithium.nac.net (lithium.nac.net [64.21.52.83])
	h07LfpO09464
	for <egenix-users@lists.egenix.com>; Tue, 7 Jan 2003 22:41:52 +0100
Received: (qmail 84411 invoked from network); 7 Jan 2003 21:40:29 -0000
Received: from unknown (HELO bracknell.smullyan.org) (64.21.7.184)
  by mail.nac.net with SMTP; 7 Jan 2003 21:40:29 -0000
Received: from smullyan.org (localhost [127.0.0.1])
	by bracknell.smullyan.org (Postfix) with SMTP id 6BD2F1C0248
	for <egenix-users@lists.egenix.com>;
	Tue,  7 Jan 2003 16:40:16 -0500 (EST)
Received: from 209.208.218.222
        (SquirrelMail authenticated user smulloni)
        by bracknell.smullyan.org with HTTP;
        Tue, 7 Jan 2003 16:40:16 -0500 (EST)
Message-ID: <56547.209.208.218.222.1041975616.squirrel@bracknell.smullyan.org>
Date: Tue, 7 Jan 2003 16:40:16 -0500 (EST)
From: "Jacob Smullyan" <smulloni@smullyan.org>
To: <egenix-users@lists.egenix.com>
X-Priority: 3
Importance: Normal
X-Mailer: SquirrelMail (version 1.2.9)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Subject: [egenix-users] 
 experimental package compilation problems/download sites for betas
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: smulloni@smullyan.org
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 07 Jan 2003 21:41:52 -0000

I have tried to compile the latest version of the experimental package for
which I can find a download link, 0.7.0.  It fails with two errors that I
see mentioned as fixed in the announcement to this list (on 25 Sept.) for
its release (requiring gmp, and then, when that is installed, a python
error involving distutils).  Is there a later release which fixes this
problems lurking somewhere?

It would be awfully convenient if the download page for betas was linked
to on egenix.com.  Also, mailman on egenix.com needs to be configured to
link to the correct url for the egenix-users archives!

Cheers,

jacob smullyan


From mal@lemburg.com Tue Jan  7 23:49:53 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h07MnqO10020;	Tue, 7 Jan 2003 23:49:53 +0100
Message-ID: <3E1B5949.1010403@lemburg.com>
Date: Tue, 07 Jan 2003 23:48:41 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: smulloni@smullyan.org
Subject: Re: [egenix-users]  experimental package compilation
	problems/download sites for betas
References: <56547.209.208.218.222.1041975616.squirrel@bracknell.smullyan.org>
In-Reply-To: <56547.209.208.218.222.1041975616.squirrel@bracknell.smullyan.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 07 Jan 2003 22:49:55 -0000

Jacob Smullyan wrote:
> I have tried to compile the latest version of the experimental package for
> which I can find a download link, 0.7.0.  It fails with two errors that I
> see mentioned as fixed in the announcement to this list (on 25 Sept.) for
> its release (requiring gmp, and then, when that is installed, a python
> error involving distutils).  Is there a later release which fixes this
> problems lurking somewhere?

Could you post more details on those errors ? GMP should not be
required and the only build related problem I know of in that
release is caused by header file problems on some Solaris boxes.

> It would be awfully convenient if the download page for betas was linked
> to on egenix.com. 

True, we'll do that for the next beta cycle. Here are the links
again:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.zip
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.i386.rpm

(the announcement is here: http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html)

A release candidate is due shortly.

 > Also, mailman on egenix.com needs to be configured to
> link to the correct url for the egenix-users archives!

Thanks. I upgraded to Mailman 2.1 and it seems that the config files
have changed a bit in that area.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/

From holtwick@spirito.de Wed Jan  8 09:45:27 2003
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	h088jRO12875
	for <egenix-users@lists.egenix.com>; Wed, 8 Jan 2003 09:45:27 +0100
Received: (qmail 7585 invoked from network); 8 Jan 2003 08:52:50 -0000
Received: from p5087aadd.dip.t-dialin.net (HELO spirito.de)
	(holtwick@80.135.170.221)
	by main.spirito.de with SMTP; 8 Jan 2003 08:52:50 -0000
Message-ID: <3E1BE4FA.6090202@spirito.de>
Date: Wed, 08 Jan 2003 09:44:42 +0100
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
	rv:0.9.4) Gecko/20011022 Netscape6/6.2
X-Accept-Language: de, en, en-us
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mx packages under mac os x
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Jan 2003 08:45:27 -0000

just for information, the mxBase and parts of the mxExperimental 
packages compile quite good under apples mac os x.

but there's a problem in mxUID, where the package tries to get the 
hostname and ip and this fails if you don't have a connection to the 
net. this should be captured by a try/except clause.

dirk

From mal@lemburg.com Wed Jan  8 11:43:03 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h08Ah3O13191;	Wed, 8 Jan 2003 11:43:03 +0100
Message-ID: <3E1C0068.6090906@lemburg.com>
Date: Wed, 08 Jan 2003 11:41:44 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
Subject: Re: [egenix-users] mx packages under mac os x
References: <3E1BE4FA.6090202@spirito.de>
In-Reply-To: <3E1BE4FA.6090202@spirito.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Jan 2003 10:43:04 -0000

Dirk Holtwick wrote:
> just for information, the mxBase and parts of the mxExperimental 
> packages compile quite good under apples mac os x.
> 
> but there's a problem in mxUID, where the package tries to get the 
> hostname and ip and this fails if you don't have a connection to the 
> net. this should be captured by a try/except clause.

Could you try this code in mx/UID/mxUID/__init__.py:

### Python part of module initialization

# Set IDs
def _init():
     global _hostid
     import os,string,time
     try:
         # Try to use the IP address as host id
         import socket
         try:
             ip = socket.gethostbyname(socket.gethostname())
         except socket.error:
             raise ImportError, 'no network connection'
         ip = map(int, string.split(ip, '.'))
         _hostid = reduce(lambda x,y: (x+y) % 65536, ip)
     except ImportError:
         try:
             # Use the data from the root stat as host id
             _hostid = reduce(lambda x,y: (x+y) % 65536, os.stat(os.sep))
         except os.error:
             # Fallback to a constant
             _hostid = 0x2003
     setids(_hostid, os.getpid(), 0xdeadbeef & long(time.time() / 1000))

_init()


This should work in all situations.

BTW, does anyone know how to get at the MAC address of the
network card on the various platforms ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/

From Jim.Vickroy@noaa.gov Wed Feb 19 19:07:22 2003
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov
	[140.172.224.30])h1JI7L328056
	for <egenix-users@lists.egenix.com>; Wed, 19 Feb 2003 19:07:22 +0100
Received: from noaa.gov ([140.172.223.61]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id HAKIC700.F1G for <egenix-users@lists.egenix.com>; Wed,
          19 Feb 2003 11:07:19 -0700 
Message-ID: <3E53C7D6.6F9692DD@noaa.gov>
Date: Wed, 19 Feb 2003 11:07:19 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] SQL Server query result as XML
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 19 Feb 2003 18:07:22 -0000

Hello,

I'm using mx.ODBC.Windows with Python 2.2.2 on a Windows 2000 machine.

Here is the result of asking SQL Server to formulate a query result as
XML:

>>> cur.execute('select * from employee for xml auto')
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
Warning: ('01004', 0, '[Microsoft][ODBC SQL Server Driver]String data,
right truncation', 2394)


The above SQL query works fine from MS SQL QueryAnalyzer.

Any ideas why it does not work from Python?

Thanks,

-- jv

From mal@lemburg.com Fri Feb 28 22:00:07 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h1SL07320106;	Fri, 28 Feb 2003 22:00:07 +0100
Message-ID: <3E5FCDD8.1040609@lemburg.com>
Date: Fri, 28 Feb 2003 22:00:08 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix mxODBC Zope Database Adapter, Version
	1.0.0
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2003 21:00:07 -0000

________________________________________________________________________
ANNOUNCEMENT

                              EGENIX.COM

                      mxODBC Zope Database Adapter

                             Version 1.0.0
                         (for Zope 2.5 and 2.6)

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope Database Adapter (Zope DA) allows you to easily
connect your Zope installation to just about any database backend on
the market today, giving you the reliability of the commercially
supported eGenix.com product mxODBC and the flexibility of the ODBC
standard as middle-tier architecture.

Unlike Zope's ZODBC Zope DA, the mxODBC Zope DA works on Windows
XP/NT/2000/98/95, Linux and Solaris using the same interface on all
platforms.

The mxODBC Zope DA implements thread-safe connection pooling and
multiple physical connects per logical Zope connection. You can safely
run Z SQL Methods in parallel, achieving a much better performance
than ZODBC Zope DA or similar Zope database adapters under heavy load.
This makes it ideal for deployment in Zope Clusters and Zope hosting
environments where stability and high performance are a top priority.

________________________________________________________________________
FEATURES

* Zope Level 3 Database Adapter: the mxODBC Zope DA is fully
   multi-threaded and can handle multiple connections to multiple
   databases.

* Fully compatible to Z SQL Methods.

* Fully compatible to the Znolk SQL Wizard Product and other similar
   products relying on the common database schema access methods
   .tables() and .columns().

* Connection Pooling: physical database connections are pooled and
   kept open, to reduce the connection overhead to a minimum.  This is
   especially important for high latency database connections and ones
   like Oracle which take a considerable amount of time to setup

* Parallel Execution of Queries on a single logical connection: the
   mxODBC Zope DA can manage any number of physical connections on a
   single logical connection. This enables running truly parallel Z SQL
   Method queries -- a feature not available in other Zope DAs.

* Robust Mode of Operation: connections which have timed out or go
   away due to network problems are automatically reconnected.

* Cross-platform Connection Objects: The Zope DA will automatically
   choose the right platform specific ODBC manager for you.

* Per Connection Adjustable ODBC Interface: mxODBC comes with many
   different subpackages to choose from on Unix. The Zope DA allows you
   to select these subpackages on a per-connection basis.

* Per Connection Error Handling: you can tell each connection whether
   it should report ODBC warnings or not; furthermore all warnings and
   errors are made available as list .messages on the DatabaseConnection
   object.

* Transaction safe automatic reconnect: when the DA finds that a
   connection has timed out, it automatically tries a reconnect
   and replays the transaction on the connection (unlike other DAs
   which break the transaction scheme by doing a reconnect without
   replay).

* Built-in Schema Cache: this results in improved performance under
   heavy load.

* Database Schema Access: all ODBC catalog methods are made available
   for much better database schema inquiry. The catalog methods allow
   building generic database interrogation or manipulation tools and
   facilitates writing database independent Zope products.

________________________________________________________________________
MORE INFORMATION

For more information on the mxODBC Zope DA, licensing and download
instructions, please visit our web-site:

     http://www.egenix.com/

________________________________________________________________________

Thank you,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Feb 28 2003)
>>> Python/Zope Products & Consulting ...         http://www.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                     32 days left
EuroPython 2003, Charleroi, Belgium:                       116 days left


From mal@lemburg.com Fri Feb 28 22:33:38 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h1SLXY320881;	Fri, 28 Feb 2003 22:33:35 +0100
Message-ID: <3E5FD5AC.40705@lemburg.com>
Date: Fri, 28 Feb 2003 22:33:32 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
Subject: Re: [egenix-users] SQL Server query result as XML
References: <3E53C7D6.6F9692DD@noaa.gov>
In-Reply-To: <3E53C7D6.6F9692DD@noaa.gov>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2003 21:33:42 -0000

Jim Vickroy wrote:
> Hello,
> 
> I'm using mx.ODBC.Windows with Python 2.2.2 on a Windows 2000 machine.
> 
> Here is the result of asking SQL Server to formulate a query result as
> XML:
> 
> 
>>>>cur.execute('select * from employee for xml auto')
> 
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
> Warning: ('01004', 0, '[Microsoft][ODBC SQL Server Driver]String data,
> right truncation', 2394)
> 
> 
> The above SQL query works fine from MS SQL QueryAnalyzer.
> 
> Any ideas why it does not work from Python?

This is a warning that's probably related to the column name
length. The maximum column name length is set to 37 in mxODBC
(because that's what SQL defines as limit).

You can work around this by explicitly naming the columns in the
SQL statement.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Feb 28 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                     32 days left
EuroPython 2003, Charleroi, Belgium:                       116 days left

From paul.rensing@att.net Mon Feb  3 18:34:21 2003
Received: from rmta01.mta.everyone.net (smtp.everyone.net [216.200.145.17])
	h13HYKG26041
	for <egenix-users@lists.egenix.com>; Mon, 3 Feb 2003 18:34:21 +0100
Received: from opus.cimetricsinternal.com (unknown [168.103.137.169])
	by rmta01.mta.everyone.net (Postfix) with ESMTP id 1AD55A52CF
	for <egenix-users@lists.egenix.com>;
	Mon,  3 Feb 2003 09:34:19 -0800 (PST)
Received: from opus.cimetricsinternal.com (opus.cimetricsinternal.com
	[127.0.0.1])h13HYFPc031941
	for <egenix-users@lists.egenix.com>; Mon, 3 Feb 2003 12:34:15 -0500
Received: (from prensing@localhost)
	by opus.cimetricsinternal.com (8.12.5/8.12.5/Submit) id h13HYC3G031939
	for egenix-users@lists.egenix.com; Mon, 3 Feb 2003 12:34:12 -0500
X-Authentication-Warning: opus.cimetricsinternal.com: prensing set sender to
	paul.rensing@att.net using -f
From: Paul Rensing <paul.rensing@att.net>
To: egenix-users@lists.egenix.com
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Organization: 
Message-Id: <1044293652.1457.47.camel@opus.cimetricsinternal.com>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.1 (1.2.1-3) 
X-Mailman-Approved-At: Fri, 28 Feb 2003 22:49:47 +0100
Subject: [egenix-users] Bug in DateTime parsing
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
Date: Mon, 03 Feb 2003 17:34:22 -0000
X-Original-Date: 03 Feb 2003 12:34:12 -0500
X-List-Received-Date: Mon, 03 Feb 2003 17:34:22 -0000

Hi Everyone,

I am not subscribed to the list, so please reply directly.

I did not see a bug reporting address on the Web site, so I thought I
would start here.

There is a bug in the latest version of DateTime when parsing times
containing "AM" or "PM". Specifically, if the time is "12:??AM" or
"12:??PM", the resulting time is off by 12 hours (actually, it fails on
"12:??PM").

The problem is that "12:00AM" means "0:00" (in a 24-hour clock) and
"12:00PM" means "12:00". The code just ignores "AM" and add 12 to the
hour when it sees "PM". This not correct when the hour is "12".

	Paul
-- 
Paul Rensing <paul.rensing@att.net>
From tommi.auvinen@wicom.com Fri Feb 21 09:18:43 2003
Received: from postman.wicom.com (postman.wicom.com [62.236.218.18])
	h1L8Ig329014
	for <egenix-users@lists.egenix.com>; Fri, 21 Feb 2003 09:18:42 +0100
x-fsavag4mse-ts: d3e221cb6b85b50b
Keywords: disclaimer
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
Content-Transfer-Encoding: 8bit
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2D981.D7525B70"
Date: Fri, 21 Feb 2003 10:18:40 +0200
Message-ID: <53404C1181500348B8F07B400D418EB15A7069@postman.wicom.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: mxODBC and Python interpreter lock
thread-index: AcLZgcz4gFF+Wlk7T92qITJj9SkeuA==
From: "Tommi Auvinen" <tommi.auvinen@wicom.com>
To: <egenix-users@lists.egenix.com>
X-Mailman-Approved-At: Fri, 28 Feb 2003 22:50:06 +0100
Subject: [egenix-users] mxODBC and Python interpreter lock
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 21 Feb 2003 08:18:43 -0000

This is a multi-part message in MIME format.

------_=_NextPart_001_01C2D981.D7525B70
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hello.

 

There are quite many calls to Windows ODBC library (mxODBC for Python
1.5) that are not freeing the Python lock (for performance reasons, I
guess), and now I have a strong feeling that one or more of those call
do access (in some special cases?) the SQL Server, and if the SQL Server
is _really_ occupied (in fact, other instance of SQL Server hogged it
all) the Python interpreter is locked for a long time. 150 msec lock is
the best I have managed to reproduce in my tests, but in "real life"
there are some cases where the locking time has been tens of seconds.

 

Is there any risk in compiling my own version where all the calls to
ODBC driver API do release the lock (so is performance the only reason
not to free the lock always, or are there other caveats)? 

 

R:TAU

 


------_=_NextPart_001_01C2D981.D7525B70
Content-Type: text/html;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

<html>

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 10 (filtered)">

<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{font-family:Arial;
	color:windowtext;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Hello.</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>There are quite many calls to Windows ODBC library =
(mxODBC
for Python 1.5) that are not freeing the Python lock (for performance =
reasons,
I guess), and now I have a strong feeling that one or more of those call =
do
access (in some special cases?) the SQL Server, and if the SQL Server is =
_<i><span
style=3D'font-style:italic'>really</span></i>_ occupied (in fact, other =
instance
of SQL Server hogged it all) the Python interpreter is locked for a long =
time.
150 msec lock is the best I have managed to reproduce in my tests, but =
in &#8220;real
life&#8221; there are some cases where the locking time has been tens of
seconds.</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Is there any risk in compiling my own version where =
all the
calls to ODBC driver API do release the lock (so is performance the only =
reason
not to free the lock always, or are there other caveats)? =
</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>R:TAU</span></font></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;</span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C2D981.D7525B70--
From mal@lemburg.com Fri Feb 28 22:51:54 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h1SLps321038;	Fri, 28 Feb 2003 22:51:54 +0100
Message-ID: <3E5FD9FC.8050006@lemburg.com>
Date: Fri, 28 Feb 2003 22:51:56 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Paul Rensing <paul.rensing@att.net>
Subject: Re: [egenix-users] Bug in DateTime parsing
References: <1044293652.1457.47.camel@opus.cimetricsinternal.com>
In-Reply-To: <1044293652.1457.47.camel@opus.cimetricsinternal.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2003 21:51:56 -0000

Paul Rensing wrote:
> Hi Everyone,
> 
> I am not subscribed to the list, so please reply directly.
> 
> I did not see a bug reporting address on the Web site, so I thought I
> would start here.
> 
> There is a bug in the latest version of DateTime when parsing times
> containing "AM" or "PM". Specifically, if the time is "12:??AM" or
> "12:??PM", the resulting time is off by 12 hours (actually, it fails on
> "12:??PM").
> 
> The problem is that "12:00AM" means "0:00" (in a 24-hour clock) and
> "12:00PM" means "12:00". The code just ignores "AM" and add 12 to the
> hour when it sees "PM". This not correct when the hour is "12".

This bug will be fixed in the upcoming egenix-mx-base release 2.1.0
(sometime in March).

Thanks,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Feb 28 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                     32 days left
EuroPython 2003, Charleroi, Belgium:                       116 days left

From mal@lemburg.com Fri Feb 28 22:55:52 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h1SLtq321060;	Fri, 28 Feb 2003 22:55:52 +0100
Message-ID: <3E5FDAEB.8010306@lemburg.com>
Date: Fri, 28 Feb 2003 22:55:55 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Tommi Auvinen <tommi.auvinen@wicom.com>
Subject: Re: [egenix-users] mxODBC and Python interpreter lock
References: <53404C1181500348B8F07B400D418EB15A7069@postman.wicom.com>
In-Reply-To: <53404C1181500348B8F07B400D418EB15A7069@postman.wicom.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2003 21:55:54 -0000

Tommi Auvinen wrote:
> Hello.
> 
> There are quite many calls to Windows ODBC library (mxODBC for Python
> 1.5) that are not freeing the Python lock (for performance reasons, I
> guess), and now I have a strong feeling that one or more of those call
> do access (in some special cases?) the SQL Server, and if the SQL Server
> is _really_ occupied (in fact, other instance of SQL Server hogged it
> all) the Python interpreter is locked for a long time. 150 msec lock is
> the best I have managed to reproduce in my tests, but in "real life"
> there are some cases where the locking time has been tens of seconds.
> 
> Is there any risk in compiling my own version where all the calls to
> ODBC driver API do release the lock (so is performance the only reason
> not to free the lock always, or are there other caveats)? 

Only the query APIs currently free the lock. Which other APIs do you
think would also benefit from this ?

Note that you can't free the lock at arbitrary times since this
could introduce problems with callback etc.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Feb 28 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                     32 days left
EuroPython 2003, Charleroi, Belgium:                       116 days left

From reigncracks@hotmail.com Tue Mar 25 22:58:36 2003
Received: from hotmail.com (f24.sea2.hotmail.com [207.68.165.24])
	h2PLwaN12838
	for <egenix-users@lists.egenix.com>; Tue, 25 Mar 2003 22:58:36 +0100
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Tue, 25 Mar 2003 13:58:34 -0800
Received: from 68.103.32.11 by sea2fd.sea2.hotmail.msn.com with HTTP;
	Tue, 25 Mar 2003 21:58:33 GMT
X-Originating-IP: [68.103.32.11]
X-Originating-Email: [reigncracks@hotmail.com]
From: "Mezz bsdforums.org" <reigncracks@hotmail.com>
To: egenix-users@lists.egenix.com
Date: Tue, 25 Mar 2003 16:58:33 -0500
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <F24tPF1FSWq48P7nBgh0001c551@hotmail.com>
X-OriginalArrivalTime: 25 Mar 2003 21:58:34.0100 (UTC)
	FILETIME=[AE222340:01C2F319]
Subject: [egenix-users] mxDateTime is broke in FreeBSD 5.0-CURRENT..
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 25 Mar 2003 21:58:37 -0000

Hello,

I am trying to port Straw (python script), but it doesn't work. I turned 
everything on the debug mode and found the problem. It was mxDateTime and I 
have no idea how to solve this problem.

Please, check this url for the more details. 
http://www.freebsd.org/cgi/query-pr.cgi?pr=50262 (shorter detail will be in 
the bottom of this email.)

The version is 2.0.3, but I tried 2.0.4 and still have the same result.

FreeBSD 5.0-CURRENT has GCC 3.2.2..

=============================
macros to undefine: []
running build_ext
building 'mx.DateTime.mxDateTime.mxDateTime' extension
creating build/temp.freebsd-5.0-CURRENT-i386-2.2
creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx
creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime
creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime
creating
build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime/mxDateTime
cc -O -pipe -g -march=pentium3 -D_THREAD_SAFE -fPIC -Imx/DateTime/mxDateTime
-I/usr/local/include/python2.2 -c mx/DateTime/mxDateTime/mxDateTime.c -o
build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime/mxDateTime/mxDateTime.o
-O -pipe -g -march=pentium3
mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTime_New':
mx/DateTime/mxDateTime/mxDateTime.c:333: warning: passing arg 1 of
`_Py_NewReference' from incompatible pointer type
mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTime_Free':
mx/DateTime/mxDateTime/mxDateTime.c:365: warning: passing arg 1 of
`_Py_ForgetReference' from incompatible pointer type
mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTimeDelta_New':
mx/DateTime/mxDateTime/mxDateTime.c:3076: warning: passing arg 1 of
`_Py_NewReference' from incompatible pointer type
mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTimeDelta_Free':
mx/DateTime/mxDateTime/mxDateTime.c:3103: warning: passing arg 1 of
`_Py_ForgetReference' from incompatible pointer type
=============================

So, if you guys know any of hint to fix it, feel free to send me a patch or 
update the tarball to download egenix-mx-base. Unless, you have any of plan 
to update the next version soon, hope you will fix this one too.

Cheers,
Mezz

_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE*  
http://join.msn.com/?page=features/junkmail

From mal@lemburg.com Wed Mar 26 09:43:08 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h2Q8h8N27351;	Wed, 26 Mar 2003 09:43:08 +0100
Message-ID: <3E816823.8010908@lemburg.com>
Date: Wed, 26 Mar 2003 09:43:15 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mezz bsdforums.org" <reigncracks@hotmail.com>
Subject: Re: [egenix-users] mxDateTime is broke in FreeBSD 5.0-CURRENT..
References: <F24tPF1FSWq48P7nBgh0001c551@hotmail.com>
In-Reply-To: <F24tPF1FSWq48P7nBgh0001c551@hotmail.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 26 Mar 2003 08:43:11 -0000

Mezz bsdforums.org wrote:
> Hello,
> 
> I am trying to port Straw (python script), but it doesn't work. I turned 
> everything on the debug mode and found the problem. It was mxDateTime 
> and I have no idea how to solve this problem.
> 
> Please, check this url for the more details. 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=50262 (shorter detail will be 
> in the bottom of this email.)
> 
> The version is 2.0.3, but I tried 2.0.4 and still have the same result.
> 
> FreeBSD 5.0-CURRENT has GCC 3.2.2..
> 
> =============================
> macros to undefine: []
> running build_ext
> building 'mx.DateTime.mxDateTime.mxDateTime' extension
> creating build/temp.freebsd-5.0-CURRENT-i386-2.2
> creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx
> creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime
> creating build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime
> creating
> build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime/mxDateTime
> cc -O -pipe -g -march=pentium3 -D_THREAD_SAFE -fPIC 
> -Imx/DateTime/mxDateTime
> -I/usr/local/include/python2.2 -c mx/DateTime/mxDateTime/mxDateTime.c -o
> build/temp.freebsd-5.0-CURRENT-i386-2.2/mx/DateTime/mxDateTime/mxDateTime/mxDateTime.o 
> 
> -O -pipe -g -march=pentium3
> mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTime_New':
> mx/DateTime/mxDateTime/mxDateTime.c:333: warning: passing arg 1 of
> `_Py_NewReference' from incompatible pointer type
> mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTime_Free':
> mx/DateTime/mxDateTime/mxDateTime.c:365: warning: passing arg 1 of
> `_Py_ForgetReference' from incompatible pointer type
> mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTimeDelta_New':
> mx/DateTime/mxDateTime/mxDateTime.c:3076: warning: passing arg 1 of
> `_Py_NewReference' from incompatible pointer type
> mx/DateTime/mxDateTime/mxDateTime.c: In function `mxDateTimeDelta_Free':
> mx/DateTime/mxDateTime/mxDateTime.c:3103: warning: passing arg 1 of
> `_Py_ForgetReference' from incompatible pointer type
> =============================
> 
> So, if you guys know any of hint to fix it, feel free to send me a patch 
> or update the tarball to download egenix-mx-base. Unless, you have any 
> of plan to update the next version soon, hope you will fix this one too.

It is already fixed in our current beta. The fix is easy:
simply remove all of the above lines. Note that the problem
only occurs in Python debug builds. Standard builds work just
fine.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Mar 26 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                      6 days left
EuroPython 2003, Charleroi, Belgium:                        90 days left

From reigncracks@hotmail.com Wed Mar 26 11:01:23 2003
Received: from hotmail.com (f39.sea2.hotmail.com [207.68.165.39])
	h2QA1MN27861
	for <egenix-users@lists.egenix.com>; Wed, 26 Mar 2003 11:01:22 +0100
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Wed, 26 Mar 2003 02:01:15 -0800
Received: from 68.103.32.11 by sea2fd.sea2.hotmail.msn.com with HTTP;
	Wed, 26 Mar 2003 10:01:14 GMT
X-Originating-IP: [68.103.32.11]
X-Originating-Email: [reigncracks@hotmail.com]
From: "Mezz bsdforums.org" <reigncracks@hotmail.com>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxDateTime is broke in FreeBSD 5.0-CURRENT..
Date: Wed, 26 Mar 2003 05:01:14 -0500
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Message-ID: <F39wJffTW2XvzAjb63K0000147c@hotmail.com>
X-OriginalArrivalTime: 26 Mar 2003 10:01:15.0191 (UTC)
	FILETIME=[A35B8C70:01C2F37E]
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 26 Mar 2003 10:01:23 -0000

>Mezz bsdforums.org wrote:
>>Hello,
>>
>>I am trying to port Straw (python script), but it doesn't work. I turned 
>>everything on the debug mode and found the problem. It was mxDateTime and 
>>I have no idea how to solve this problem.
>>
>>Please, check this url for the more details. 
>>http://www.freebsd.org/cgi/query-pr.cgi?pr=50262 (shorter detail will be 
>>in the bottom of this email.)
>>
>>The version is 2.0.3, but I tried 2.0.4 and still have the same result.
>>
>>FreeBSD 5.0-CURRENT has GCC 3.2.2..
>>
>>=============================
<snip>
>>=============================
>>
>>So, if you guys know any of hint to fix it, feel free to send me a patch 
>>or update the tarball to download egenix-mx-base. Unless, you have any of 
>>plan to update the next version soon, hope you will fix this one too.
>
>It is already fixed in our current beta. The fix is easy:
>simply remove all of the above lines. Note that the problem
>only occurs in Python debug builds. Standard builds work just
>fine.

Remove what? Will this effect on mxDateTime?

I get the same error with or without Python debug, btw. It's reason why I 
turn Python debug to find why Straw crashes; it leads me to find mxDateTime 
has a problem. At least, it has been fixed in the CVS version as you have 
stated. :-)

Umm, do you have any idea when the next version will be release? If you have 
no idea, then can you show me what to patch? So, I can add this patch in the 
ports tree for a while, until the next version is releasing.

Cheers,
Mezz

>--
>Marc-Andre Lemburg
>eGenix.com

_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE*  
http://join.msn.com/?page=features/junkmail

From mal@lemburg.com Wed Mar 26 11:48:48 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h2QAmmN28162;	Wed, 26 Mar 2003 11:48:48 +0100
Message-ID: <3E818591.60605@lemburg.com>
Date: Wed, 26 Mar 2003 11:48:49 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mezz bsdforums.org" <reigncracks@hotmail.com>
Subject: Re: [egenix-users] mxDateTime is broke in FreeBSD 5.0-CURRENT..
References: <F39wJffTW2XvzAjb63K0000147c@hotmail.com>
In-Reply-To: <F39wJffTW2XvzAjb63K0000147c@hotmail.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 26 Mar 2003 10:48:50 -0000

Mezz bsdforums.org wrote:
>> Mezz bsdforums.org wrote:
>>
>>> Hello,
>>>
>>> I am trying to port Straw (python script), but it doesn't work. I 
>>> turned everything on the debug mode and found the problem. It was 
>>> mxDateTime and I have no idea how to solve this problem.
>>>
>>> Please, check this url for the more details. 
>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=50262 (shorter detail will 
>>> be in the bottom of this email.)
>>>
>>> The version is 2.0.3, but I tried 2.0.4 and still have the same result.
>>>
>>> FreeBSD 5.0-CURRENT has GCC 3.2.2..
>>>
>>> =============================
> 
> <snip>
> 
>>> =============================
>>>
>>> So, if you guys know any of hint to fix it, feel free to send me a 
>>> patch or update the tarball to download egenix-mx-base. Unless, you 
>>> have any of plan to update the next version soon, hope you will fix 
>>> this one too.
>>
>>
>> It is already fixed in our current beta. The fix is easy:
>> simply remove all of the above lines. Note that the problem
>> only occurs in Python debug builds. Standard builds work just
>> fine.
> 
> Remove what? Will this effect on mxDateTime?

Remove the lines with _Py_ForgetReference(). Some compilers
also have problems with the free lists; you can disable those
by editing the top of mxDateTime.c:

/* Define these to have the module use free lists (saves malloc calls) */
#define MXDATETIME_FREELIST
#define MXDATETIMEDELTA_FREELIST

> I get the same error with or without Python debug, btw. It's reason why 
> I turn Python debug to find why Straw crashes; it leads me to find 
> mxDateTime has a problem. At least, it has been fixed in the CVS version 
> as you have stated. :-)
 >
> Umm, do you have any idea when the next version will be release? If you 
> have no idea, then can you show me what to patch? So, I can add this 
> patch in the ports tree for a while, until the next version is releasing.

We planned to release 2.1 in March, but as so often, other things
got in the way. The new time frame is end of April and definitely
in time for EuroPython 2003 :-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Mar 26 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
Python UK 2003, Oxford:                                      6 days left
EuroPython 2003, Charleroi, Belgium:                        90 days left

From davis@mccalldesign.com Tue Apr  8 20:22:55 2003
Received: from sentry.mccalldesign.com (sentry.mccalldesign.com
	[208.59.239.218])h38IMsV30520
	for <egenix-users@lists.egenix.com>; Tue, 8 Apr 2003 20:22:55 +0200
Received: from mccalldesign.com (sentry.mccalldesign.com [208.59.239.218])
	h38IMr76033429	for <egenix-users@lists.egenix.com>;
	Tue, 8 Apr 2003 11:22:53 -0700 (PDT)
	(envelope-from davis@mccalldesign.com)
Message-ID: <3E931204.1010306@mccalldesign.com>
Date: Tue, 08 Apr 2003 11:16:36 -0700
From: Davis Marques <davis@mccalldesign.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.0.2) Gecko/20021120 Netscape/7.01
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, hits=0.3 required=5.0
	tests=SPAM_PHRASE_00_01,USER_AGENT,USER_AGENT_MOZILLA_UA,
	      X_ACCEPT_LANG
	version=2.41
Subject: [egenix-users] mxODBC and Python-DBTCP????
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Apr 2003 18:22:56 -0000

Hi;

I'm having no end of trouble attempting to get my Zope, which is running 
on a Linux box, to fetch data from my MS Access database, which is 
naturally running on a separate Windows box.  To get to the point up 
front, I'm wondering if its possible to use mxODBC/Zope DA with DBTCP, 
an open source ODBC client, rather than iODBC/unixODBC?  If so, how 
difficult is this to accomplish?  My technical skills are somewhat limited.

So far, I've downloaded/installed mxODBC and the Zope DA and got them 
running without much of a problem.  I've got iODBC installed and 
running, but can't get the expensive driver's I've installed to work. 
 After having spent HOURS and HOURS trying to make this run, I've pretty 
much had it.  I know DBTCP works; there's just no Zope DA that works 
with it.  If there's some means to connect the two, then it will save me 
(and anyone else who needs to do this same thing) hours of work and a 
lot of money.

Davis

From mal@lemburg.com Tue Apr  8 21:42:41 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h38JgeV31000;	Tue, 8 Apr 2003 21:42:40 +0200
Message-ID: <3E932631.2020001@lemburg.com>
Date: Tue, 08 Apr 2003 21:42:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Davis Marques <davis@mccalldesign.com>
Subject: Re: [egenix-users] mxODBC and Python-DBTCP????
References: <3E931204.1010306@mccalldesign.com>
In-Reply-To: <3E931204.1010306@mccalldesign.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Apr 2003 19:42:49 -0000

Davis Marques wrote:
> Hi;
> 
> I'm having no end of trouble attempting to get my Zope, which is running 
> on a Linux box, to fetch data from my MS Access database, which is 
> naturally running on a separate Windows box.  To get to the point up 
> front, I'm wondering if its possible to use mxODBC/Zope DA with DBTCP, 
> an open source ODBC client, rather than iODBC/unixODBC?  If so, how 
> difficult is this to accomplish?  My technical skills are somewhat limited.

AFAIK, MS Access does not provide remote access, so you'll have to
use an ODBC-ODBC bridge such as the one from EasySoft to access it
from Linux. This works with mxODBC.

A cheap solution seems to be MDBTools ODBC driver:

http://forums.devshed.com/archive/46/2002/06/4/37357
http://mdbtools.sourceforge.net/

or the ODBC Socket Server:

http://odbcsock.sourceforge.net/

For a version with transaction support see UniverSQL:

http://www.sidespace.com/products/universql/

None of the above alternatives have been tested by us. Feedback
is welcome.

> So far, I've downloaded/installed mxODBC and the Zope DA and got them 
> running without much of a problem.  I've got iODBC installed and 
> running, but can't get the expensive driver's I've installed to work. 
> After having spent HOURS and HOURS trying to make this run, I've pretty 
> much had it.  I know DBTCP works; there's just no Zope DA that works 
> with it.  If there's some means to connect the two, then it will save me 
> (and anyone else who needs to do this same thing) hours of work and a 
> lot of money.

We are looking into providing our own ODBC bridge solution in
the next few months. It will enable you to access any ODBC
database over a network by hooking up to a database server
local ODBC driver, e.g. you will be able to access MS Access
or Excel files from Linux without problems.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Apr 08 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        77 days left

From davis@mccalldesign.com Thu Apr 10 22:32:05 2003
Received: from sentry.mccalldesign.com (sentry.mccalldesign.com
	[208.59.239.218])h3AKW4V16332
	for <egenix-users@lists.egenix.com>; Thu, 10 Apr 2003 22:32:04 +0200
Received: from mccalldesign.com (sentry.mccalldesign.com [208.59.239.218])
	h3AKVxFt000894;	Thu, 10 Apr 2003 13:31:59 -0700 (PDT)
	(envelope-from davis@mccalldesign.com)
Message-ID: <3E95D34D.9080900@mccalldesign.com>
Date: Thu, 10 Apr 2003 13:25:49 -0700
From: Davis Marques <davis@mccalldesign.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.0.2) Gecko/20021120 Netscape/7.01
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] mxODBC and Python-DBTCP????
References: <3E931204.1010306@mccalldesign.com> <3E932631.2020001@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, hits=-5.9 required=5.0
	tests=QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_00_01,USER_AGENT,
	      USER_AGENT_MOZILLA_UA,X_ACCEPT_LANG
	version=2.41
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 10 Apr 2003 20:32:05 -0000



> None of the above alternatives have been tested by us. Feedback
> is welcome.

Some feedback ...

> A cheap solution seems to be MDBTools ODBC driver:
> http://forums.devshed.com/archive/46/2002/06/4/37357
> http://mdbtools.sourceforge.net/


After two days of trying to get this to work I've more or less run out 
of patience. I won't recap the story, since its too long and arduous to 
both write and read, but I ended up starting from scratch with a fresh 
install of RedHat 9.  I've got MDB Tools, iODBC, unixODBC, mxODBC and 
mxODBC Zope DA installed.  But, I can't get mxODBC to work.

When I start Zope, I get this error:

[root@zulu downloads]# eGenix mxODBC Zope DA: trying iODBC interface... 
loaded
eGenix mxODBC Zope DA: trying unixODBC interface... loaded
------
2003-04-10T18:20:30 ERROR(200) Zope Could not import Products.mxODBCZopeDA
Traceback (innermost last):
  File /usr/local/Zope-2.5.1b2-linux2-x86/lib/python/OFS/Application.py, 
line 531, in import_product
  File Products/mxODBCZopeDA/__init__.py, line 10, in ?
  File Products/mxODBCZopeDA/ZopeDA.py, line 385, in ?
ImportError: eGenix mxODBC Zope DA requires mxODBC 2.1.x or later

If I run Zope's built in python from the command line, I am able to 
import the mx module.  Any suggestions?


Davis

From mal@lemburg.com Fri Apr 11 09:41:59 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h3B7fxV30736;	Fri, 11 Apr 2003 09:41:59 +0200
Message-ID: <3E9671CF.30601@lemburg.com>
Date: Fri, 11 Apr 2003 09:42:07 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Davis Marques <davis@mccalldesign.com>
Subject: Re: [egenix-users] mxODBC and Python-DBTCP????
References: <3E931204.1010306@mccalldesign.com> <3E932631.2020001@lemburg.com>
	<3E95D34D.9080900@mccalldesign.com>
In-Reply-To: <3E95D34D.9080900@mccalldesign.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Apr 2003 07:42:13 -0000

Davis Marques wrote:
> 
> 
>> None of the above alternatives have been tested by us. Feedback
>> is welcome.
> 
> Some feedback ...
> 
>> A cheap solution seems to be MDBTools ODBC driver:
>> http://forums.devshed.com/archive/46/2002/06/4/37357
>> http://mdbtools.sourceforge.net/
> 
> 
> 
> After two days of trying to get this to work I've more or less run out 
> of patience. I won't recap the story, since its too long and arduous to 
> both write and read, but I ended up starting from scratch with a fresh 
> install of RedHat 9.  I've got MDB Tools, iODBC, unixODBC, mxODBC and 
> mxODBC Zope DA installed.  But, I can't get mxODBC to work.
> 
> When I start Zope, I get this error:
> 
> [root@zulu downloads]# eGenix mxODBC Zope DA: trying iODBC interface... 
> loaded
> eGenix mxODBC Zope DA: trying unixODBC interface... loaded
> ------
> 2003-04-10T18:20:30 ERROR(200) Zope Could not import Products.mxODBCZopeDA
> Traceback (innermost last):
>  File /usr/local/Zope-2.5.1b2-linux2-x86/lib/python/OFS/Application.py, 
> line 531, in import_product
>  File Products/mxODBCZopeDA/__init__.py, line 10, in ?
>  File Products/mxODBCZopeDA/ZopeDA.py, line 385, in ?
> ImportError: eGenix mxODBC Zope DA requires mxODBC 2.1.x or later
> 
> If I run Zope's built in python from the command line, I am able to 
> import the mx module.  Any suggestions?

Yes: the mxODBC Zope DA comes with everything you need, including
a version of mxODBC 2.1 which is not available separately at
this moment.

To install mxODBC Zope DA all you have to do is unzip the
binary archive in the Zope Instance directory and then
install the license files as per instructions in the license
email you received.

If you install mxODBC from the eGenix site separately, then
you end up with the mxODBC Zope DA trying to use mxODBC 2.0
which doesn't work and gives you the error message you see
above.

To remedy this, simply remove the lib/python/mx directory and
reinstall the mxODBC Zope DA archive.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Apr 11 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        74 days left

From felciano@yahoo.com Thu Apr 17 06:36:51 2003
Received: from web20007.mail.yahoo.com (web20007.mail.yahoo.com
	[216.136.225.70])h3H4apV01453
	for <egenix-users@lists.egenix.com>; Thu, 17 Apr 2003 06:36:51 +0200
Message-ID: <20030417043649.75126.qmail@web20007.mail.yahoo.com>
Received: from [12.236.206.94] by web20007.mail.yahoo.com via HTTP;
	Wed, 16 Apr 2003 21:36:49 PDT
Date: Wed, 16 Apr 2003 21:36:49 -0700 (PDT)
From: Ramon Felciano <felciano@yahoo.com>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] Availability of installers for Python 2.3 alphas?
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 17 Apr 2003 04:36:52 -0000

Hello --

I've been using Python 2.3a2 and would like to try out
the the mxODBC package. However, none of the
installers (BASE or COMMERCIAL) seem to be available
for 2.3. Is there a plan to make a 2.3a2 version
available (for compatiblity testing or whatever), or
do I need to downgrade to Python 2.2.2 to try these
packages?

Thank you in advance for your time.

Ramon


__________________________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo
http://search.yahoo.com
From mal@lemburg.com Thu Apr 17 09:14:39 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h3H7EcV02225;	Thu, 17 Apr 2003 09:14:38 +0200
Message-ID: <3E9E5464.6010104@lemburg.com>
Date: Thu, 17 Apr 2003 09:14:44 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ramon Felciano <felciano@yahoo.com>
Subject: Re: [egenix-users] Availability of installers for Python 2.3 alphas?
References: <20030417043649.75126.qmail@web20007.mail.yahoo.com>
In-Reply-To: <20030417043649.75126.qmail@web20007.mail.yahoo.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 17 Apr 2003 07:14:41 -0000

Ramon Felciano wrote:
> Hello --
> 
> I've been using Python 2.3a2 and would like to try out
> the the mxODBC package. However, none of the
> installers (BASE or COMMERCIAL) seem to be available
> for 2.3. Is there a plan to make a 2.3a2 version
> available (for compatiblity testing or whatever), or
> do I need to downgrade to Python 2.2.2 to try these
> packages?

You can try building them from source. Python 2.3 is still
changing too much to be of any use in production. We'll
ship installers for 2.3 once it's final.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Apr 17 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        68 days left

From mal@egenix.com Fri May  9 21:42:35 2003
Received: from egenix.com (www.egenix.com [217.115.138.139])
	h49JgZ925131;	Fri, 9 May 2003 21:42:35 +0200
Message-ID: <3EBC0201.9060507@egenix.com>
Date: Fri, 09 May 2003 21:31:13 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-Enigmail-Version: 0.74.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix mxODBC Zope Database Adapter, Version
	1.0.5
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 09 May 2003 19:42:36 -0000

________________________________________________________________________
ANNOUNCEMENT

                              EGENIX.COM

                      mxODBC Zope Database Adapter

                             Version 1.0.5

                    Available for Zope 2.3 - 2.6 on
                       Windows, Linux and Solaris

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope Database Adapter (Zope DA) allows you to easily
connect your Zope installation to just about any database backend on
the market today, giving you the reliability of the commercially
supported eGenix.com product mxODBC and the flexibility of the ODBC
standard as middle-tier architecture.

Unlike Zope's ZODBC Zope DA, the mxODBC Zope DA works on Windows
XP/NT/2000/98/95, Linux and Solaris using the same interface on all
platforms.

The mxODBC Zope DA implements thread-safe connection pooling and
multiple physical connects per logical Zope connection. You can safely
run Z SQL Methods in parallel, achieving a much better performance
than ZODBC Zope DA or similar Zope database adapters under heavy load.

This makes it ideal for deployment in Zope Clusters and Zope hosting
environments where stability and high performance are a top priority.

________________________________________________________________________
FEATURES

* Zope Level 3 Database Adapter: the mxODBC Zope DA is fully
   multi-threaded and can handle multiple connections to multiple
   databases.

* Fully compatible to Z SQL Methods.

* Drop-in compatible to the ZODBC DA: the mxODBC Zope DA provides the
   same interfaces as Zope's ZODBC DA to allow a smooth upgrade path
   from this simplistic adapater to the high performance mxODBC Zope
   DA.

* Fully compatible to the Znolk SQL Wizard Product and other similar
   products relying on the common database schema access methods
   .tables() and .columns().

* Connection Pooling: physical database connections are pooled and
   kept open, to reduce the connection overhead to a minimum.  This is
   especially important for high latency database connections and ones
   like Oracle which take a considerable amount of time to setup

* Parallel Execution of Queries on a single logical connection: the
   mxODBC Zope DA can manage any number of physical connections on a
   single logical connection. This enables running truly parallel Z SQL
   Method queries -- a feature not available in other Zope DAs.

* Robust Mode of Operation: connections which have timed out or go
   away due to network problems are automatically reconnected.

* Cross-platform Connection Objects: The Zope DA will automatically
   choose the right platform specific ODBC manager for you.

* Per Connection Adjustable ODBC Interface: mxODBC comes with many
   different subpackages to choose from on Unix. The Zope DA allows you
   to select these subpackages on a per-connection basis.

* Per Connection Error Handling: you can tell each connection whether
   it should report ODBC warnings or not; furthermore all warnings and
   errors are made available as list .messages on the DatabaseConnection
   object.

* Transaction safe automatic reconnect: when the DA finds that a
   connection has timed out, it automatically tries a reconnect
   and replays the transaction on the connection (unlike other DAs
   which break the transaction scheme by doing a reconnect without
   replay).

* Built-in Schema Cache: this results in improved performance under
   heavy load.

* Database Schema Access: all ODBC catalog methods are made available
   for much better database schema inquiry. The catalog methods allow
   building generic database interrogation or manipulation tools and
   facilitates writing database independent Zope products.

* Lazy Connect: the mxODBC Zope DA only connects to the database
   backends when a connection is actually requested. This results in a
   better use of resources compared to other Zope DAs.

________________________________________________________________________
NEWS

Version 1.0.5 introduces the following new features compared to
version 1.0.4:

* Support for multi-statement queries. Z SQL Methods allow multiple
   statements in a single query via the <dtml-var sql_delimiter>
   feature. mxODBC Zope DA 1.0.5 now supports this feature as well.

* Lazy Connect: mxODBC Zope DA 1.0.5 only reconnects mxODBC Connection
   objects if Zope requests a connection object. This results in better
   use of available resources. Other Zope DAs tend to always reconnect
   when loading the connection objects into memory, e.g. when loading
   the folder containing the connection object, even though the
   connection is not really used for anything.

In short: mxODBC Zope DA is continuing to become the number one
solution for integrating relational databases with Zope applications.

________________________________________________________________________
UPGRADING

If you have already bought mxODBC Zope DA licenses, you can use these
license for the updated version as well. There is no need to buy new
licenses. The same is true for evaluation license users.

________________________________________________________________________
MORE INFORMATION

For more information on the mxODBC Zope DA, licensing and download
instructions, please visit our web-site:

     http://www.egenix.com/

________________________________________________________________________

Thank you,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, May 09 2003)
>>> Python/Zope Products & Consulting ...         http://www.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        46 days left



From Timothy.Cole@usfc.com Sun Mar  9 20:02:20 2003
Received: from ilchiufis02 (mail1.usfreightways.com [12.37.18.40])
	h29J2I318968
	for <egenix-users@lists.egenix.com>; Sun, 9 Mar 2003 20:02:20 +0100
Received: from ILCHIUFEXHUB02.usfreightways.com ([10.10.1.100]) by 10.10.1.78
	with InterScan Messaging Security Suite; Sun, 09 Mar 2003 13:01:04 -0600
Received: by ilchiufexhub02.usfreightways.com with Internet Mail Service
	(5.5.2655.55)	id <FKGS1PKL>; Sun, 9 Mar 2003 13:01:31 -0600
Message-ID: <0E5DE51569488947A432F0A8F10E4501026A4E94@miholhlex01.usfholland.com>
From: "Cole, Timothy" <Timothy.Cole@usfc.com>
To: "'christov@mac.com'" <christov@mac.com>
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2655.55)
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2E66E.23FD0250"
X-Mailman-Approved-At: Fri, 09 May 2003 21:55:42 +0200
cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
cc: "'psycopg@lists.initd.org'" <psycopg@dana.initd.org>
Subject: [egenix-users] RE: Psycopg on Solaris 8 with egenix mxDateTime
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
Date: Sun, 09 Mar 2003 19:02:21 -0000
X-Original-Date: Sun, 9 Mar 2003 13:00:24 -0600 
X-List-Received-Date: Sun, 09 Mar 2003 19:02:21 -0000

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C2E66E.23FD0250
Content-Type: text/plain

Chris,

 

I was able to discover how to get psycopg to compile on Solaris.  It turned
out to be in the egenix mxDateTime module.

 

Just edit the egenix-mx-base-2.0.4/mx/DateTime/mxDateTimemxDateTime.c file 

 

Comment out these lines around line 80 BEFORE you run "python setup.py
install".

 

#define MXDATETIME_FREELIST

#define MXDATETIMEDELTA_FREELIST

 

like so.

 

/* #define MXDATETIME_FREELIST*/

/* #define MXDATETIMEDELTA_FREELIST */

 

Hope this works for you.

 

Complete everything else as instructed in the install's/readme's/etc.

 

BTW, My environment is as follows.

 

Solaris                          8 on a SunFire 280R

Zope                             2.6.1

Postgres                       7.3.2

Egenix-mx-base             2.0.4

Psycopg                       1.1.2

Gcc                              3.2.2

Python                          2.1.3

 

Cheers,

 

Timothy Cole

Systems Engineer, Midrange Systems

 

-----Original Message-----
From: christov@mac.com [mailto:christov@mac.com] 
Sent: Thursday, March 06, 2003 2:59 PM
To: Cole, Timothy
Subject: Re: Psycopg on Solaris 8

 

Hi Tim, 

 

My target (or at least immediate target) platform turned into Linux, so I
haven't worked on the psycopg issue on Solaris in quite a while. 

 

I recall finding that it was really the mx.DateTime module that was broken
when compiled with gcc 3.x. I think that I rebuilt everything with SunPro cc
5.0 and it was fine, but I haven't tried anything in months. 

 

Good luck, 

        Chris 

 

On Wednesday, Mar 5, 2003, at 20:31 US/Pacific, Cole, Timothy wrote: 

 

Chris, 

 

  

 

Hi, was wondering if you had made any headway on the psycopg on Solaris 8?
I am running into the same problems and haven't been able to make any
forward progress. 

 

  

 

Any help or pointers would be greatly appreciated. 

 

  

 

Cheers, 

 

  

 

Timothy Cole 

 

Systems Engineer, Midrange Systems 

 

USF Technology Services, Inc. 

 

630 Kenmoor Ave. SE, Suite 200 

 

Grand Rapids,Michigan49546 

 

Ph. 616.802.1108 

 

  

 

-- 

Chris Douty <cdouty@meer.net> 

I don't have a funny quotation. 

 


------_=_NextPart_001_01C2E66E.23FD0250
Content-Type: text/html

<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p
	{margin-right:0in;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman";}
span.EmailStyle18
	{font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Chris,</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I was able to discover how to get psycopg
to compile on Solaris.&nbsp; It turned out to be in the egenix mxDateTime
module.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Just edit the egenix-mx-base-2.0.4/mx/DateTime/mxDateTimemxDateTime.c
file </span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Comment out these lines around line 80
BEFORE you run "</span></font><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>python setup.py
install</span></font><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>".</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>#define MXDATETIME_FREELIST</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>#define MXDATETIMEDELTA_FREELIST</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>like so.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>/* #define MXDATETIME_FREELIST*/</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>/* #define MXDATETIMEDELTA_FREELIST */</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hope this works for you.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Complete everything else as instructed in
the install's/readme's/etc.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>BTW, My environment is as follows.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Solaris&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8
on a SunFire 280R</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Zope&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.6.1</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Postgres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7.3.2</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Egenix-mx-base&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.0.4</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Psycopg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.1.2</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Gcc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.2.2</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Python&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.1.3</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Cheers,</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<div>

<p class=MsoNormal><strong><b><font size=3 color=navy face="Times New Roman"><span
style='font-size:12.0pt;color:navy'>Timothy Cole</span></font></b></strong></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span style='font-size:
9.0pt;font-family:Arial;color:navy'>Systems Engineer, Midrange Systems</span></font></p>

</div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b> christov@mac.com
[mailto:christov@mac.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> </span></font><font size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>Thursday, March
 06, 2003</span></font><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma'> </span></font><font size=2 face=Tahoma><span
 style='font-size:10.0pt;font-family:Tahoma'>2:59 PM</span></font><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'><br>
<b><span style='font-weight:bold'>To:</span></b> Cole, Timothy<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: Psycopg on Solaris 8</span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Hi Tim, </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>My target (or at least immediate target) platform
turned into Linux, so I haven't worked on the psycopg issue on Solaris in quite
a while. </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I recall finding that it was really the mx.DateTime
module that was broken when compiled with gcc 3.x. I think that I rebuilt
everything with SunPro cc 5.0 and it was fine, but I haven't tried anything in
months. </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Good luck, </span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Chris </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>On Wednesday, Mar 5, 2003, at 20:31 US/Pacific, Cole,
Timothy wrote: </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Chris,</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Hi, was wondering if you had made any headway on the
psycopg on Solaris 8?&nbsp; I am running into the same problems and haven't
been able to make any forward progress.</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Any help or pointers would be greatly appreciated.</span></font>
</p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Cheers,</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><b><font size=3 face="Times New Roman"><span
style='font-size:12.0pt;font-weight:bold'>Timothy Cole</span></font></b> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Systems Engineer, Midrange Systems</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>USF Technology Services, Inc.</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>630 Kenmoor Ave. SE, Suite 200</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Grand Rapids,Michigan49546</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Ph. 616.802.1108</span></font> </p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp; </span></font></p>

<p class=MsoNormal style='margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in'><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;</span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>-- </span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Chris Douty &lt;cdouty@meer.net&gt; </span></font></p>

<p style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I don't have a funny quotation. </span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;</span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C2E66E.23FD0250--
From justin@gnubian.org Tue Mar 18 22:03:52 2003
Received: from rack.gnubia.net (rack.gnubian.org [209.61.188.219])
	h2IL3pS14761
	for <egenix-users@lists.egenix.com>; Tue, 18 Mar 2003 22:03:51 +0100
Received: from rack.gnubia.net (localhost [127.0.0.1] (may be forged))
	h2IL6NjZ024657
	(version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO)
	for <egenix-users@lists.egenix.com>; Tue, 18 Mar 2003 15:06:23 -0600
Received: (from justin@localhost)
	by rack.gnubia.net (8.12.3/8.12.3/Debian-5) id h2IL6Nu7024655
	for egenix-users@lists.egenix.com; Tue, 18 Mar 2003 15:06:23 -0600
From: Justin Ryan <justin@gnubian.org>
To: egenix-users@lists.egenix.com
Message-ID: <20030318210623.GB24499@gnubia.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.3i
X-Mailman-Approved-At: Fri, 09 May 2003 21:55:42 +0200
Subject: [egenix-users] mx.DateTime and Glibc 2.3
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
Date: Tue, 18 Mar 2003 21:03:52 -0000
X-Original-Date: Tue, 18 Mar 2003 15:06:23 -0600
X-List-Received-Date: Tue, 18 Mar 2003 21:03:52 -0000

Hello,

I'm having some trouble with mx.DateTime which I beleive is related to
Glibc v2.3 - however I'm not 100% sure, and would not be able to file a
relevant bug report against glibc without a bit more information.

Essentially, mx.DateTime is raising an exception with pre-1970 dates
when trying to access a DateTime object's ticks() method.  On other
systems, a negative integer is returned.

I was able to install debian stable (glibc 2.2), and do ssomething like
the following:

<- snip ->

$ python
Python 2.2 (#1, Apr 25 2002, 17:44:12)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import DateTime
>>> d = DateTime( 1960 )
>>> print d
1960-01-01 00:00:00.00
>>> d.ticks()
-315597600.0
>>>

<- snip ->

I then upgraded my glibc and nothing else, with the following result:

<- snip ->

$ python
Python 2.2.2 (#1, Jan 18 2003, 10:18:59)
[GCC 3.2.2 20030109 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import DateTime
>>> d = DateTime( 1960 )
>>> print d
1960-01-01 00:00:00.00
>>> d.ticks()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
mx.DateTime.Error: cannot convert value to a time value
>>>

<- snip ->

Because I am not familiar with the c sources to mxdatetime, it's
difficult for me to troubleshoot this.  Any help is much appreciated -
even if it is only providing enough information / guidance to file a
relevant report against glibc.

Thanks in advance,

-Justin
From b.haydon@unsw.edu.au Wed Apr 30 10:17:40 2003
Received: from smtp3.unsw.edu.au (smtp3.unsw.EDU.AU [149.171.96.70])
	h3U8Hcd13616
	for <egenix-users@lists.egenix.com>; Wed, 30 Apr 2003 10:17:39 +0200
Received: from smtp.unsw.edu.au (antivirus-01.services.comms.unsw.EDU.AU
	[149.171.193.80])
	by smtp3.unsw.edu.au (8.11.2/8.11.2) with ESMTP id h3U8HZu23049
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Apr 2003 18:17:35 +1000 (EST)
Received: from MARLOWE ([129.94.64.19])
	by smtp.unsw.edu.au (8.11.2/8.11.2) with SMTP id h3U8HZL23013
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Apr 2003 18:17:35 +1000 (EST)
From: "Brett Haydon" <b.haydon@unsw.edu.au>
To: <egenix-users@lists.egenix.com>
Date: Wed, 30 Apr 2003 18:18:44 +1000
Message-ID: <NIEMKJOAMKNBALAGMDKNEEMDCMAA.b.haydon@unsw.edu.au>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0)
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
X-Mailman-Approved-At: Fri, 09 May 2003 21:55:42 +0200
Subject: [egenix-users] mx incompatabilities
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Apr 2003 08:17:40 -0000

I am looking at migrating my ZMysqlDA connections to Zmx.. but I'm having
problems on my test (W2k) Zope 2.6.1

I've tracked it down to mx.DateTime clashing with Zope DateTime.
The following PageTemplate code causes Zope to hang with mx modules
installed
"<span class="text2"

tal:content="python:DateTime(items.date_submitted).strftime('%d/%m/%Y')">
                           24/04/03
                         </span>"

Brett
b.haydon at unsw dot edu dot au

From mal@lemburg.com Fri May  9 22:05:07 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h49K56925625;	Fri, 9 May 2003 22:05:07 +0200
Message-ID: <3EBC09F4.4090807@lemburg.com>
Date: Fri, 09 May 2003 22:05:08 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Brett Haydon <b.haydon@unsw.edu.au>
Subject: Re: [egenix-users] mx incompatabilities
References: <NIEMKJOAMKNBALAGMDKNEEMDCMAA.b.haydon@unsw.edu.au>
In-Reply-To: <NIEMKJOAMKNBALAGMDKNEEMDCMAA.b.haydon@unsw.edu.au>
X-Enigmail-Version: 0.74.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 09 May 2003 20:05:11 -0000

[Please subscribe to this list before posting, thanks]

Brett Haydon wrote:
> I am looking at migrating my ZMysqlDA connections to Zmx.. but I'm having
> problems on my test (W2k) Zope 2.6.1
> 
> I've tracked it down to mx.DateTime clashing with Zope DateTime.
> The following PageTemplate code causes Zope to hang with mx modules
> installed
> "<span class="text2"
> 
> tal:content="python:DateTime(items.date_submitted).strftime('%d/%m/%Y')">
>                            24/04/03
>                          </span>"

What do you mean with "hangs" ? Doesn't Zope generate some kind
of error traceback ?

Also, are you using the mxODBC Zope DA or the egenix-mx-base
package ? (The Zope DA ships with mxDateTime 2.1.0 which should
be fully compatible to Zope templates.)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, May 09 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        46 days left

From mal@lemburg.com Tue May 13 00:10:02 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h4CMA1924367;	Tue, 13 May 2003 00:10:02 +0200
Message-ID: <3EC01BBC.1030208@lemburg.com>
Date: Tue, 13 May 2003 00:10:04 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Justin Ryan <justin@gnubian.org>
Subject: Re: [egenix-users] mx.DateTime and Glibc 2.3
References: <20030318210623.GB24499@gnubia.net>
In-Reply-To: <20030318210623.GB24499@gnubia.net>
X-Enigmail-Version: 0.74.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 12 May 2003 22:10:10 -0000

Justin Ryan wrote:
> Hello,
> 
> I'm having some trouble with mx.DateTime which I beleive is related to
> Glibc v2.3 - however I'm not 100% sure, and would not be able to file a
> relevant bug report against glibc without a bit more information.
> 
> Essentially, mx.DateTime is raising an exception with pre-1970 dates
> when trying to access a DateTime object's ticks() method.  On other
> systems, a negative integer is returned.

Note that the negative ticks range is mostly undefined,
so this is not really a bug in the C lib. Many systems
do return negative values for dates before 1970, but
some don't and return an error instead (this is what
you see under gibc 2.3).

> I was able to install debian stable (glibc 2.2), and do ssomething like
> the following:
> 
> <- snip ->
> 
> $ python
> Python 2.2 (#1, Apr 25 2002, 17:44:12)
> [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>from mx.DateTime import DateTime
>>>>d = DateTime( 1960 )
>>>>print d
> 
> 1960-01-01 00:00:00.00
> 
>>>>d.ticks()
> 
> -315597600.0
> 
> 
> <- snip ->
> 
> I then upgraded my glibc and nothing else, with the following result:
> 
> <- snip ->
> 
> $ python
> Python 2.2.2 (#1, Jan 18 2003, 10:18:59)
> [GCC 3.2.2 20030109 (Debian prerelease)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>from mx.DateTime import DateTime
>>>>d = DateTime( 1960 )
>>>>print d
> 
> 1960-01-01 00:00:00.00
> 
>>>>d.ticks()
> 
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> mx.DateTime.Error: cannot convert value to a time value
> 
> 
> <- snip ->
> 
> Because I am not familiar with the c sources to mxdatetime, it's
> difficult for me to troubleshoot this.  Any help is much appreciated -
> even if it is only providing enough information / guidance to file a
> relevant report against glibc.
> 
> Thanks in advance,
> 
> -Justin
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, May 13 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        42 days left

From mal@lemburg.com Tue May 13 00:12:24 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h4CMCM924413;	Tue, 13 May 2003 00:12:22 +0200
Message-ID: <3EC01C48.3020204@lemburg.com>
Date: Tue, 13 May 2003 00:12:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Cole, Timothy" <Timothy.Cole@usfc.com>
Subject: Re: [egenix-users] RE: Psycopg on Solaris 8 with egenix mxDateTime
References: <0E5DE51569488947A432F0A8F10E4501026A4E94@miholhlex01.usfholland.com>
In-Reply-To: <0E5DE51569488947A432F0A8F10E4501026A4E94@miholhlex01.usfholland.com>
X-Enigmail-Version: 0.74.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "'christov@mac.com'" <christov@mac.com>
cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
cc: "'psycopg@lists.initd.org'" <psycopg@dana.initd.org>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 12 May 2003 22:13:04 -0000

Cole, Timothy wrote:
> Chris,
> 
>  
> 
> I was able to discover how to get psycopg to compile on Solaris.  It turned
> out to be in the egenix mxDateTime module.
> 
>  
> 
> Just edit the egenix-mx-base-2.0.4/mx/DateTime/mxDateTimemxDateTime.c file 
> 
>  
> 
> Comment out these lines around line 80 BEFORE you run "python setup.py
> install".
> 
>  
> 
> #define MXDATETIME_FREELIST
> 
> #define MXDATETIMEDELTA_FREELIST
> 
>  
> 
> like so.
> 
>  
> 
> /* #define MXDATETIME_FREELIST*/
> 
> /* #define MXDATETIMEDELTA_FREELIST */
> 
>  
> 
> Hope this works for you.

Sounds like another broken optimizer. gcc3 seems to have lots
of these problems.

> Complete everything else as instructed in the install's/readme's/etc.
> 
>  
> 
> BTW, My environment is as follows.
> 
>  
> 
> Solaris                          8 on a SunFire 280R
> 
> Zope                             2.6.1
> 
> Postgres                       7.3.2
> 
> Egenix-mx-base             2.0.4
> 
> Psycopg                       1.1.2
> 
> Gcc                              3.2.2
> 
> Python                          2.1.3
> 
>  
> 
> Cheers,
> 
>  
> 
> Timothy Cole
> 
> Systems Engineer, Midrange Systems
> 
>  
> 
> -----Original Message-----
> From: christov@mac.com [mailto:christov@mac.com] 
> Sent: Thursday, March 06, 2003 2:59 PM
> To: Cole, Timothy
> Subject: Re: Psycopg on Solaris 8
> 
>  
> 
> Hi Tim, 
> 
>  
> 
> My target (or at least immediate target) platform turned into Linux, so I
> haven't worked on the psycopg issue on Solaris in quite a while. 
> 
>  
> 
> I recall finding that it was really the mx.DateTime module that was broken
> when compiled with gcc 3.x. I think that I rebuilt everything with SunPro cc
> 5.0 and it was fine, but I haven't tried anything in months. 
> 
>  
> 
> Good luck, 
> 
>         Chris 
> 
>  
> 
> On Wednesday, Mar 5, 2003, at 20:31 US/Pacific, Cole, Timothy wrote: 
> 
>  
> 
> Chris, 
> 
>  
> 
>   
> 
>  
> 
> Hi, was wondering if you had made any headway on the psycopg on Solaris 8?
> I am running into the same problems and haven't been able to make any
> forward progress. 
> 
>  
> 
>   
> 
>  
> 
> Any help or pointers would be greatly appreciated. 
> 
>  
> 
>   
> 
>  
> 
> Cheers, 
> 
>  
> 
>   
> 
>  
> 
> Timothy Cole 
> 
>  
> 
> Systems Engineer, Midrange Systems 
> 
>  
> 
> USF Technology Services, Inc. 
> 
>  
> 
> 630 Kenmoor Ave. SE, Suite 200 
> 
>  
> 
> Grand Rapids,Michigan49546 
> 
>  
> 
> Ph. 616.802.1108 
> 
>  
> 
>   
> 
>  
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, May 13 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        42 days left

From mal@egenix.com Wed May 14 22:41:30 2003
Received: from egenix.com (www.egenix.com [217.115.138.139])
	h4EKfQ932557;	Wed, 14 May 2003 22:41:29 +0200
Message-ID: <3EC2A415.8040401@egenix.com>
Date: Wed, 14 May 2003 22:16:21 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
X-Enigmail-Version: 0.74.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix mxODBC Zope Database Adapter, Version
	1.0.6
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 14 May 2003 20:41:31 -0000

________________________________________________________________________
ANNOUNCEMENT

                              EGENIX.COM

                      mxODBC Zope Database Adapter

                             Version 1.0.6

                    Available for Zope 2.3 - 2.6 on
                       Windows, Linux and Solaris

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope Database Adapter (Zope DA) allows you to easily
connect your Zope installation to just about any database backend on
the market today, giving you the reliability of the commercially
supported eGenix.com product mxODBC and the flexibility of the ODBC
standard as middle-tier architecture.

Unlike Zope's ZODBC Zope DA, the mxODBC Zope DA works on Windows
XP/NT/2000/98/95, Linux and Solaris using the same interface on all
platforms.

The mxODBC Zope DA implements thread-safe connection pooling and
multiple physical connects per logical Zope connection. You can safely
run Z SQL Methods in parallel, achieving a much better performance
than ZODBC Zope DA or similar Zope database adapters under heavy load.

This makes it ideal for deployment in Zope Clusters and Zope hosting
environments where stability and high performance are a top priority.

________________________________________________________________________
FEATURES

* Zope Level 3 Database Adapter: the mxODBC Zope DA is fully
   multi-threaded and can handle multiple connections to multiple
   databases.

* Fully compatible to Z SQL Methods.

* Drop-in compatible to the ZODBC DA: the mxODBC Zope DA provides the
   same interfaces as Zope's ZODBC DA to allow a smooth upgrade path
   from this simplistic adapater to the high performance mxODBC Zope
   DA.

* Fully compatible to the Znolk SQL Wizard Product and other similar
   products relying on the common database schema access methods
   .tables() and .columns().

* Connection Pooling: physical database connections are pooled and
   kept open, to reduce the connection overhead to a minimum.  This is
   especially important for high latency database connections and ones
   like Oracle which take a considerable amount of time to setup

* Parallel Execution of Queries on a single logical connection: the
   mxODBC Zope DA can manage any number of physical connections on a
   single logical connection. This enables running truly parallel Z SQL
   Method queries -- a feature not available in other Zope DAs.

* Robust Mode of Operation: connections which have timed out or go
   away due to network problems are automatically reconnected.

* Cross-platform Connection Objects: The Zope DA will automatically
   choose the right platform specific ODBC manager for you.

* Per Connection Adjustable ODBC Interface: mxODBC comes with many
   different subpackages to choose from on Unix. The Zope DA allows you
   to select these subpackages on a per-connection basis.

* Per Connection Error Handling: you can tell each connection whether
   it should report ODBC warnings or not; furthermore all warnings and
   errors are made available as list .messages on the DatabaseConnection
   object.

* Transaction safe automatic reconnect: when the DA finds that a
   connection has timed out, it automatically tries a reconnect
   and replays the transaction on the connection (unlike other DAs
   which break the transaction scheme by doing a reconnect without
   replay).

* Built-in Schema Cache: this results in improved performance under
   heavy load.

* Database Schema Access: all ODBC catalog methods are made available
   for much better database schema inquiry. The catalog methods allow
   building generic database interrogation or manipulation tools and
   facilitates writing database independent Zope products.

* Lazy Connect: the mxODBC Zope DA only connects to the database
   backends when a connection is actually requested. This results in a
   better use of resources compared to other Zope DAs.

________________________________________________________________________
NEWS

Version 1.0.6 includes the following changes and enhancements:

* The lazy connect feature was turned into a per-connection option.
   This gives you more control over which connections are maintained
   in connect-on-demand state and which are always connected.

* A new option was introduced to let the mxODBC Zope DA return
   the natively used mxDateTime values instead of converting them
   to Zope's DateTime instances. This is a faster if you're dealing
   with a lot of date/time values and also provides more flexibility
   in data access. See the mxDateTime documentation for full details
   on what this package can offer.

* A bug in the version 1.0.5 lazy connect feature was fixed.

In short: mxODBC Zope DA is continuing to become the number one
solution for integrating relational databases with Zope applications.

________________________________________________________________________
UPGRADING

If you have already bought mxODBC Zope DA licenses, you can use these
license for the updated version as well. There is no need to buy new
licenses. The same is true for evaluation license users.

________________________________________________________________________
MORE INFORMATION

For more information on the mxODBC Zope DA, licensing and download
instructions, please visit our web-site:

     http://www.egenix.com/

You can buy mxODBC Zope DA licenses online from the eGenix.com shop at:

     http://shop.egenix.com/

________________________________________________________________________

Thank you,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, May 14 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        41 days left


From genechow@pacbell.net Thu May 29 19:58:21 2003
Received: from mta6.snfc21.pbi.net (mta6.snfc21.pbi.net [206.13.28.240])
	h4THwKM21278
	for <egenix-users@lists.egenix.com>; Thu, 29 May 2003 19:58:21 +0200
Received: from pacbell.net ([67.122.249.76])
 by mta6.snfc21.pbi.net (iPlanet Messaging Server 5.1 HotFix 1.6 (built Oct 18
 2002)) with ESMTP id <0HFN000U5TVYS3@mta6.snfc21.pbi.net> for
 egenix-users@lists.egenix.com; Thu, 29 May 2003 10:57:34 -0700 (PDT)
Date: Thu, 29 May 2003 10:57:31 -0700
From: Gene Chow <genechow@pacbell.net>
To: egenix-users@lists.egenix.com
Message-id: <04A3366C-91FF-11D7-9C8D-000502219650@pacbell.net>
MIME-version: 1.0 (Apple Message framework v552)
X-Mailer: Apple Mail (2.552)
Content-type: text/plain; format=flowed; charset=US-ASCII
Content-transfer-encoding: 7bit
Subject: [egenix-users] DateTimeFrom problem
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 29 May 2003 17:58:21 -0000

I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior is 
easy to work around, but it does not seem correct or desirable.

Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
[GCC 3.1 20020420 (prerelease)] on darwin6
Type "copyright", "credits" or "license" for more information.
 >>> from mx.DateTime import DateTimeFrom
 >>> DateTimeFrom('2003/05/28')
<DateTime object for '2028-03-05 00:00:00.00' at 18e670>
 >>> DateTimeFrom('2003-05-28')
<DateTime object for '2003-05-28 00:00:00.00' at 13b740>
 >>>

From robinjim@earthlink.net Fri May 30 00:38:15 2003
Received: from heron.mail.pas.earthlink.net (heron.mail.pas.earthlink.net
	[207.217.120.189])h4TMcEM01200
	for <egenix-users@lists.egenix.com>; Fri, 30 May 2003 00:38:15 +0200
Received: from dialup-67.31.182.163.dial1.denver1.level3.net ([67.31.182.163]
	helo=robinjim)
	by heron.mail.pas.earthlink.net with asmtp (Exim 3.33 #1)
	id 19LW2F-0000HD-00; Thu, 29 May 2003 15:38:12 -0700
Message-ID: <001901c32632$ff0083f0$a3b61f43@robinjim>
From: "robin and jim" <robinjim@earthlink.net>
To: "Gene Chow" <genechow@pacbell.net>, <egenix-users@lists.egenix.com>
References: <04A3366C-91FF-11D7-9C8D-000502219650@pacbell.net>
Subject: Re: [egenix-users] DateTimeFrom problem
Date: Thu, 29 May 2003 16:38:13 -0600
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-ELNK-Trace: 8bac3545bdc331951aa676d7e74259b7b3291a7d08dfec7974c455944c0f10ad1f4685eb7e9dcc11350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 29 May 2003 22:38:16 -0000

For what it is worth, the behavior is correct with Python 2.2.2 on MS
Windows:

PythonWin 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32.
Portions Copyright 1994-2001 Mark Hammond (mhammond@skippinet.com.au) - see
'Help/About PythonWin' for further copyright information.
>>> from mx.DateTime import DateTimeFrom
>>> DateTimeFrom('2003/05/28')
<DateTime object for '2003-05-28 00:00:00.00' at 11e3ce8>
>>> DateTimeFrom('2003-05-28')
<DateTime object for '2003-05-28 00:00:00.00' at 1291680>
>>> import mx
>>> mx.__version__
'2.0'
>>>
----- Original Message -----
From: "Gene Chow" <genechow@pacbell.net>
To: <egenix-users@lists.egenix.com>
Sent: Thursday, May 29, 2003 11:57 AM
Subject: [egenix-users] DateTimeFrom problem


> I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior is
> easy to work around, but it does not seem correct or desirable.
>
> Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
> [GCC 3.1 20020420 (prerelease)] on darwin6
> Type "copyright", "credits" or "license" for more information.
>  >>> from mx.DateTime import DateTimeFrom
>  >>> DateTimeFrom('2003/05/28')
> <DateTime object for '2028-03-05 00:00:00.00' at 18e670>
>  >>> DateTimeFrom('2003-05-28')
> <DateTime object for '2003-05-28 00:00:00.00' at 13b740>
>  >>>
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

From genechow@pacbell.net Fri May 30 01:38:27 2003
Received: from mta7.pltn13.pbi.net (mta7.pltn13.pbi.net [64.164.98.8])
	h4TNcQM01584
	for <egenix-users@lists.egenix.com>; Fri, 30 May 2003 01:38:26 +0200
Received: from pacbell.net (adsl-63-205-173-146.dsl.snfc21.pacbell.net
	[63.205.173.146])
	by mta7.pltn13.pbi.net (8.12.9/8.12.3) with ESMTP id h4TNcOc3002571
	for <egenix-users@lists.egenix.com>;
	Thu, 29 May 2003 16:38:24 -0700 (PDT)
Date: Thu, 29 May 2003 16:38:23 -0700
Subject: Re: [egenix-users] DateTimeFrom problem
Content-Type: text/plain; delsp=yes; charset=US-ASCII; format=flowed
Mime-Version: 1.0 (Apple Message framework v552)
From: Gene Chow <genechow@pacbell.net>
To: <egenix-users@lists.egenix.com>
Content-Transfer-Encoding: 7bit
In-Reply-To: <001901c32632$ff0083f0$a3b61f43@robinjim>
Message-Id: <A3347A0A-922E-11D7-8587-000393B8CD52@pacbell.net>
X-Mailer: Apple Mail (2.552)
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 29 May 2003 23:38:27 -0000

Here's a couple of other setups that produce the wrong answer:

Python 2.2 (#1, 07/14/02, 23:25:09)
[GCC Apple cpp-precomp 6.14] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>> from mx.DateTime import DateTimeFrom
 >>> DateTimeFrom('2003/05/28')
<DateTime object for '2028-03-05 00:00:00.00' at 15b740>
 >>> import mx
 >>> mx.__version__
'2.0'
 >>>

Python 2.2.1 (#1, Apr 18 2002, 09:42:55)
[GCC 2.95.3 20010315 (release) [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for more information.
 >>> from mx.DateTime import DateTimeFrom
 >>> DateTimeFrom('2003/05/28')
<DateTime object for '2028-03-05 00:00:00.00' at 8188340>
 >>> import mx
 >>> mx.__version__
'2.0'
 >>>

On Thursday, May 29, 2003, at 03:38  PM, robin and jim wrote:

> For what it is worth, the behavior is correct with Python 2.2.2 on MS
> Windows:
>
> PythonWin 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on  
> win32.
> Portions Copyright 1994-2001 Mark Hammond (mhammond@skippinet.com.au)  
> - see
> 'Help/About PythonWin' for further copyright information.
>>>> from mx.DateTime import DateTimeFrom
>>>> DateTimeFrom('2003/05/28')
> <DateTime object for '2003-05-28 00:00:00.00' at 11e3ce8>
>>>> DateTimeFrom('2003-05-28')
> <DateTime object for '2003-05-28 00:00:00.00' at 1291680>
>>>> import mx
>>>> mx.__version__
> '2.0'
>>>>
> ----- Original Message -----
> From: "Gene Chow" <genechow@pacbell.net>
> To: <egenix-users@lists.egenix.com>
> Sent: Thursday, May 29, 2003 11:57 AM
> Subject: [egenix-users] DateTimeFrom problem
>
>
>> I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior is
>> easy to work around, but it does not seem correct or desirable.
>>
>> Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
>> [GCC 3.1 20020420 (prerelease)] on darwin6
>> Type "copyright", "credits" or "license" for more information.
>>>>> from mx.DateTime import DateTimeFrom
>>>>> DateTimeFrom('2003/05/28')
>> <DateTime object for '2028-03-05 00:00:00.00' at 18e670>
>>>>> DateTimeFrom('2003-05-28')
>> <DateTime object for '2003-05-28 00:00:00.00' at 13b740>
>>>>>
>>
>>
>> ______________________________________________________________________ 
>> _
>> eGenix.com User Mailing List                      
>> http://www.egenix.com/
>> http://lists.egenix.com/mailman/listinfo/egenix-users
>

From mal@lemburg.com Mon Jun  2 10:13:59 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h528Dxt03345;	Mon, 2 Jun 2003 10:13:59 +0200
Message-ID: <3EDB074F.4090007@lemburg.com>
Date: Mon, 02 Jun 2003 10:14:07 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030507
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Gene Chow <genechow@pacbell.net>
Subject: Re: [egenix-users] DateTimeFrom problem
References: <04A3366C-91FF-11D7-9C8D-000502219650@pacbell.net>
In-Reply-To: <04A3366C-91FF-11D7-9C8D-000502219650@pacbell.net>
X-Enigmail-Version: 0.75.0.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 02 Jun 2003 08:14:02 -0000

Gene Chow wrote:
> I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior is 
> easy to work around, but it does not seem correct or desirable.
> 
> Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
> [GCC 3.1 20020420 (prerelease)] on darwin6
> Type "copyright", "credits" or "license" for more information.
>  >>> from mx.DateTime import DateTimeFrom
>  >>> DateTimeFrom('2003/05/28')
> <DateTime object for '2028-03-05 00:00:00.00' at 18e670>
>  >>> DateTimeFrom('2003-05-28')
> <DateTime object for '2003-05-28 00:00:00.00' at 13b740>
>  >>>

There's nothing much you can do about this without also
breaking parsing of dates like 03/05/28. The version with
'-' is ISO compliant so that no problem to parse correctly.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jun 02 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        22 days left

From mal@lemburg.com Mon Jun  2 10:17:59 2003
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	h528Hxt03417;	Mon, 2 Jun 2003 10:17:59 +0200
Message-ID: <3EDB083F.2040302@lemburg.com>
Date: Mon, 02 Jun 2003 10:18:07 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030507
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] DateTimeFrom problem
References: <04A3366C-91FF-11D7-9C8D-000502219650@pacbell.net>
	<3EDB074F.4090007@lemburg.com>
In-Reply-To: <3EDB074F.4090007@lemburg.com>
X-Enigmail-Version: 0.75.0.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: Gene Chow <genechow@pacbell.net>
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 02 Jun 2003 08:18:01 -0000

M.-A. Lemburg wrote:
> Gene Chow wrote:
> 
>> I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior is 
>> easy to work around, but it does not seem correct or desirable.
>>
>> Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
>> [GCC 3.1 20020420 (prerelease)] on darwin6
>> Type "copyright", "credits" or "license" for more information.
>>  >>> from mx.DateTime import DateTimeFrom
>>  >>> DateTimeFrom('2003/05/28')
>> <DateTime object for '2028-03-05 00:00:00.00' at 18e670>
>>  >>> DateTimeFrom('2003-05-28')
>> <DateTime object for '2003-05-28 00:00:00.00' at 13b740>
>>  >>>
> 
> There's nothing much you can do about this without also
> breaking parsing of dates like 03/05/28. The version with
> '-' is ISO compliant so that no problem to parse correctly.

Hmm, just tested this with the upcoming egenix-mx-base-2.1.0
and it works just fine:

 >>> from mx.DateTime import DateTimeFrom
 >>> DateTimeFrom('2003/05/28')
<DateTime object for '2003-05-28 00:00:00.00' at 817df90>

Looking at the code, we have added a special new parser
for these US style ISO dates... probably easier than
teaching correct ISO to Americans ;-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jun 02 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                        22 days left

From genechow@pacbell.net Mon Jun  2 17:20:46 2003
Received: from mta4.rcsntx.swbell.net (mta4.rcsntx.swbell.net [151.164.30.28])
	h52FKjt07080
	for <egenix-users@lists.egenix.com>; Mon, 2 Jun 2003 17:20:45 +0200
Received: from pacbell.net (adsl-63-205-173-146.dsl.snfc21.pacbell.net
	[63.205.173.146])h52FKZhi025362;	Mon, 2 Jun 2003 10:20:38 -0500 (CDT)
Date: Mon, 2 Jun 2003 08:20:30 -0700
Subject: Re: [egenix-users] DateTimeFrom problem
Content-Type: text/plain; charset=US-ASCII; format=flowed
Mime-Version: 1.0 (Apple Message framework v552)
To: "M.-A. Lemburg" <mal@lemburg.com>
From: Gene Chow <genechow@pacbell.net>
In-Reply-To: <3EDB083F.2040302@lemburg.com>
Message-Id: <BF5DC65D-950D-11D7-A9B9-000393B8CD52@pacbell.net>
Content-Transfer-Encoding: 7bit
X-Mailer: Apple Mail (2.552)
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 02 Jun 2003 15:20:46 -0000


On Monday, June 2, 2003, at 01:18  AM, M.-A. Lemburg wrote:

> M.-A. Lemburg wrote:
>> Gene Chow wrote:
>>> I'm using egenix-mx-base-2.0.4 on Mac OS X. The following behavior 
>>> is easy to work around, but it does not seem correct or desirable.
>>>
>>> Python 2.1.3 (#1, Aug 29 2002, 17:22:52)
>>> [GCC 3.1 20020420 (prerelease)] on darwin6
>>> Type "copyright", "credits" or "license" for more information.
>>>  >>> from mx.DateTime import DateTimeFrom
>>>  >>> DateTimeFrom('2003/05/28')
>>> <DateTime object for '2028-03-05 00:00:00.00' at 18e670>
>>>  >>> DateTimeFrom('2003-05-28')
>>> <DateTime object for '2003-05-28 00:00:00.00' at 13b740>
>>>  >>>
>> There's nothing much you can do about this without also
>> breaking parsing of dates like 03/05/28. The version with
>> '-' is ISO compliant so that no problem to parse correctly.
>
> Hmm, just tested this with the upcoming egenix-mx-base-2.1.0
> and it works just fine:
>
> >>> from mx.DateTime import DateTimeFrom
> >>> DateTimeFrom('2003/05/28')
> <DateTime object for '2003-05-28 00:00:00.00' at 817df90>
>
> Looking at the code, we have added a special new parser
> for these US style ISO dates... probably easier than
> teaching correct ISO to Americans ;-)
>

Thanks for checking and for the new parser just for us Americans :-) In 
general though, I would think that a range check on the month would be 
nice for everyone.

Gene

From F.Baart@sfk.nl  Wed Jun 18 15:42:22 2003
Return-Path: <F.Baart@sfk.nl>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from NOVASVR1.Z-INDEX.NL (unknown [195.193.1.11])
	by mail.egenix.com (Postfix) with ESMTP id 58AEE11422
	for <egenix-users@lists.egenix.com>;
	Wed, 18 Jun 2003 15:42:22 +0200 (CEST)
To: egenix-users@lists.egenix.com
X-Mailer: Lotus Notes Release 5.0.10  March 22, 2002
Message-ID: <OFB8482C6A.1E2D4B9F-ONC1256D49.004A150D-C1256D49.004B935B@Z-INDEX.NL>
From: F.Baart@sfk.nl
Date: Wed, 18 Jun 2003 15:42:02 +0200
X-MIMETrack: Serialize by Router on NOVASVR1/SVR/Z-INDEX/HOLDING(Release
	5.0.11  |July 24, 2002) at 06/18/2003 03:42:04 PM
MIME-Version: 1.0
Content-type: text/plain; charset=us-ascii
Subject: [egenix-users] mxODBC Zope DA and None vs. ""
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 18 Jun 2003 13:42:23 -0000

Hello,

I recently switched from ZODBC DA to mxODBC Zope DA . Although the
transition did go quite smoothly I am facing some incompatibilities which I
am not sure how to deal with:

1. mxODBC returns empty strings as None, where ZODBC returns empty strings.
This results in "None"'s popping up al over the place including in my
database.
For example: Using inputs in a <dtml-in sql> results someting like:
<input type="text" value="None"/>
After using the text from the input, all empty chars in de database are
changed to "None", which is somewhat annoying.


2. mxODBC returns either returns DECIMAL(n.0) as a float or FLOAT as an
integer depending on the setting of "leave scale 0 floats untouched".

Any help would be appreciated.

Thanks,

Fedor
fedor at sfk dot nl
SFK

I am using ISeries DB2  on OS/400 5r1 as a database with client-access
express ODBC drivers and zope 2.6.1 (mxODBC DA 1.0.4) on win2k.


From mal@lemburg.com  Wed Jun 18 16:07:36 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 639CE32126; Wed, 18 Jun 2003 16:07:34 +0200 (CEST)
Message-ID: <3EF07226.2080009@lemburg.com>
Date: Wed, 18 Jun 2003 16:07:34 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030529
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: F.Baart@sfk.nl
Subject: Re: [egenix-users] mxODBC Zope DA and None vs. ""
References: <OFB8482C6A.1E2D4B9F-ONC1256D49.004A150D-C1256D49.004B935B@Z-INDEX.NL>
In-Reply-To: <OFB8482C6A.1E2D4B9F-ONC1256D49.004A150D-C1256D49.004B935B@Z-INDEX.NL>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 18 Jun 2003 14:07:41 -0000

F.Baart@sfk.nl wrote:
> Hello,
> 
> I recently switched from ZODBC DA to mxODBC Zope DA . Although the
> transition did go quite smoothly I am facing some incompatibilities which I
> am not sure how to deal with:
> 
> 1. mxODBC returns empty strings as None, where ZODBC returns empty strings.
> This results in "None"'s popping up al over the place including in my
> database.

Some databases treat emtpy strings as NULL. A prominent example is
Oracle. mxODBC maps NULL values it gets from the database ODBC driver
to Python's None and that's what you are probably seeing. If the database
passes back an empty string, mxODBC will also give you an empty
string, so in your case, the ODBC driver is generating the NULL
value.

> For example: Using inputs in a <dtml-in sql> results someting like:
> <input type="text" value="None"/>
> After using the text from the input, all empty chars in de database are
> changed to "None", which is somewhat annoying.

ZODBC fetches everything as string which is why you see the
emtpy string on ZODBC DA output.

It looks as if in order to reach full compatibilty, we'll have
to add another connection option to the DA.

> 2. mxODBC returns either returns DECIMAL(n.0) as a float or FLOAT as an
> integer depending on the setting of "leave scale 0 floats untouched".

I'm not sure I understand that question. The ZODBC DA converts
all scale 0 numbers to integers and that's what what the mxODBC Zope
DA does too if you leave that setting disabled.

> Any help would be appreciated.
> 
> Thanks,
> 
> Fedor
> fedor at sfk dot nl
> SFK
> 
> I am using ISeries DB2  on OS/400 5r1 as a database with client-access
> express ODBC drivers and zope 2.6.1 (mxODBC DA 1.0.4) on win2k.
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jun 18 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
EuroPython 2003, Charleroi, Belgium:                         6 days left

From mcfletch@rogers.com  Mon Jun 23 08:32:42 2003
Return-Path: <mcfletch@rogers.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from fep01-mail.bloor.is.net.cable.rogers.com
	(fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by mail.egenix.com (Postfix) with ESMTP id 83777137EC
	for <egenix-users@lists.egenix.com>;
	Mon, 23 Jun 2003 08:32:41 +0200 (CEST)
Received: from rogers.com ([65.50.22.46])
	by fep01-mail.bloor.is.net.cable.rogers.comESMTP
	<20030623063232.OPYV22615.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
	Mon, 23 Jun 2003 02:32:32 -0400
Message-ID: <3EF69ECE.8050101@rogers.com>
Date: Mon, 23 Jun 2003 02:31:42 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
	rv:1.3.1) Gecko/20030425
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: comp.lang.python.announce
To: SimpleParse Users <simpleparse-users@lists.sourceforge.net>,
	egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at
	fep01-mail.bloor.is.net.cable.rogers.com from [65.50.22.46] using ID
	<mcfletch@rogers.com> at Mon, 23 Jun 2003 02:32:32 -0400
Subject: [egenix-users] SimpleParse 2.0.1a1 released
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 23 Jun 2003 06:32:42 -0000

A new SimpleParse release, which adds optimisations to reduce terminal 
productions (and thereby speed up certain types of very formally 
specified grammars) is now available.  For affected grammars, it's quite 
possible to see speedups of 2x compared with v 2.0.0 of the package.  It 
is strongly recommended that you use mxTextTools 2.1.0 with the 2.0.1 
release of SimpleParse.

Download and documentation:

    http://simpleparse.sourceforge.net/

What is SimpleParse:

    SimpleParse is a BSD-licensed
    <http://simpleparse.sourceforge.net/#License> Python package
    providing a simple parser generator for use with the mxTextTools
    <http://www.lemburg.com/files/python/mxTextTools.html> text-tagging
    engine. SimpleParse allows you to generate tagging tables for use
    with the text-tagging engine directly from your EBNF grammar.

Enjoy,
Mike

_______________________________________
  Mike C. Fletcher
  Designer, VR Plumber, Coder
  http://members.rogers.com/mcfletch/



From wdtrenker@yahoo.ca  Wed Jun 25 01:49:28 2003
Return-Path: <wdtrenker@yahoo.ca>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from pd6mo2so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net
	[24.71.223.10])	by mail.egenix.com (Postfix) with ESMTP id 169142006
	for <egenix-users@lists.egenix.com>;
	Wed, 25 Jun 2003 01:49:28 +0200 (CEST)
Received: from pd4mr3so.prod.shaw.ca
 (pd4mr3so-qfe3.prod.shaw.ca [10.0.141.214]) by l-daemon
 (iPlanet Messaging Server 5.2 HotFix 1.16 (built May 14 2003))
 with ESMTP id <0HH000593FATZL@l-daemon> for egenix-users@lists.egenix.com;
 Tue, 24 Jun 2003 17:44:53 -0600 (MDT)
Received: from pn2ml2so.prod.shaw.ca
 (pn2ml2so-qfe0.prod.shaw.ca [10.0.121.146]) by l-daemon
 (iPlanet Messaging Server 5.2 HotFix 1.16 (built May 14 2003))
 with ESMTP id <0HH000D9QFAT5P@l-daemon> for egenix-users@lists.egenix.com;
 Tue, 24 Jun 2003 17:44:53 -0600 (MDT)
Received: from noodle ([24.77.205.69])
 by l-daemon (iPlanet Messaging Server 5.2 HotFix 1.16 (built May 14 2003))
 with ESMTP id <0HH000CF2FASXS@l-daemon> for egenix-users@lists.egenix.com;
 Tue, 24 Jun 2003 17:44:53 -0600 (MDT)
Date: Tue, 24 Jun 2003 16:46:53 +0000
From: William Trenker <wdtrenker@yahoo.ca>
To: egenix-users@lists.egenix.com
Message-id: <oprq958f0zmmesbb@mail.silk.net>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8; format=flowed
Content-transfer-encoding: 7BIT
User-Agent: Opera7.11/Linux M2 build 406
Subject: [egenix-users] mxTidy: CDATA being indented
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Jun 2003 23:49:28 -0000

Hello,

I'm trying out mxTidy to provide transparent clean-up for xml files.  
Included in my xml are elements containing restrucured text.  To perserve 
the line-breaks and indentations, which are significant in restructured 
text, I am using CDATA.

I'm having difficulty figuring out which combination of options to give to 
mxTidy so that the CDATA sections won't get indented.  I've attached a 
simply pyton script below to clarify my attempts.

Thanks for any insight you can pass along.

Regard,
Bill

-----------------script----------------------

import mx.Tidy as tidy

xml = '''
<section>
<rstx>
<![CDATA[
Here is a title
---------------
            Here is a paragraph
            Here's a second paragraph.
            * A List; item 1
* item 2
* item 3
]]>
</rstx>
</section>
'''

tidied = tidy.tidy(xml,
    input_xml=1,
    indent_spaces=4,
    wrap=0,
    wrap_sections=0,
    output_xml=1,
    indent='auto'
    )[2]

print tidied

--------------output--------------------

<section>
    <rstx>
        <![CDATA[
        Here is a title
        ---------------
                    Here is a paragraph
                    Here's a second paragraph.
                    * A List; item 1
        * item 2
        * item 3
        ]]>
    </rstx>
</section>

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From mal@lemburg.com  Mon Jun 30 16:06:57 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id CD6C2200D; Mon, 30 Jun 2003 16:06:56 +0200 (CEST)
Message-ID: <3F004400.4010007@lemburg.com>
Date: Mon, 30 Jun 2003 16:06:56 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: William Trenker <wdtrenker@yahoo.ca>
Subject: Re: [egenix-users] mxTidy: CDATA being indented
References: <oprq958f0zmmesbb@mail.silk.net>
In-Reply-To: <oprq958f0zmmesbb@mail.silk.net>
X-Enigmail-Version: 0.76.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Jun 2003 14:06:57 -0000

William Trenker wrote:
> Hello,
> 
> I'm trying out mxTidy to provide transparent clean-up for xml files.  
> Included in my xml are elements containing restrucured text.  To 
> perserve the line-breaks and indentations, which are significant in 
> restructured text, I am using CDATA.
> 
> I'm having difficulty figuring out which combination of options to give 
> to mxTidy so that the CDATA sections won't get indented.  I've attached 
> a simply pyton script below to clarify my attempts.

You should switch off indenting: indent="no"

> Thanks for any insight you can pass along.
> 
> Regard,
> Bill
> 
> -----------------script----------------------
> 
> import mx.Tidy as tidy
> 
> xml = '''
> <section>
> <rstx>
> <![CDATA[
> Here is a title
> ---------------
>            Here is a paragraph
>            Here's a second paragraph.
>            * A List; item 1
> * item 2
> * item 3
> ]]>
> </rstx>
> </section>
> '''
> 
> tidied = tidy.tidy(xml,
>    input_xml=1,
>    indent_spaces=4,
>    wrap=0,
>    wrap_sections=0,
>    output_xml=1,
>    indent='auto'
>    )[2]
> 
> print tidied
> 
> --------------output--------------------
> 
> <section>
>    <rstx>
>        <![CDATA[
>        Here is a title
>        ---------------
>                    Here is a paragraph
>                    Here's a second paragraph.
>                    * A List; item 1
>        * item 2
>        * item 3
>        ]]>
>    </rstx>
> </section>
> 

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jun 30 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From mal@lemburg.com  Mon Jun 30 16:43:38 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 9ADE2200C; Mon, 30 Jun 2003 16:43:38 +0200 (CEST)
Message-ID: <3F004C9A.6040506@lemburg.com>
Date: Mon, 30 Jun 2003 16:43:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Zope-DB <zope-db@zope.org>,
	"eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-Enigmail-Version: 0.76.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] eGenix mxODBC Zope DA for FreeBSD
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Jun 2003 14:43:39 -0000

Due to popular demand we have ported the mxODBC Zope DA to FreeBSD 4.8.
Current betas of the 1.0.6 version for that platform can be found
here:

http://www.egenix.com/files/python/egenix-mxodbc-zopeda-1.0.6.freebsd-4.8-RELEASE-i386-beta1-py1.5.zip
http://www.egenix.com/files/python/egenix-mxodbc-zopeda-1.0.6.freebsd-4.8-RELEASE-i386-beta1-py2.1.zip
http://www.egenix.com/files/python/egenix-mxodbc-zopeda-1.0.6.freebsd-4.8-RELEASE-i386-beta1-py2.2.zip

(I wonder why distutils uses such long platform names for FreeBSD)

Please report any bugs you find to support@egenix.com. Evaluation
licenses can be had from licenses@egenix.com.

For more information about installation, etc. please see the Linux
notes on: http://www.egenix.com/files/python/mxODBC-Zope-DA.html

Thanks,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jun 30 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From joel@rosdahl.net  Fri Jul 18 12:49:31 2003
Return-Path: <joel@rosdahl.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from fluff.rosdahl.net (h238n1fls20o1062.bredband.comhem.se
	[81.224.164.238])
	by mail.egenix.com (Postfix) with ESMTP id 4841234590
	for <egenix-users@lists.egenix.com>;
	Fri, 18 Jul 2003 12:49:31 +0200 (CEST)
Received: by fluff.rosdahl.net (Postfix, from userid 1000)
	id C82531473D; Fri, 18 Jul 2003 12:49:30 +0200 (CEST)
To: egenix-users@lists.egenix.com
From: Joel Rosdahl <joel@rosdahl.net>
Date: 18 Jul 2003 12:49:30 +0200
Message-ID: <87r84okt39.fsf@fluff.rosdahl.net>
Lines: 37
User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] 'dict' not defined in mx/TextTools/TextTools.py line
	381
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 18 Jul 2003 10:49:31 -0000

Hi,

Igor Stroh reported the following to the Debian bugtracking system:

> here's the error I get when calling tagdict() from
> mx/TextTools/TextTools.py:
> 
> File "/usr/lib/python2.1/site-packages/mx/TextTools/TextTools.py", line 381, in tagdict
>     tagdict(text,dict,pfx+'.',s)
>     NameError: global name 'dict' is not defined
> 
> it seems like it's merely a typo...

I think this patch fixes the problem:

--- mx/TextTools/TextTools.py~	2001-12-12 13:05:28.000000000 +0100
+++ mx/TextTools/TextTools.py	2003-06-15 10:46:41.000000000 +0200
@@ -373,12 +373,7 @@
     if not rc:
         return (rc,None,next)
     d = {}
-    tagdict = _tagdict
-    for o,l,r,s in taglist:
-        pfx = str(o)
-        d[pfx] = text[l:r]
-        if s:
-            tagdict(text,dict,pfx+'.',s)
+    _tagdict(text,d,'',taglist)
     return (rc,d,next)

 def invset(chars):

        Regards,
        Joel

-- 
Joel Rosdahl <joel@rosdahl.net>  (GnuPG/PGP key available)
From mal@lemburg.com  Sun Jul 20 16:36:02 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 2D1DB16374; Sun, 20 Jul 2003 16:35:55 +0200 (CEST)
Message-ID: <3F1AA8C7.9070002@lemburg.com>
Date: Sun, 20 Jul 2003 16:35:51 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Joel Rosdahl <joel@rosdahl.net>
Subject: Re: [egenix-users] 'dict' not defined in mx/TextTools/TextTools.py
 line	381
References: <87r84okt39.fsf@fluff.rosdahl.net>
In-Reply-To: <87r84okt39.fsf@fluff.rosdahl.net>
X-Enigmail-Version: 0.76.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 20 Jul 2003 14:36:02 -0000

Joel Rosdahl wrote:
> Hi,
> 
> Igor Stroh reported the following to the Debian bugtracking system:
> 
> 
>>here's the error I get when calling tagdict() from
>>mx/TextTools/TextTools.py:
>>
>>File "/usr/lib/python2.1/site-packages/mx/TextTools/TextTools.py", line 381, in tagdict
>>    tagdict(text,dict,pfx+'.',s)
>>    NameError: global name 'dict' is not defined
>>
>>it seems like it's merely a typo...
> 
> 
> I think this patch fixes the problem:
> 
> --- mx/TextTools/TextTools.py~	2001-12-12 13:05:28.000000000 +0100
> +++ mx/TextTools/TextTools.py	2003-06-15 10:46:41.000000000 +0200
> @@ -373,12 +373,7 @@
>      if not rc:
>          return (rc,None,next)
>      d = {}
> -    tagdict = _tagdict
> -    for o,l,r,s in taglist:
> -        pfx = str(o)
> -        d[pfx] = text[l:r]
> -        if s:
> -            tagdict(text,dict,pfx+'.',s)
> +    _tagdict(text,d,'',taglist)
>      return (rc,d,next)

It does, but also adds another function call for (less common)
cases where you don't have recursive tag tables.

The only change needed is:

-            tagdict(text,dict,pfx+'.',s)
+            tagdict(text,d,pfx+'.',s)

(dict -> d)

>  def invset(chars):
> 
>         Regards,
>         Joel
> 

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 20 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From smulloni@smullyan.org  Sun Jul 20 21:45:40 2003
Return-Path: <smulloni@smullyan.org>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mercury.nac.net (mercury.nac.net [64.21.52.92])
	by mail.egenix.com (Postfix) with SMTP id 5ACF81637B
	for <egenix-users@lists.egenix.com>;
	Sun, 20 Jul 2003 21:45:40 +0200 (CEST)
Received: (qmail 30543 invoked from network); 20 Jul 2003 19:45:37 -0000
Received: from unknown (HELO lithium.nac.net) (64.21.52.83)
  by mercury.nac.net with SMTP; 20 Jul 2003 19:45:37 -0000
Received: (qmail 15589 invoked from network); 20 Jul 2003 19:45:38 -0000
Received: from unknown (HELO bracknell.smullyan.org) (64.21.7.184)
  by mail.nac.net with SMTP; 20 Jul 2003 19:45:38 -0000
Received: by bracknell.smullyan.org (Postfix, from userid 1000)
	id BC45D1C0019; Sun, 20 Jul 2003 15:45:37 -0400 (EDT)
From: Jacob Smullyan <smulloni@smullyan.org>
To: egenix-users@lists.egenix.com
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="=-A0jGcXeF6/G/AUC6OMwO"
Message-Id: <1058730337.19656.22.camel@bracknell.smullyan.org>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.3 
Date: 20 Jul 2003 15:45:37 -0400
Subject: [egenix-users] DeprecationWarning with Python 2.3c1
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 20 Jul 2003 19:45:40 -0000


--=-A0jGcXeF6/G/AUC6OMwO
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Using mx base 2.1.0b5, the following code produces a DeprecationWarning
in the latest Python (also as far back as 2.3b1, at least):

>>> import mx.DateTime as M
>>> n=3DM.now()
>>> import time
>>> time.strftime('%Y', n.tuple())
__main__:1: DeprecationWarning: integer argument expected, got float
'2003'

The tuple returned contains a float rather than an int for the "second"
field.  From the 2.3 release notes (from the 2.3a2 C API section):  "The
PyArg_Parse functions now issue a DeprecationWarning if a float   =20
argument is provided when an integer is specified (this affects the 'b',
'B', 'h', 'H', 'i', and 'l' codes). Future versions of Python will raise
a TypeError."

Whether this is a bug in time.strftime or in mx.DateTime, I leave to
your better judgement.  Also, don't ask why someone is using
time.strftime with mx.DateTime this way, because I have no idea!=20
Nonetheless, if the tuple returned from DateTimeType.tuple() isn't
compatible is those used in the time module, there isn't a whole lot of
point to them.

Cheers,

Jacob Smullyan

--=20
Jacob Smullyan <smulloni@smullyan.org>
gpg --keyserver pgp.mit.edu --recv-keys 21575CB2
Fingerprint 1894 D37C FA6B 1CC7 F0B4  0A89 BAA6 A617 2157 5CB2

--=-A0jGcXeF6/G/AUC6OMwO
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQA/GvFhuqamFyFXXLIRAvgYAJ9v35+67j4FWKrFMMsIXi85ZN8WeACbBDs0
VumX1dNMpR7Cnu0oIZRQEB0=
=s6fg
-----END PGP SIGNATURE-----

--=-A0jGcXeF6/G/AUC6OMwO--
From stuff@mailzilla.net  Mon Jul 21 22:27:43 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id 6551634667
	for <egenix-users@lists.egenix.com>;
	Mon, 21 Jul 2003 22:27:42 +0200 (CEST)
Received: (qmail 32245 invoked by uid 511); 21 Jul 2003 20:27:41 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 21 Jul 2003 20:27:41 -0000
Date: Mon, 21 Jul 2003 13:27:41 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: egenix-users@lists.egenix.com
In-Reply-To: <mailman.1.1058817898.10199.egenix-users@lists.egenix.com>
Message-ID: <Pine.LNX.4.44.0307211305570.30885-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] Strange behavior using mxODBC & SQL Server
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 21 Jul 2003 20:27:43 -0000


I am a BlackAdder user and new to mxODBC.  I recently downloaded the 
mxODBC package from TheKompany to use on Windows XP.  I have created a 
script that uses mxODBC to migrate some data from a file to a MS SQL 
Server 2000 database using the mx.ODBC.Windows package (using the "SQL 
Server" driver as part of my dsn).

Using a cursor, I have been able to update and insert records without any 
issues.  However, I am seeing some unusual behavior when performing 
selects.

Consider a table that stored information about CD's, with several columns:
genre_id (INT)
artist (VARCHAR)
album (VARCHAR)
etc...

When performing a query such as:
SELECT * FROM CD  
WHERE genre_id = 5
AND artist = 'artist1'

I sometimes end up with 0 rows even though there is at least 1 with the 
criteria (as verified against SQL Server using the Enterprise Manager 
query tool).

Oddly enough, if I issue a second query changing the AND clauss to
AND artist = 'artist2'

I will get results.  If I then re-issue the first query (knowing that the 
underlying data has not been modified) I get nothing... Do it again, I get 
results.

I haven't been able to isolate the behavior, but if I do the artist2 query 
first, that one fails and then the artist1 query it succeeds.  My 
expectations are for both queries to succeed, always, based on the current 
data in the table.  If I get rid of the perfectly legal AND clause the 
query always works but that isn't a solution to the problem but it may 
provide some more insight.

I'm not sure what is going on here and I'd appreciate any pointers.

After reading the online docs about mxODBC I changed my code to use 
c.executedirect(sql) to perform the queries rather than c.execute(sql) but 
that had no effect on the problem.

I've been using SQL for a number of years (mostly MySQL and Oracle) so my 
exposure to SQL Server is minimal at best (though, the query I'm issuing 
shouldn't be a problem).


Any help would be appreciated,

Phil

From mal@lemburg.com  Tue Jul 22 11:27:46 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 9A7D234662; Tue, 22 Jul 2003 11:27:46 +0200 (CEST)
Message-ID: <3F1D0391.5010808@lemburg.com>
Date: Tue, 22 Jul 2003 11:27:45 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: stuff@mailzilla.net
Subject: Re: [egenix-users] Strange behavior using mxODBC & SQL Server
References: <Pine.LNX.4.44.0307211305570.30885-100000@nonpoint>
In-Reply-To: <Pine.LNX.4.44.0307211305570.30885-100000@nonpoint>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 22 Jul 2003 09:27:47 -0000

stuff@mailzilla.net wrote:
> I am a BlackAdder user and new to mxODBC.  I recently downloaded the 
> mxODBC package from TheKompany to use on Windows XP.  I have created a 
> script that uses mxODBC to migrate some data from a file to a MS SQL 
> Server 2000 database using the mx.ODBC.Windows package (using the "SQL 
> Server" driver as part of my dsn).
> 
> Using a cursor, I have been able to update and insert records without any 
> issues.  However, I am seeing some unusual behavior when performing 
> selects.
> 
> Consider a table that stored information about CD's, with several columns:
> genre_id (INT)
> artist (VARCHAR)
> album (VARCHAR)
> etc...
> 
> When performing a query such as:
> SELECT * FROM CD  
> WHERE genre_id = 5
> AND artist = 'artist1'
> 
> I sometimes end up with 0 rows even though there is at least 1 with the 
> criteria (as verified against SQL Server using the Enterprise Manager 
> query tool).
> 
> Oddly enough, if I issue a second query changing the AND clauss to
> AND artist = 'artist2'
> 
> I will get results.  If I then re-issue the first query (knowing that the 
> underlying data has not been modified) I get nothing... Do it again, I get 
> results.
> 
> I haven't been able to isolate the behavior, but if I do the artist2 query 
> first, that one fails and then the artist1 query it succeeds.  My 
> expectations are for both queries to succeed, always, based on the current 
> data in the table.  If I get rid of the perfectly legal AND clause the 
> query always works but that isn't a solution to the problem but it may 
> provide some more insight.
> 
> I'm not sure what is going on here and I'd appreciate any pointers.

Sounds strange indeed. You might want to try using bound parameters
in your query:

artist = ?

then pass in the data via the .execute() parameters:

.execute(sql, ('artist1',))

Other things to consider:

* upgrade to the latest MS SQL Server ODBC driver
* check the MS SQL Server Knowledgebase
* turn off connection pooling for the connection in the
   ODBC manager
* use a new cursor for each query (rather than reusing
   a single one)

The fact that you get different results from the database for the
same query suggest that something in the caching logic of the ODBC
driver is not working right.

> After reading the online docs about mxODBC I changed my code to use 
> c.executedirect(sql) to perform the queries rather than c.execute(sql) but 
> that had no effect on the problem.
> 
> I've been using SQL for a number of years (mostly MySQL and Oracle) so my 
> exposure to SQL Server is minimal at best (though, the query I'm issuing 
> shouldn't be a problem).
> 
> 
> Any help would be appreciated,
> 
> Phil
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 22 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From tim.golden@viacom-outdoor.co.uk  Tue Jul 22 12:00:55 2003
Return-Path: <tim.golden@viacom-outdoor.co.uk>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mail22.messagelabs.com (mail22.messagelabs.com
	[193.109.255.115])
	by mail.egenix.com (Postfix) with SMTP id 271743464D
	for <egenix-users@lists.egenix.com>;
	Tue, 22 Jul 2003 12:00:55 +0200 (CEST)
X-VirusChecked: Checked
X-Env-Sender: tim.golden@viacom-outdoor.co.uk
X-Msg-Ref: server-3.tower-22.messagelabs.com!1058867939!154103
X-StarScan-Version: 5.0.7; banners=viacom-outdoor.co.uk,-,-
Received: (qmail 14981 invoked from network); 22 Jul 2003 09:58:59 -0000
Received: from smtp-5.star.net.uk (212.125.75.74)
  by server-3.tower-22.messagelabs.com with SMTP; 22 Jul 2003 09:58:59 -0000
Received: (qmail 25730 invoked from network); 22 Jul 2003 09:35:55 -0000
Received: from unallocated.star.net.uk (HELO tdi?nt9.tdi.co.uk) (62.173.94.27)
  by smtp-5.star.net.uk with SMTP; 22 Jul 2003 09:35:55 -0000
Received: by iron.ima.umn.edu with Internet Mail Service (5.5.2653.19)
	id <NN3APDZC>; Tue, 22 Jul 2003 10:31:41 +0100
Message-ID: <F1921F85572CB04D9F55B14BDC76B3E4434222@iron.ima.umn.edu>
From: Tim Golden <tim.golden@viacom-outdoor.co.uk>
To: stuff@mailzilla.net
Subject: RE: [egenix-users] Strange behavior using mxODBC & SQL Server
Date: Tue, 22 Jul 2003 10:31:40 +0100
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 22 Jul 2003 10:00:55 -0000

> When performing a query such as:
> SELECT * FROM CD  
> WHERE genre_id = 5
> AND artist = 'artist1'
> 
> I sometimes end up with 0 rows even though there is at least 1 with the 
> criteria (as verified against SQL Server using the Enterprise Manager 
> query tool).
> 
> Oddly enough, if I issue a second query changing the AND clauss to
> AND artist = 'artist2'
> 
> I will get results.  If I then re-issue the first query (knowing that the 
> underlying data has not been modified) I get nothing... Do it again, I get

> results.
> 

Not sure if this is pertinent, but speaking as someone who uses
 SQL Server daily professionally, from Python (via Object Craft's 
 Python mssql module)and with Query Analyzer, 
 I can assert that it doesn't do to rely too heavily on the fact that
 "it works in Query Analyzer / Enterprise Manager". What I mean is that
 there are several session-level settings for SQL Server which are set
 implicitly by the SQL Server tools (altho' you can change them) and which
 are not set on a raw connection via Python. For example, there is a setting
 which determines whether NULLs match anything. (Astonishing to me, coming
 from an Oracle background and loudly proclaiming that NULLs never match
 anything). In SQL Server it was set so that NULLs are equal to NULLs; in
 my Python session, it wasn't. So a query which ran fine in Query Analyzer
 failed to produce results on Python, or vice versa.

It doesn't look as though this is the particular issue in your query, altho'
 as you haven't supplied your data I can't be certain, but it's certainly
 worth considering this as a possibility. Check out the SET command in SQL
 Server Help.

TJG

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
From mal@lemburg.com  Tue Jul 22 13:39:12 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id A578D34820; Tue, 22 Jul 2003 13:39:12 +0200 (CEST)
Message-ID: <3F1D2260.6050603@lemburg.com>
Date: Tue, 22 Jul 2003 13:39:12 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jacob Smullyan <smulloni@smullyan.org>
Subject: Re: [egenix-users] DeprecationWarning with Python 2.3c1
References: <1058730337.19656.22.camel@bracknell.smullyan.org>
In-Reply-To: <1058730337.19656.22.camel@bracknell.smullyan.org>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 22 Jul 2003 11:39:13 -0000

Jacob Smullyan wrote:
> Using mx base 2.1.0b5, the following code produces a DeprecationWarning
> in the latest Python (also as far back as 2.3b1, at least):
> 
> 
>>>>import mx.DateTime as M
>>>>n=M.now()
>>>>import time
>>>>time.strftime('%Y', n.tuple())
> 
> __main__:1: DeprecationWarning: integer argument expected, got float
> '2003'
> 
> The tuple returned contains a float rather than an int for the "second"
> field.  From the 2.3 release notes (from the 2.3a2 C API section):  "The
> PyArg_Parse functions now issue a DeprecationWarning if a float    
> argument is provided when an integer is specified (this affects the 'b',
> 'B', 'h', 'H', 'i', and 'l' codes). Future versions of Python will raise
> a TypeError."

Oh well :-/ Guess I'll have to change the format in the tuple to
be all integers...

> Whether this is a bug in time.strftime or in mx.DateTime, I leave to
> your better judgement.  Also, don't ask why someone is using
> time.strftime with mx.DateTime this way, because I have no idea! 
> Nonetheless, if the tuple returned from DateTimeType.tuple() isn't
> compatible is those used in the time module, there isn't a whole lot of
> point to them.

OTOH, people should use n.strftime() directly.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 22 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From yoskim@NMSU.Edu  Mon Jul 28 22:35:52 2003
Return-Path: <yoskim@NMSU.Edu>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from ccserver.nmsu.edu (ccserver.nmsu.edu [128.123.34.19])
	by mail.egenix.com (Postfix) with ESMTP id E408434F2B
	for <egenix-users@lists.egenix.com>;
	Mon, 28 Jul 2003 22:35:51 +0200 (CEST)
Received: from verdi.NMSU.Edu (verdi.NMSU.Edu [128.123.34.5])
	by ccserver.nmsu.edu (Postfix) with ESMTP id 94E05151F96
	for <egenix-users@lists.egenix.com>;
	Mon, 28 Jul 2003 14:36:08 -0600 (MDT)
Date: Mon, 28 Jul 2003 14:35:51 -0600 (MDT)
From: Yosep <yoskim@NMSU.Edu>
To: egenix-users@lists.egenix.com
Message-ID: <Pine.GSO.4.55.0307281429590.8777@verdi.NMSU.Edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] Installing egenix-mx: conflict
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 28 Jul 2003 20:35:52 -0000


Hello

I am trying to install egenix-mx on my NetBSD machine, but I run into this
problem.  The egenix-mx have depedencies, namey, the packages Iodbc and
Unixodbc; however, they conflict each other.  Iodbc has the library file
(libiodbc.a) and Unixodbc has the header file (sqlext.h). I can only have
one of the two packages due to the conflict.  How could I go about solving
this problem?

Any help would be grealy appreciated.

=============
   |\/\/|   |  Yosep Kim
   |,,,,|   |  NMSU Computer Lab Assistant
   |    |   |  Computer Science, B.S.
  [|^  ^|]  |  New Mexico State Unversity
    \__/    |  http://web.nmsu.edu/~yoskim
=============
 PHIL 4:13

From Paul.Moore@atosorigin.com  Tue Jul 29 13:04:44 2003
Return-Path: <Paul.Moore@atosorigin.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mail.uk.atosorigin.com (mail.uk.atosorigin.com [195.8.190.165])
	by mail.egenix.com (Postfix) with ESMTP id D2F86163B0
	for <egenix-users@lists.egenix.com>;
	Tue, 29 Jul 2003 13:04:43 +0200 (CEST)
Received: from UKDCR003.uk.int.atosorigin.com ([172.16.201.65]) by
	mail.uk.atosorigin.com with Microsoft SMTPSVC(5.0.2195.5329);
	Tue, 29 Jul 2003 12:07:41 +0100
Received: From UKDCX001.uk.int.atosorigin.com ([172.16.244.180]) by
	UKDCR003.uk.int.atosorigin.com (WebShield SMTP v4.5 MR1a);
	id 1059476642622; Tue, 29 Jul 2003 12:04:02 +0100
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 29 Jul 2003 12:04:02 +0100
Message-ID: <16E1010E4581B049ABC51D4975CEDB8802C0963C@UKDCX001.uk.int.atosorigin.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b5
Thread-Index: AcI/jgVWHTDr7KtzEda36wCAX6auQUWMsWFQ
From: "Moore, Paul" <Paul.Moore@atosorigin.com>
To: <egenix-users@lists.egenix.com>
X-OriginalArrivalTime: 29 Jul 2003 11:07:41.0343 (UTC)
	FILETIME=[A0ECD2F0:01C355C1]
Subject: [egenix-users] New versions of mx extensions
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 29 Jul 2003 11:04:44 -0000

The last beta (beta 5) of mxBASE was announced nearly a year ago.
Since then, I've not noticed an announcement of the final version,
nor is it available from the eGenix website. Also there is no
Python 2.3 binary version available.

Is a new release likely soon?
Paul Moore
From mal@lemburg.com  Tue Jul 29 13:13:28 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id CD59F34FE0; Tue, 29 Jul 2003 13:13:27 +0200 (CEST)
Message-ID: <3F2656D7.70808@lemburg.com>
Date: Tue, 29 Jul 2003 13:13:27 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Moore, Paul" <Paul.Moore@atosorigin.com>
Subject: Re: [egenix-users] New versions of mx extensions
References: <16E1010E4581B049ABC51D4975CEDB8802C0963C@UKDCX001.uk.int.atosorigin.com>
In-Reply-To: <16E1010E4581B049ABC51D4975CEDB8802C0963C@UKDCX001.uk.int.atosorigin.com>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 29 Jul 2003 11:13:28 -0000

Moore, Paul wrote:
> The last beta (beta 5) of mxBASE was announced nearly a year ago.
> Since then, I've not noticed an announcement of the final version,
> nor is it available from the eGenix website. Also there is no
> Python 2.3 binary version available.
> 
> Is a new release likely soon?

Yes, but it's currently low priority since we are busy with other
projects.

Since you've been waiting so long, here's a snapshot of the
current code base:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0-2003-07-29.zip

Most important changes since beta 5:
* lots of small improvements
* bug fixes in mxTextTools
* moved mxURL and mxUID from the experimental package to the
   base package: that means mxBASE now comes with 9 (!) subpackages
   full of goodies :-)

For more details, have a look at the various .html files in the
respective mx/pkg/Doc directories.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 29 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From mal@lemburg.com  Tue Jul 29 13:47:15 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 0B2F334F05; Tue, 29 Jul 2003 13:47:15 +0200 (CEST)
Message-ID: <3F265EC2.6060006@lemburg.com>
Date: Tue, 29 Jul 2003 13:47:14 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jacob Smullyan <smulloni@bracknell.smullyan.org>
Subject: Re: [egenix-users] New versions of mx extensions
References:
	<16E1010E4581B049ABC51D4975CEDB8802C0963C@UKDCX001.uk.int.atosorigin.com>
	<3F2656D7.70808@lemburg.com> <20030729114357.GA11469@bracknell.smullyan.org>
In-Reply-To: <20030729114357.GA11469@bracknell.smullyan.org>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 29 Jul 2003 11:47:15 -0000

Jacob Smullyan wrote:
> On Tue, Jul 29, 2003 at 01:13:27PM +0200, M.-A. Lemburg wrote:
> 
>>Since you've been waiting so long, here's a snapshot of the
>>current code base:
>>
>>http://www.egenix.com/files/python/egenix-mx-base-2.1.0-2003-07-29.zip
> 
> 
> Url slightly broken --
> 
> wget http://www.egenix.com/files/python/egenix-mx-base-2.1.0-2003-07-29.zip
> --07:41:31--
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0-2003-07-29.zip
>            => `egenix-mx-base-2.1.0-2003-07-29.zip'
> Resolving www.egenix.com... done.
> Connecting to www.egenix.com[217.115.138.139]:80... connected.
> HTTP request sent, awaiting response... 403 Forbidden
> 07:41:31 ERROR 403: Forbidden.

Ah, thanks. Fixed it now.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 29 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From stuff@mailzilla.net  Wed Jul 30 20:43:11 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id ABEB81BA5F
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Jul 2003 20:43:10 +0200 (CEST)
Received: (qmail 28428 invoked by uid 511); 30 Jul 2003 18:43:09 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 30 Jul 2003 18:43:09 -0000
Date: Wed, 30 Jul 2003 11:43:09 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: egenix-users@lists.egenix.com
In-Reply-To: <3F1D0391.5010808@lemburg.com>
Message-ID: <Pine.LNX.4.44.0307301035300.23918-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] cursor.rowcount abnormalities and performance question
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 18:43:11 -0000


Hello,

When using mxODBC with the Windows SQL Server Driver I've noticed that 
when performing a query with executedirect the cursor object has a 
rowcount of -1 or 0 and nothing else.  I am using Python 2.2 and the 
mxODBC package that ships with BlackAdder.

-1 seems to be the initial value of rowcount before queries are performed
but I'm unsure as to why this would remain the value after a query
considering that the count should be >= 0, at least fundamentally.  In my
tests I have only seen values of 0 (when there are no records) and -1 when
there are some records-- in these cases, I am expecting this to be a
positive value representing the number of records that matched the query.  

If I do a fetch operation (i.e. fetchone) on the cursor that has a 
rowcount of -1 I do indeed retrieve records.  There seems to be a 
disconnect between rowcount and being able to fetch records.

Is SQL Server/ODBC sending over misleading info or is this a problem with 
mxODBC?

I generally use rowcount to determine whether I need to retreive 
records using fetchone inside a while loop (no need to execute the loop 
if rowcount is 0).  It's a little cleaner if I can reliably use rowcount 
but if the value doesn't sync with the actual result set then I can safely 
do something like this:

while 1:
   row = c.fetchone()
   if not row: break
   processTheRecord(row)

If rowcount can be relied upon, I could do this, which is much cleaner:

for i in range(c.rowcount):
   row = c.fetchone
   processTheRecord(row)


Performance question- Since I need to perform some manipulation on each 
record I believe it is more efficient to perform a while loop and 
fetchone rather than getting everything via fetchall and then iterating 
over that result (since theoretically, fetchall would be iterating to get 
each record so technically speaking that would require iterating twice).  
If this assumption is false, please let me know.  Perhaps there are some 
internal ODBC/mxODBC optimizations that allow fetchall to actually perform 
much faster than several fetchone's.  My concern is that if fetchall 
iterates through the result set to produce the list of rows and then I am 
iterating through the fetched list then I can accomplish the same goal w/ 
1 less iteration via a series of fetchone's.  Also, I imagine it would be 
safer to process each record individually then fetching the entire result 
set at once in terms of system resource utilization (i.e. if the result 
set were millions of records there would need to be data structs allocated 
to hold them).  

I'm curious to see if my reluctance to use fetchall is well-founded or
overly paranoid.

Thanks for any info,

Phil




From sholden@holdenweb.com  Wed Jul 30 20:54:33 2003
Return-Path: <sholden@holdenweb.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mail11.atl.registeredsite.com (mail11.atl.registeredsite.com
	[64.224.219.85])
	(using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
	"mailroot.core.registeredsite.com" (not verified))
	by mail.egenix.com (Postfix) with ESMTP id F20F3F435
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Jul 2003 20:54:32 +0200 (CEST)
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	h6UIsU64013478;	Wed, 30 Jul 2003 14:54:31 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A456736500CE; Wed, 30 Jul 2003 14:54:14 -0400
From: "Steve Holden" <sholden@holdenweb.com>
To: <stuff@mailzilla.net>, <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] cursor.rowcount abnormalities and performance
	question
Date: Wed, 30 Jul 2003 14:48:39 -0400
Message-ID: <CGECIJPNNHIFAJKHOLMAOEKEELAA.sholden@holdenweb.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
In-Reply-To: <Pine.LNX.4.44.0307301035300.23918-100000@nonpoint>
Importance: Normal
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 18:54:33 -0000

> -----Original Message-----
> From: egenix-users-bounces@lists.egenix.com
> [mailto:egenix-users-bounces@lists.egenix.com]On Behalf Of
> stuff@mailzilla.net
> Sent: Wednesday, July 30, 2003 2:43 PM
> To: egenix-users@lists.egenix.com
> Subject: [egenix-users] cursor.rowcount abnormalities and performance
> question
>
[questions on setting of rowcount deferred to Masrc-Andre]

> I generally use rowcount to determine whether I need to retreive
> records using fetchone inside a while loop (no need to
> execute the loop
> if rowcount is 0).  It's a little cleaner if I can reliably
> use rowcount
> but if the value doesn't sync with the actual result set then
> I can safely
> do something like this:
>
> while 1:
>    row = c.fetchone()
>    if not row: break
>    processTheRecord(row)
>
> If rowcount can be relied upon, I could do this, which is
> much cleaner:
>
> for i in range(c.rowcount):
>    row = c.fetchone

	row = c.fetchone()

>    processTheRecord(row)
>
>
> Performance question- Since I need to perform some
> manipulation on each
> record I believe it is more efficient to perform a while loop and
> fetchone rather than getting everything via fetchall and then
> iterating
> over that result (since theoretically, fetchall would be
> iterating to get
> each record so technically speaking that would require
> iterating twice).
> If this assumption is false, please let me know.  Perhaps
> there are some
> internal ODBC/mxODBC optimizations that allow fetchall to
> actually perform
> much faster than several fetchone's.  My concern is that if fetchall
> iterates through the result set to produce the list of rows
> and then I am
> iterating through the fetched list then I can accomplish the
> same goal w/
> 1 less iteration via a series of fetchone's.  Also, I imagine
> it would be
> safer to process each record individually then fetching the
> entire result
> set at once in terms of system resource utilization (i.e. if
> the result
> set were millions of records there would need to be data
> structs allocated
> to hold them).
>
In fact by using fetchone() you are likely to be less efficient, though
I don't have specific knowledge of the buffering employed by SQL Server.
I have certainly corresponded with other users who have started using
fetchall() on my advice and seen large performance improvements.

There's also a middle way, using fetchmany() to retrieve chunks of
several rows at a time. This avoids the necessity to buffer all query
output on the client side, which is the main inefficiency you'd be
likely to induce with indiscriminate use of fetchall(). But unless
*very* large datasets are involved, fetchall() is an easy way out:

	data = curs.fetchall()
	for row in data:
		processTheRecord(row)

> I'm curious to see if my reluctance to use fetchall is well-founded or
> overly paranoid.
>
> Thanks for any info,
>
Well, timings and memory usage measurements are probably going to be
your best guides, but I'd be prepared to bet that for record sets of
less than five thousand rows (and rows less than a kilobyte in size) the
convenience of fetchall() won't bring any noticeable penalty.

regards
--
Steve Holden                                 http://www.holdenweb.com/
Python Web Programming                http://pydish.holdenweb.com/pwp/




From jim.vickroy@noaa.gov  Wed Jul 30 21:06:20 2003
Return-Path: <jim.vickroy@noaa.gov>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov
	[140.172.224.30])
	by mail.egenix.com (Postfix) with ESMTP id 8541EF434
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Jul 2003 21:06:19 +0200 (CEST)
Received: from noaa.gov ([140.172.223.104]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id HIUQDV00.93F; Wed, 30 Jul 2003 13:05:55 -0600 
Message-ID: <3F281714.2338D102@noaa.gov>
Date: Wed, 30 Jul 2003 13:05:57 -0600
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: stuff@mailzilla.net
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance 
 question
References: <Pine.LNX.4.44.0307301035300.23918-100000@nonpoint>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 19:06:20 -0000

Regarding the use of fecthone() vs fetchall(), my advice is the standard
Python mantra -- avoid premature optimization -- code it in a simple and clear
manner -- test it in you problem domain (expected number of rows, size per
row, etc.) -- optimize when/where testing reveals performance issues.  I have
been pleasantly surprised how fast SQL Server retrievals are for 1mb BLOBs.

stuff@mailzilla.net wrote:

> Hello,
>
> When using mxODBC with the Windows SQL Server Driver I've noticed that
> when performing a query with executedirect the cursor object has a
> rowcount of -1 or 0 and nothing else.  I am using Python 2.2 and the
> mxODBC package that ships with BlackAdder.
>
> -1 seems to be the initial value of rowcount before queries are performed
> but I'm unsure as to why this would remain the value after a query
> considering that the count should be >= 0, at least fundamentally.  In my
> tests I have only seen values of 0 (when there are no records) and -1 when
> there are some records-- in these cases, I am expecting this to be a
> positive value representing the number of records that matched the query.
>
> If I do a fetch operation (i.e. fetchone) on the cursor that has a
> rowcount of -1 I do indeed retrieve records.  There seems to be a
> disconnect between rowcount and being able to fetch records.
>
> Is SQL Server/ODBC sending over misleading info or is this a problem with
> mxODBC?
>
> I generally use rowcount to determine whether I need to retreive
> records using fetchone inside a while loop (no need to execute the loop
> if rowcount is 0).  It's a little cleaner if I can reliably use rowcount
> but if the value doesn't sync with the actual result set then I can safely
> do something like this:
>
> while 1:
>    row = c.fetchone()
>    if not row: break
>    processTheRecord(row)
>
> If rowcount can be relied upon, I could do this, which is much cleaner:
>
> for i in range(c.rowcount):
>    row = c.fetchone
>    processTheRecord(row)
>
> Performance question- Since I need to perform some manipulation on each
> record I believe it is more efficient to perform a while loop and
> fetchone rather than getting everything via fetchall and then iterating
> over that result (since theoretically, fetchall would be iterating to get
> each record so technically speaking that would require iterating twice).
> If this assumption is false, please let me know.  Perhaps there are some
> internal ODBC/mxODBC optimizations that allow fetchall to actually perform
> much faster than several fetchone's.  My concern is that if fetchall
> iterates through the result set to produce the list of rows and then I am
> iterating through the fetched list then I can accomplish the same goal w/
> 1 less iteration via a series of fetchone's.  Also, I imagine it would be
> safer to process each record individually then fetching the entire result
> set at once in terms of system resource utilization (i.e. if the result
> set were millions of records there would need to be data structs allocated
> to hold them).
>
> I'm curious to see if my reluctance to use fetchall is well-founded or
> overly paranoid.
>
> Thanks for any info,
>
> Phil
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

From mal@lemburg.com  Wed Jul 30 21:07:52 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 065461BA7C; Wed, 30 Jul 2003 21:07:51 +0200 (CEST)
Message-ID: <3F281786.2050202@lemburg.com>
Date: Wed, 30 Jul 2003 21:07:50 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: stuff@mailzilla.net
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
 question
References: <Pine.LNX.4.44.0307301035300.23918-100000@nonpoint>
In-Reply-To: <Pine.LNX.4.44.0307301035300.23918-100000@nonpoint>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 19:07:53 -0000

stuff@mailzilla.net wrote:
> Hello,
> 
> When using mxODBC with the Windows SQL Server Driver I've noticed that 
> when performing a query with executedirect the cursor object has a 
> rowcount of -1 or 0 and nothing else.  I am using Python 2.2 and the 
> mxODBC package that ships with BlackAdder.
> 
> -1 seems to be the initial value of rowcount before queries are performed
> but I'm unsure as to why this would remain the value after a query
> considering that the count should be >= 0, at least fundamentally.  In my
> tests I have only seen values of 0 (when there are no records) and -1 when
> there are some records-- in these cases, I am expecting this to be a
> positive value representing the number of records that matched the query.  

-1 means "no information available".

> If I do a fetch operation (i.e. fetchone) on the cursor that has a 
> rowcount of -1 I do indeed retrieve records.  There seems to be a 
> disconnect between rowcount and being able to fetch records.
> 
> Is SQL Server/ODBC sending over misleading info or is this a problem with 
> mxODBC?

It's a general problem with the ODBC driver you are using. MS Access
has similar problems. Both seem to not know how many rows there
actually are in the result set until you try to fetch them all.

Some ODBC drivers update the .rowcount information after the first
fetch which is why mxODBC tries hard to update the information
(it does so each time you request .rowcount until something
other than -1 is returned).

> I generally use rowcount to determine whether I need to retreive 
> records using fetchone inside a while loop (no need to execute the loop 
> if rowcount is 0).  It's a little cleaner if I can reliably use rowcount 
> but if the value doesn't sync with the actual result set then I can safely 
> do something like this:
> 
> while 1:
>    row = c.fetchone()
>    if not row: break
>    processTheRecord(row)
> 
> If rowcount can be relied upon, I could do this, which is much cleaner:
> 
> for i in range(c.rowcount):
>    row = c.fetchone
>    processTheRecord(row)

True. In this case, however, you will have to complain to
Microsoft for not providing the necessary information to the
application using their ODBC driver :-/

> Performance question- Since I need to perform some manipulation on each 
> record I believe it is more efficient to perform a while loop and 
> fetchone rather than getting everything via fetchall and then iterating 
> over that result (since theoretically, fetchall would be iterating to get 
> each record so technically speaking that would require iterating twice).  
> If this assumption is false, please let me know.  Perhaps there are some 
> internal ODBC/mxODBC optimizations that allow fetchall to actually perform 
> much faster than several fetchone's.  My concern is that if fetchall 
> iterates through the result set to produce the list of rows and then I am 
> iterating through the fetched list then I can accomplish the same goal w/ 
> 1 less iteration via a series of fetchone's.  Also, I imagine it would be 
> safer to process each record individually then fetching the entire result 
> set at once in terms of system resource utilization (i.e. if the result 
> set were millions of records there would need to be data structs allocated 
> to hold them).  
> 
> I'm curious to see if my reluctance to use fetchall is well-founded or
> overly paranoid.

This is hard to tell: by using .fetchall() you save quite
a few Python function calls which are costly, .fetchone()
OTOH save memory. You might even be better off by using
.fetchmany() and process e.g. 10 rows at a time.

I'd suggest you write a short test script and time the results.

> Thanks for any info,

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 30 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-07-01: Released mxODBC.Zope.DA for FreeBSD             1.0.6 beta 1

From stuff@mailzilla.net  Wed Jul 30 21:51:22 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id 40C85F434
	for <egenix-users@lists.egenix.com>;
	Wed, 30 Jul 2003 21:51:22 +0200 (CEST)
Received: (qmail 2993 invoked by uid 511); 30 Jul 2003 19:51:21 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 30 Jul 2003 19:51:21 -0000
Date: Wed, 30 Jul 2003 12:51:21 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
 question
In-Reply-To: <3F281786.2050202@lemburg.com>
Message-ID: <Pine.LNX.4.44.0307301239160.1425-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 19:51:23 -0000


Thanks Marc-Andre, Steve and Jim for the quick responses to my questions.

I guess I shouldn't be too surprised that MS doesn't provide a mechanism
for retrieving the number of rows but it is rather comical that they do
provide 2 distinct values which you can at least (hopefully, correctly)  
infer that there are 0 rows that match -or- at least 1 row that matches.  
You'd think that they could go the proverbial extra mile and provide a
real value in the latter case, but then again, it would probably put a
huge load on SQL Server.  Cynicism of MS aside, at least I can safely test 
for the existence of data using cursor.rowcount != 0.

Interesting discussion about fetchone, fetchall and fetchmany.  Seems 
like fetchmany is the way to go if there is a large data set expectancy. 
For smaller datasets it's more of a grey area but I suppose fetchall is 
the easiest to implement.

If time permits I'll create a few test cases using all 3 methods to
retrieve small, medium and large rowsets with small, medium and large
column sets to see if I can make any general assumptions of which fetchXYZ 
method to use based on the dataset expectancy.

Thanks again for the replies,

Phil

On Wed, 30 Jul 2003, M.-A. Lemburg wrote:

> stuff@mailzilla.net wrote:
> > Hello,
> > 
> > When using mxODBC with the Windows SQL Server Driver I've noticed that 
> > when performing a query with executedirect the cursor object has a 
> > rowcount of -1 or 0 and nothing else.  I am using Python 2.2 and the 
> > mxODBC package that ships with BlackAdder.
> > 
> > -1 seems to be the initial value of rowcount before queries are performed
> > but I'm unsure as to why this would remain the value after a query
> > considering that the count should be >= 0, at least fundamentally.  In my
> > tests I have only seen values of 0 (when there are no records) and -1 when
> > there are some records-- in these cases, I am expecting this to be a
> > positive value representing the number of records that matched the query.  
> 
> -1 means "no information available".
> 
> > If I do a fetch operation (i.e. fetchone) on the cursor that has a 
> > rowcount of -1 I do indeed retrieve records.  There seems to be a 
> > disconnect between rowcount and being able to fetch records.
> > 
> > Is SQL Server/ODBC sending over misleading info or is this a problem with 
> > mxODBC?
> 
> It's a general problem with the ODBC driver you are using. MS Access
> has similar problems. Both seem to not know how many rows there
> actually are in the result set until you try to fetch them all.
> 
> Some ODBC drivers update the .rowcount information after the first
> fetch which is why mxODBC tries hard to update the information
> (it does so each time you request .rowcount until something
> other than -1 is returned).
> 
> > I generally use rowcount to determine whether I need to retreive 
> > records using fetchone inside a while loop (no need to execute the loop 
> > if rowcount is 0).  It's a little cleaner if I can reliably use rowcount 
> > but if the value doesn't sync with the actual result set then I can safely 
> > do something like this:
> > 
> > while 1:
> >    row = c.fetchone()
> >    if not row: break
> >    processTheRecord(row)
> > 
> > If rowcount can be relied upon, I could do this, which is much cleaner:
> > 
> > for i in range(c.rowcount):
> >    row = c.fetchone
> >    processTheRecord(row)
> 
> True. In this case, however, you will have to complain to
> Microsoft for not providing the necessary information to the
> application using their ODBC driver :-/
> 
> > Performance question- Since I need to perform some manipulation on each 
> > record I believe it is more efficient to perform a while loop and 
> > fetchone rather than getting everything via fetchall and then iterating 
> > over that result (since theoretically, fetchall would be iterating to get 
> > each record so technically speaking that would require iterating twice).  
> > If this assumption is false, please let me know.  Perhaps there are some 
> > internal ODBC/mxODBC optimizations that allow fetchall to actually perform 
> > much faster than several fetchone's.  My concern is that if fetchall 
> > iterates through the result set to produce the list of rows and then I am 
> > iterating through the fetched list then I can accomplish the same goal w/ 
> > 1 less iteration via a series of fetchone's.  Also, I imagine it would be 
> > safer to process each record individually then fetching the entire result 
> > set at once in terms of system resource utilization (i.e. if the result 
> > set were millions of records there would need to be data structs allocated 
> > to hold them).  
> > 
> > I'm curious to see if my reluctance to use fetchall is well-founded or
> > overly paranoid.
> 
> This is hard to tell: by using .fetchall() you save quite
> a few Python function calls which are costly, .fetchone()
> OTOH save memory. You might even be better off by using
> .fetchmany() and process e.g. 10 rows at a time.
> 
> I'd suggest you write a short test script and time the results.
> 
> > Thanks for any info,
> 
> 


From tim.golden@viacom-outdoor.co.uk  Thu Jul 31 11:46:33 2003
Return-Path: <tim.golden@viacom-outdoor.co.uk>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mail22.messagelabs.com (mail22.messagelabs.com
	[193.109.255.115])
	by mail.egenix.com (Postfix) with SMTP id 205571B43F
	for <egenix-users@lists.egenix.com>;
	Thu, 31 Jul 2003 11:46:33 +0200 (CEST)
X-VirusChecked: Checked
X-Env-Sender: tim.golden@viacom-outdoor.co.uk
X-Msg-Ref: server-14.tower-22.messagelabs.com!1059644791!114630
X-StarScan-Version: 5.0.7; banners=viacom-outdoor.co.uk,-,-
Received: (qmail 11099 invoked from network); 31 Jul 2003 09:46:31 -0000
Received: from smtp-5.star.net.uk (212.125.75.74)
  by server-14.tower-22.messagelabs.com with SMTP; 31 Jul 2003 09:46:31 -0000
Received: (qmail 30837 invoked from network); 31 Jul 2003 09:46:26 -0000
Received: from unallocated.star.net.uk (HELO tdi?nt9.tdi.co.uk) (62.173.94.27)
  by smtp-5.star.net.uk with SMTP; 31 Jul 2003 09:46:26 -0000
Received: by iron.ima.umn.edu with Internet Mail Service (5.5.2653.19)
	id <NN3AQ7P0>; Thu, 31 Jul 2003 10:41:41 +0100
Message-ID: <F1921F85572CB04D9F55B14BDC76B3E4434273@iron.ima.umn.edu>
From: Tim Golden <tim.golden@viacom-outdoor.co.uk>
To: egenix-users@lists.egenix.com
Subject: RE: [egenix-users] cursor.rowcount abnormalities and performance 
	question
Date: Thu, 31 Jul 2003 10:41:40 +0100
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 09:46:33 -0000

> From: stuff@mailzilla.net [mailto:stuff@mailzilla.net]
> I guess I shouldn't be too surprised that MS doesn't provide a mechanism
> for retrieving the number of rows but it is rather comical that they do
> provide 2 distinct values which you can at least (hopefully, correctly)  
> infer that there are 0 rows that match -or- at least 1 row that matches.  
> You'd think that they could go the proverbial extra mile and provide a
> real value in the latter case, but then again, it would probably put a
> huge load on SQL Server.  Cynicism of MS aside, at least I can safely test

> for the existence of data using cursor.rowcount != 0.

I haven't tried out the ODBC issues discussed 
 in this thread already, but just for the record,
 SQL Server *itself* does provide a rowcount so if I do
 something like this in Query Analyzer:

<code>
SELECT client_code
FROM clients
WHERE client_code BETWEEN 1000200 AND 1000205

SELECT @@ROWCOUNT
</code>

I get this:

<results>
client_code 
----------- 
1000200
1000201
1000202
1000203
1000204
1000205

(6 row(s) affected)
           
----------- 
6

(1 row(s) affected)
</results> 

and if I do the same thing using Dave Cole's MSSQL module:

<code>

Python 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MSSQL
>>> db = MSSQL.connect ("VODEV1", "", "", "DEV")
>>> q = db.cursor ()
>>> q.execute ("SELECT client_code FROM clients WHERE client_code BETWEEN
1000200 AND 1000210")
>>> q.rowcount
-1
>>> y = db.cursor ()
>>> y.execute ("SELECT @@ROWCOUNT")
>>> y.fetchone ()
(11,)
>>> q.rowcount
-1
>>> rows = q.fetchone ()
>>> q.rowcount
-1
>>> rows = q.fetchall ()
>>> q.rowcount
-1

</code>

Don't know if that helps, but it was fun finding out.

TJG

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
From fuf@mageo.cz  Thu Jul 31 11:56:03 2003
Return-Path: <fuf@mageo.cz>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from interactive-1.com (interactive-1.com [193.85.232.82])
	by mail.egenix.com (Postfix) with SMTP id 46CD21BA51
	for <egenix-users@lists.egenix.com>;
	Thu, 31 Jul 2003 11:56:03 +0200 (CEST)
Received: (qmail 464 invoked from network); 31 Jul 2003 09:45:40 -0000
Received: from unknown (HELO foof.i3.cz) (194.213.62.11)
  by interactive-1.com with SMTP; 31 Jul 2003 09:45:40 -0000
Received: from foof.i3.cz (localhost [127.0.0.1])
	by foof.i3.cz (8.12.9/8.12.9) with ESMTP id h6V9tv1Q016477
	for <egenix-users@lists.egenix.com>; Thu, 31 Jul 2003 11:55:57 +0200
Received: (from fuf@localhost)
	by foof.i3.cz (8.12.9/8.12.3/Submit) id h6V9tvHe016476
	for egenix-users@lists.egenix.com; Thu, 31 Jul 2003 11:55:57 +0200
Date: Thu, 31 Jul 2003 11:55:57 +0200
From: Michal Vitecek <fuf@mageo.cz>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
	question
Message-ID: <20030731095557.GA16439@foof.i3.cz>
Mail-Followup-To: Michal Vitecek <fuf@mageo.cz>,
	egenix-users@lists.egenix.com
References: <F1921F85572CB04D9F55B14BDC76B3E4434273@iron.ima.umn.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <F1921F85572CB04D9F55B14BDC76B3E4434273@iron.ima.umn.edu>
User-Agent: Mutt/1.4i
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 09:56:03 -0000

Tim Golden wrote:
>I haven't tried out the ODBC issues discussed 
> in this thread already, but just for the record,
> SQL Server *itself* does provide a rowcount so if I do
> something like this in Query Analyzer:
>
><code>
>SELECT client_code
>FROM clients
>WHERE client_code BETWEEN 1000200 AND 1000205
>
>SELECT @@ROWCOUNT
></code>

 the same works for Sybase ASE as MSSQL is based on it. perhaps mxODBC
 should take that into account and fetch value of @@rowcount prior to
 returning the control to the user?

-- 
		fuf		(fuf@mageo.cz)
From mal@lemburg.com  Thu Jul 31 12:53:46 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 0E7941BA50; Thu, 31 Jul 2003 12:53:46 +0200 (CEST)
Message-ID: <3F28F6F6.2000904@lemburg.com>
Date: Thu, 31 Jul 2003 13:01:10 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michal Vitecek <fuf@mageo.cz>
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
 question
References: <F1921F85572CB04D9F55B14BDC76B3E4434273@iron.ima.umn.edu>
	<20030731095557.GA16439@foof.i3.cz>
In-Reply-To: <20030731095557.GA16439@foof.i3.cz>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 10:53:46 -0000

Michal Vitecek wrote:
> Tim Golden wrote:
> 
>>I haven't tried out the ODBC issues discussed 
>>in this thread already, but just for the record,
>>SQL Server *itself* does provide a rowcount so if I do
>>something like this in Query Analyzer:
>>
>><code>
>>SELECT client_code
> 
>>FROM clients
> 
>>WHERE client_code BETWEEN 1000200 AND 1000205
>>
>>SELECT @@ROWCOUNT
>></code>
> 
>  the same works for Sybase ASE as MSSQL is based on it. perhaps mxODBC
>  should take that into account and fetch value of @@rowcount prior to
>  returning the control to the user?

If cursor.execute('SELECT @@ROWCOUNT') works on all MS Server
versions out there, no problem. But if it's really that easy to
fetch the value I wonder why MS didn't put the same logic into
their ODBC drivers... I presume that this operation is
rather costly.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Jul 31 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From Paul.Moore@atosorigin.com  Thu Jul 31 13:02:10 2003
Return-Path: <Paul.Moore@atosorigin.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mail.uk.atosorigin.com (mail.uk.atosorigin.com [195.8.190.165])
	by mail.egenix.com (Postfix) with ESMTP id A62FD1BA83
	for <egenix-users@lists.egenix.com>;
	Thu, 31 Jul 2003 13:02:10 +0200 (CEST)
Received: from UKDCR003.uk.int.atosorigin.com ([172.16.201.65]) by
	mail.uk.atosorigin.com with Microsoft SMTPSVC(5.0.2195.5329);
	Thu, 31 Jul 2003 12:05:07 +0100
Received: From UKDCX001.uk.int.atosorigin.com ([172.16.244.180]) by
	UKDCR003.uk.int.atosorigin.com (WebShield SMTP v4.5 MR1a);
	id 1059649287537; Thu, 31 Jul 2003 12:01:27 +0100
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
content-class: urn:content-classes:message
Subject: RE: [egenix-users] cursor.rowcount abnormalities and performance
	question
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Date: Thu, 31 Jul 2003 12:01:27 +0100
Message-ID: <16E1010E4581B049ABC51D4975CEDB8802C09654@UKDCX001.uk.int.atosorigin.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [egenix-users] cursor.rowcount abnormalities and performance
	question
Thread-Index: AcNXUe8/Ozlr2sa5RKKTYReL2yf+AgAAJfBQ
From: "Moore, Paul" <Paul.Moore@atosorigin.com>
To: <egenix-users@lists.egenix.com>
X-OriginalArrivalTime: 31 Jul 2003 11:05:07.0781 (UTC)
	FILETIME=[9A389F50:01C35753]
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 11:02:10 -0000

From: M.-A. Lemburg [mailto:mal@lemburg.com]
> If cursor.execute('SELECT @@ROWCOUNT') works on all MS Server
> versions out there, no problem. But if it's really that easy to
> fetch the value I wonder why MS didn't put the same logic into their
> ODBC drivers... I presume that this operation is rather costly.

I don't know about MS, but under Oracle (where "SELECT @@ROWCOUNT"
definitely doesn't work, but there are equivalents) getting the
rowcount is *extremely* costly compared to just fetching the first
row. Imagine a 10 million row table. You can get the first row just by
a single read, but to count the number of rows, you have to read the
whole table before returning the first row.

(OK, a full table read is simple - imagine there was a condition on an
unindexed column...)

Paul.
From fuf@mageo.cz  Thu Jul 31 14:07:40 2003
Return-Path: <fuf@mageo.cz>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from interactive-1.com (interactive-1.com [193.85.232.82])
	by mail.egenix.com (Postfix) with SMTP id CA4B7F434
	for <egenix-users@lists.egenix.com>;
	Thu, 31 Jul 2003 14:07:39 +0200 (CEST)
Received: (qmail 4216 invoked from network); 31 Jul 2003 11:57:16 -0000
Received: from unknown (HELO foof.i3.cz) (194.213.62.11)
  by interactive-1.com with SMTP; 31 Jul 2003 11:57:16 -0000
Received: from foof.i3.cz (localhost [127.0.0.1])
	by foof.i3.cz (8.12.9/8.12.9) with ESMTP id h6VC7c1Q018183
	for <egenix-users@lists.egenix.com>; Thu, 31 Jul 2003 14:07:38 +0200
Received: (from fuf@localhost)
	by foof.i3.cz (8.12.9/8.12.3/Submit) id h6VC7c7c018182
	for egenix-users@lists.egenix.com; Thu, 31 Jul 2003 14:07:38 +0200
Date: Thu, 31 Jul 2003 14:07:38 +0200
From: Michal Vitecek <fuf@mageo.cz>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
	question
Message-ID: <20030731120738.GA18162@foof.i3.cz>
Mail-Followup-To: Michal Vitecek <fuf@mageo.cz>,
	egenix-users@lists.egenix.com
References: <F1921F85572CB04D9F55B14BDC76B3E4434273@iron.ima.umn.edu>
	<20030731095557.GA16439@foof.i3.cz> <3F28F6F6.2000904@lemburg.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3F28F6F6.2000904@lemburg.com>
User-Agent: Mutt/1.4i
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 12:07:40 -0000

M.-A. Lemburg wrote:
>If cursor.execute('SELECT @@ROWCOUNT') works on all MS Server
>versions out there, no problem. But if it's really that easy to
>fetch the value I wonder why MS didn't put the same logic into
>their ODBC drivers... I presume that this operation is
>rather costly.

 they took the logic from Sybase ASE which does some things quite
 differently from other relational databases. however @@rowcount is a
 variable that is local to a connection so imho reading from it won't be
 that expensive. a benchmark should be the decisive thing. 

-- 
		fuf		(fuf@mageo.cz)
From fuf@mageo.cz  Thu Jul 31 14:10:53 2003
Return-Path: <fuf@mageo.cz>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from interactive-1.com (interactive-1.com [193.85.232.82])
	by mail.egenix.com (Postfix) with SMTP id 9830E1BA7F
	for <egenix-users@lists.egenix.com>;
	Thu, 31 Jul 2003 14:10:53 +0200 (CEST)
Received: (qmail 4329 invoked from network); 31 Jul 2003 12:00:30 -0000
Received: from unknown (HELO foof.i3.cz) (194.213.62.11)
  by interactive-1.com with SMTP; 31 Jul 2003 12:00:30 -0000
Received: from foof.i3.cz (localhost [127.0.0.1])
	by foof.i3.cz (8.12.9/8.12.9) with ESMTP id h6VCAV1Q018225
	for <egenix-users@lists.egenix.com>; Thu, 31 Jul 2003 14:10:31 +0200
Received: (from fuf@localhost)
	by foof.i3.cz (8.12.9/8.12.3/Submit) id h6VCAVSj018224
	for egenix-users@lists.egenix.com; Thu, 31 Jul 2003 14:10:31 +0200
Date: Thu, 31 Jul 2003 14:10:31 +0200
From: Michal Vitecek <fuf@mageo.cz>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] cursor.rowcount abnormalities and performance
	question
Message-ID: <20030731121031.GB18162@foof.i3.cz>
Mail-Followup-To: Michal Vitecek <fuf@mageo.cz>,
	egenix-users@lists.egenix.com
References: <16E1010E4581B049ABC51D4975CEDB8802C09654@UKDCX001.uk.int.atosorigin.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <16E1010E4581B049ABC51D4975CEDB8802C09654@UKDCX001.uk.int.atosorigin.com>
User-Agent: Mutt/1.4i
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Jul 2003 12:10:53 -0000

Moore, Paul wrote:
>I don't know about MS, but under Oracle (where "SELECT @@ROWCOUNT"
>definitely doesn't work, but there are equivalents) getting the
>rowcount is *extremely* costly compared to just fetching the first
>row. Imagine a 10 million row table. You can get the first row just by
>a single read, but to count the number of rows, you have to read the
>whole table before returning the first row.

 if you meant SELECT COUNT(*) as synonym to @@rowcount then you are on a
 wrong track. @@rowcount is a variable which is filled every time you do
 a SELECT so the overhead should be imho minimal.

-- 
		fuf		(fuf@mageo.cz)
From stuff@mailzilla.net  Mon Aug  4 23:56:00 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id BDC0636BA6
	for <egenix-users@lists.egenix.com>;
	Mon,  4 Aug 2003 23:55:59 +0200 (CEST)
Received: (qmail 32500 invoked by uid 511); 4 Aug 2003 20:59:59 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 4 Aug 2003 20:59:59 -0000
Date: Mon, 4 Aug 2003 13:59:59 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: egenix-users@lists.egenix.com
In-Reply-To: <20030731120738.GA18162@foof.i3.cz>
Message-ID: <Pine.LNX.4.44.0308041349030.29228-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] column names ?
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 04 Aug 2003 21:56:00 -0000


Is there a way, via mxODBC to obtain the column names for a particular 
query.  For example,

c = db.cursor()

sql = "SELECT * FROM foo"
c.execute(sql)


I've tried c.columns()  (before and after a fetchone()) but that always 
yields -1 (at least when connected to SQL Server).  

c.colcount seems to return the correct number of columns, so that could be
useful.  Is there a way to map the column name to a column number.  That
is, if I have a colcount of 10, how can I determine the name of column 4?

I suspect the answer is "no" considering that the pretty_print mx.ODBC 
method seems to be unaware of the column names (at least according to the 
mxODBC examples on the web site).

Thanks for any info,

Phil


From jgv-work@earthlink.net  Tue Aug  5 00:03:52 2003
Return-Path: <jgv-work@earthlink.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from puffin.mail.pas.earthlink.net (puffin.mail.pas.earthlink.net
	[207.217.120.139])
	by mail.egenix.com (Postfix) with ESMTP id 6B5341BADA
	for <egenix-users@lists.egenix.com>;
	Tue,  5 Aug 2003 00:03:52 +0200 (CEST)
Received: from dialup-209.244.77.122.dial1.denver1.level3.net
	([209.244.77.122] helo=QUESTAR)
	by puffin.mail.pas.earthlink.net with asmtp (Exim 3.33 #1)
	id 19jnQf-0003tB-00; Mon, 04 Aug 2003 15:03:46 -0700
Message-ID: <006a01c35ad4$46a74600$7a4df4d1@QUESTAR>
From: "j vickroy" <jgv-work@earthlink.net>
To: <stuff@mailzilla.net>, <egenix-users@lists.egenix.com>
References: <Pine.LNX.4.44.0308041349030.29228-100000@nonpoint>
Subject: Re: [egenix-users] column names ?
Date: Mon, 4 Aug 2003 16:03:42 -0600
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
X-ELNK-Trace: 8bac3545bdc331951aa676d7e74259b7b3291a7d08dfec79c12534656c257c80f1f522a55ba360c3350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 04 Aug 2003 22:03:53 -0000

Hello Phil,

After a query retrieval (e.g., cursor.fetchall()) look at the
cursor.description attribute.  In particular, element zero of  each tuple,
that is cursor.description, should contain the column name.



----- Original Message ----- 
From: <stuff@mailzilla.net>
To: <egenix-users@lists.egenix.com>
Sent: Monday, 04 August, 2003 14:59
Subject: [egenix-users] column names ?


>
> Is there a way, via mxODBC to obtain the column names for a particular
> query.  For example,
>
> c = db.cursor()
>
> sql = "SELECT * FROM foo"
> c.execute(sql)
>
>
> I've tried c.columns()  (before and after a fetchone()) but that always
> yields -1 (at least when connected to SQL Server).
>
> c.colcount seems to return the correct number of columns, so that could be
> useful.  Is there a way to map the column name to a column number.  That
> is, if I have a colcount of 10, how can I determine the name of column 4?
>
> I suspect the answer is "no" considering that the pretty_print mx.ODBC
> method seems to be unaware of the column names (at least according to the
> mxODBC examples on the web site).
>
> Thanks for any info,
>
> Phil
>
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

From stuff@mailzilla.net  Tue Aug  5 00:10:10 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id 4B1DF1BA6C
	for <egenix-users@lists.egenix.com>;
	Tue,  5 Aug 2003 00:10:09 +0200 (CEST)
Received: (qmail 27460 invoked by uid 511); 4 Aug 2003 22:10:08 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 4 Aug 2003 22:10:08 -0000
Date: Mon, 4 Aug 2003 15:10:08 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: j vickroy <jgv-work@earthlink.net>
Subject: Re: [egenix-users] column names ?
In-Reply-To: <006a01c35ad4$46a74600$7a4df4d1@QUESTAR>
Message-ID: <Pine.LNX.4.44.0308041509150.27178-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 04 Aug 2003 22:10:10 -0000


Thanks for the quick reply.  That did the trick.  Funny, I was printing 
the entire description tuple and missing the column name entirely and just 
assumed it wasn't in there.  My bad.

Thanks again,

Phil

On Mon, 4 Aug 2003, j vickroy wrote:

> Hello Phil,
> 
> After a query retrieval (e.g., cursor.fetchall()) look at the
> cursor.description attribute.  In particular, element zero of  each tuple,
> that is cursor.description, should contain the column name.
> 
> 
> 
> ----- Original Message ----- 
> From: <stuff@mailzilla.net>
> To: <egenix-users@lists.egenix.com>
> Sent: Monday, 04 August, 2003 14:59
> Subject: [egenix-users] column names ?
> 
> 
> >
> > Is there a way, via mxODBC to obtain the column names for a particular
> > query.  For example,
> >
> > c = db.cursor()
> >
> > sql = "SELECT * FROM foo"
> > c.execute(sql)
> >
> >
> > I've tried c.columns()  (before and after a fetchone()) but that always
> > yields -1 (at least when connected to SQL Server).
> >
> > c.colcount seems to return the correct number of columns, so that could be
> > useful.  Is there a way to map the column name to a column number.  That
> > is, if I have a colcount of 10, how can I determine the name of column 4?
> >
> > I suspect the answer is "no" considering that the pretty_print mx.ODBC
> > method seems to be unaware of the column names (at least according to the
> > mxODBC examples on the web site).
> >
> > Thanks for any info,
> >
> > Phil
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
> 

From sholden@holdenweb.com  Tue Aug  5 00:32:25 2003
Return-Path: <sholden@holdenweb.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lakemtao03.cox.net (lakemtao03.cox.net [68.1.17.242])
	by mail.egenix.com (Postfix) with ESMTP id 474131B441
	for <egenix-users@lists.egenix.com>;
	Tue,  5 Aug 2003 00:32:25 +0200 (CEST)
Received: from COMPUTER ([68.98.130.206]) by lakemtao03.cox.net
          (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with SMTP
          id <20030804223223.NESB23518.lakemtao03.cox.net@COMPUTER>;
          Mon, 4 Aug 2003 18:32:23 -0400
From: "Steve Holden" <sholden@holdenweb.com>
To: <stuff@mailzilla.net>, <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] column names ?
Date: Mon, 4 Aug 2003 18:31:50 -0400
Message-ID: <CGECIJPNNHIFAJKHOLMAAECNENAA.sholden@holdenweb.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
In-Reply-To: <Pine.LNX.4.44.0308041349030.29228-100000@nonpoint>
Importance: Normal
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: sholden@holdenweb.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 04 Aug 2003 22:32:26 -0000

> -----Original Message-----
> From: egenix-users-bounces@lists.egenix.com
> [mailto:egenix-users-bounces@lists.egenix.com]On Behalf Of
> stuff@mailzilla.net
> Sent: Monday, August 04, 2003 5:00 PM
> To: egenix-users@lists.egenix.com
> Subject: [egenix-users] column names ?
> 
> 
> 
> Is there a way, via mxODBC to obtain the column names for a 
> particular 
> query.  For example,
> 
> c = db.cursor()
> 
> sql = "SELECT * FROM foo"
> c.execute(sql)
> 
> 
> I've tried c.columns()  (before and after a fetchone()) but 
> that always 
> yields -1 (at least when connected to SQL Server).  
> 
> c.colcount seems to return the correct number of columns, so 
> that could be
> useful.  Is there a way to map the column name to a column 
> number.  That
> is, if I have a colcount of 10, how can I determine the name 
> of column 4?
> 
> I suspect the answer is "no" considering that the 
> pretty_print mx.ODBC 
> method seems to be unaware of the column names (at least 
> according to the 
> mxODBC examples on the web site).
> 
> Thanks for any info,
> 
You'll see how to do that if you take a look at

	http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/81189

it uses the "description" attribute of the cursor.

regards
-- 
Steve Holden                                 http://www.holdenweb.com/
Python Web Programming                http://pydish.holdenweb.com/pwp/




From mal@lemburg.com  Tue Aug  5 09:29:44 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id D52751BAA4; Tue,  5 Aug 2003 09:29:42 +0200 (CEST)
Message-ID: <3F2F5CE8.9000906@lemburg.com>
Date: Tue, 05 Aug 2003 09:29:44 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: stuff@mailzilla.net
Subject: Re: [egenix-users] column names ?
References: <Pine.LNX.4.44.0308041349030.29228-100000@nonpoint>
In-Reply-To: <Pine.LNX.4.44.0308041349030.29228-100000@nonpoint>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 05 Aug 2003 07:29:58 -0000

stuff@mailzilla.net wrote:
> Is there a way, via mxODBC to obtain the column names for a particular 
> query.  For example,
> 
> c = db.cursor()
> 
> sql = "SELECT * FROM foo"
> c.execute(sql)
> 
> 
> I've tried c.columns()  (before and after a fetchone()) but that always 
> yields -1 (at least when connected to SQL Server).  

That's because .columns() generates a result set:

c.columns(table="foo")
print c.fetchall()

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 05 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From sholden@holdenweb.com  Sat Aug  9 00:21:27 2003
Return-Path: <sholden@holdenweb.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lakemtao01.cox.net (lakemtao01.cox.net [68.1.17.244])
	by mail.egenix.com (Postfix) with ESMTP id 8A2B22032
	for <egenix-users@lists.egenix.com>;
	Sat,  9 Aug 2003 00:21:26 +0200 (CEST)
Received: from COMPUTER ([68.98.130.206]) by lakemtao01.cox.net
          (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with SMTP
          id <20030808222126.JWNW7142.lakemtao01.cox.net@COMPUTER>
          for <egenix-users@lists.egenix.com>;
          Fri, 8 Aug 2003 18:21:26 -0400
From: "Steve Holden" <sholden@holdenweb.com>
To: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
Date: Fri, 8 Aug 2003 18:20:32 -0400
Message-ID: <CGECIJPNNHIFAJKHOLMAIEKIEOAA.sholden@holdenweb.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Importance: Normal
Subject: [egenix-users] mx.DateTime: Truncating fractional seconds
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: sholden@holdenweb.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 08 Aug 2003 22:21:27 -0000

I've found that a number of platforms (Access, MS SQL Server) don't
appear to like the fractional seconds part of a DateTime. The resulting
warning messages are a little tedious (though I realise I *could*
suppress them with the warnings module).

It's possible (though rather tedious) to reconstruct the object from its
component attributes and truncate the seconds while so doing. I just
wondered if anyone could think of a simpler way. I have this nagging
feeling I'm overlooking the stunningly obvious.

regards
--
Steve Holden                                 http://www.holdenweb.com/
Python Web Programming                http://pydish.holdenweb.com/pwp/



From mal@lemburg.com  Sat Aug  9 10:44:53 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id BAD35350FD; Sat,  9 Aug 2003 10:44:53 +0200 (CEST)
Message-ID: <3F34B484.8040404@lemburg.com>
Date: Sat, 09 Aug 2003 10:44:52 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sholden@holdenweb.com
Subject: Re: [egenix-users] mx.DateTime: Truncating fractional seconds
References: <CGECIJPNNHIFAJKHOLMAIEKIEOAA.sholden@holdenweb.com>
In-Reply-To: <CGECIJPNNHIFAJKHOLMAIEKIEOAA.sholden@holdenweb.com>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sat, 09 Aug 2003 08:44:55 -0000

Steve Holden wrote:
> I've found that a number of platforms (Access, MS SQL Server) don't
> appear to like the fractional seconds part of a DateTime. The resulting
> warning messages are a little tedious (though I realise I *could*
> suppress them with the warnings module).
> 
> It's possible (though rather tedious) to reconstruct the object from its
> component attributes and truncate the seconds while so doing. I just
> wondered if anyone could think of a simpler way. I have this nagging
> feeling I'm overlooking the stunningly obvious.

I'm not sure what you mean. If it's the warnings that you get in
Python 2.3 from the time module functions if you pass in the
.tuple() value due to mxDateTime representing the seconds as
float, then this problem will be gone in 2.1.0 final (I decided
to make seconds in the .tuple() output an integer; the float
value is still available through the .seconds attribute).

If you're talking about the str() representation which includes
fractions, then the easiest way to get rid off the fractions
is use .strftime() which doesn't handle fractions of a second
by nature :-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 09 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From wade@lightlink.com  Sat Aug  9 14:37:20 2003
Return-Path: <wade@lightlink.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from emerald.lightlink.com (emerald.lightlink.com [205.232.34.14])
	by mail.egenix.com (Postfix) with ESMTP id D13DB37140
	for <egenix-users@lists.egenix.com>;
	Sat,  9 Aug 2003 14:37:19 +0200 (CEST)
Received: from 192.168.0.7 (syr-24-92-234-164.twcny.rr.com [24.92.234.164])
	by emerald.lightlink.com (8.9.3p2/8.8.8) with ESMTP id IAA16102;
	Sat, 9 Aug 2003 08:37:18 -0400
From: Wade Leftwich <wade@lightlink.com>
To: egenix-users@lists.egenix.com
Subject: [egenix-users] mx.DateTime: Truncating fractional seconds
Date: Sat, 9 Aug 2003 08:24:03 -0400
User-Agent: KMail/1.5.3
MIME-Version: 1.0
Content-Disposition: inline
Message-Id: <200308090819.41574.wade@lightlink.com>
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
cc: sholden@holdenweb.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sat, 09 Aug 2003 12:37:20 -0000

Steve Holden wrote:
> I've found that a number of platforms (Access, MS SQL Server) don't
> appear to like the fractional seconds part of a DateTime. The resulting
> warning messages are a little tedious (though I realise I *could*
> suppress them with the warnings module).
> 
> It's possible (though rather tedious) to reconstruct the object from its
> component attributes and truncate the seconds while so doing. I just
> wondered if anyone could think of a simpler way. I have this nagging
> feeling I'm overlooking the stunningly obvious.


On Win2K and SqlServer2000, I use int(myDateTimeObject) without problems:

cursor.execute("insert into myTable (myDateTimeColumn) values (?)", 
(int(myDateTimeObject),))

Not *stunningly* obvious, but ...

-- Wade Leftwich
Ithaca, NY



From mal@lemburg.com  Sat Aug  9 17:14:05 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id A6783350FB; Sat,  9 Aug 2003 17:14:05 +0200 (CEST)
Message-ID: <3F350FBD.5010900@lemburg.com>
Date: Sat, 09 Aug 2003 17:14:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sholden@holdenweb.com
Subject: Re: [egenix-users] mx.DateTime: Truncating fractional seconds
References: <CGECIJPNNHIFAJKHOLMAKENHEOAA.sholden@holdenweb.com>
In-Reply-To: <CGECIJPNNHIFAJKHOLMAKENHEOAA.sholden@holdenweb.com>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sat, 09 Aug 2003 15:14:06 -0000

[put the list back on CC since I believe this is of interest
  to others as well]

Steve Holden wrote:
>>I'm not sure what you mean. If it's the warnings that you get in
>>Python 2.3 from the time module functions if you pass in the
>>.tuple() value due to mxDateTime representing the seconds as
>>float, then this problem will be gone in 2.1.0 final (I decided
>>to make seconds in the .tuple() output an integer; the float
>>value is still available through the .seconds attribute).
>>
>>If you're talking about the str() representation which includes
>>fractions, then the easiest way to get rid off the fractions
>>is use .strftime() which doesn't handle fractions of a second
>>by nature :-)
> 
> I'm actually talking about using a DateTime object as a parameter for
> inserting into an Access Date column, specifically in this case under
> Python 2.2.x:

Ah, ok. AFAIR, Access tells mxODBC to send the date as string
and since mxDateTime instances generate seconds with fractions
which Access doesn't support, you get the warning.

This simple trick should work:

def AccessDateTime(dt):
     # cut away the seconds fraction part
     return str(dt)[:-3]
curs.execute(stmt, (AccessDateTime(now()),)

> $ python
> Python 2.2.3 (#1, Jun 19 2003, 12:10:13)
> [GCC 3.2 20020927 (prerelease)] on cygwin
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>import mx.ODBC.Windows as db
>>>>conn = db.connect("billing")
>>>>curs = conn.cursor()
>>>>from mx.DateTime import now, DateTime
>>>>curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
> 
> Started)"
> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> 125.0, ?)",
> ...              (now(), ))
> Traceback (most recent call last):
>   File "<stdin>", line 3, in ?
> mx.ODBC.Windows.Warning: ('01S07', 13, '[Microsoft][ODBC Microsoft
> Access Driver]Fractional truncation (null)', 5696)
> 
>>>>n = now()
>>>>curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
> 
> Started)"
> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> 125.0, ?)",
> ...              (DateTime(n.year, n.month, n.day, n.hour, n.minute,
> int(n.second)), ))
> 1
> 
> Unfortunately I'd already tried Wade's int() trick on the whole date,
> without success in Access, I'm afraid, so it's interesting to know it
> works with MS SQL Server:
> 
> 
>>>>curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
> 
> Started)"
> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> 125.0, ?)",
> ...             (int(n), ))
> Traceback (most recent call last):
>   File "<stdin>", line 3, in ?
> mx.ODBC.Windows.DataError: ('22003', 34, '[Microsoft][ODBC Microsoft
> Access Driver]Numeric value out of range (null)', 5696)
> 
> Maybe the DateTime.__int__() method could be defined in some helpful way
> here?

int(datetime) returns the Unix ticks value for the datetime
you pass in. It is not meant to be used in this context.
The idea is that you can pass DateTime instances to other
functions which expect a Unix ticks integer.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 09 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From mal@lemburg.com  Sat Aug  9 23:27:12 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id A5F47371A9; Sat,  9 Aug 2003 23:27:12 +0200 (CEST)
Message-ID: <3F356731.3030509@lemburg.com>
Date: Sat, 09 Aug 2003 23:27:13 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] eGenix mx Extensions for Python 2.3 (pre-release)
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sat, 09 Aug 2003 21:27:14 -0000

Hi everybody,

eGenix is releasing updated versions of the eGenix mx Extensions for
Python 2.3 next week. As special bonus we are releasing them here
a few days before the final announcement.

Please note that we have only upgraded parts from the current
versions that needed tweaking for compilation under Python 2.3, so
you basically only need to upgrade if you are focussing on
Python 2.3 (which you should since it is much faster than all
previous Python versions).

We've also upgraded the egenix-mx-base-2.1.0 source code
snapshot so that it properly compiles on Windows with Python
2.3:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0-2003-08-09.zip

Here are the download links for the upgraded 2.0.x versions (supporting
5 different Python versions is starting to become a rather verbose
task :-):

http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.3_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-py2.3_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-pydev_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5-pydev_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.win32-py2.3.exe
http://www.egenix.com/files/python/egenix-mx-base-2.0.5.zip

http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.3_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-py2.3_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-pydev_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6-pydev_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.tar.gz
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.win32-py2.3.exe
http://www.egenix.com/files/python/egenix-mx-commercial-2.0.6.zip

http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.3_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-py2.3_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-pydev_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0-pydev_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.tar.gz
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.win32-py2.3.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.zip

Enjoy !
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 09 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From Jerry@Westrick.Com  Sun Aug 10 11:36:39 2003
Return-Path: <Jerry@Westrick.Com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from hedwig.iticom.net (owlsnest.iticom.net [64.127.64.16])
	by mail.egenix.com (Postfix) with SMTP id A6BE7350DB
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 11:36:38 +0200 (CEST)
Received: (qmail 19818 invoked by uid 0); 10 Aug 2003 09:36:35 -0000
Received: from unknown (HELO kramer.iticom.net) (64.127.64.12)
  by owlsnest.iticom.net with SMTP; 10 Aug 2003 09:36:35 -0000
Received: (qmail 11437 invoked by uid 0); 10 Aug 2003 09:36:35 -0000
Received: from unknown (HELO cable-ggar40-125.intergga.ch) (157.161.40.125)
  by pop.westrick.com with SMTP; 10 Aug 2003 09:36:35 -0000
From: Jerry Westrick <Jerry@Westrick.Com>
To: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
Content-Type: text/plain
Organization: 
Message-Id: <1060508280.24083.67.camel@jerry.westrick.local>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.3 
Date: 10 Aug 2003 11:38:00 +0200
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Converting ZQL method return value to dictionary
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Jerry@Westrick.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 09:36:39 -0000

Hello:

I'm not sure if this is the right list, if not sorry.

I'm trying to convert the result of a Zql method into a dictionary.
the code I'm using is: 

# Get User Info
for row in context.Get_UserInfo(user=request.AUTHENTICATED_USER):
    values['user'] = row

The Get_UserInfo is a Z SQL Method, returning a single row
from a mxODBC conneciton.

when I executed the following lines: 

print values['user'] 
return printed


I get 

<r instance at 8d8f130>

I would to convert this r instance to a dictionary, so I can add/modify
 values in it like the following:

values['user']['justforfun'] = 'Additional info not from select!'

which at the moment gives me:

Error Type: TypeError
Error Value: object does not support item or slice assignment



Now to my questions:
1) the class "r", is it a Zope thingy or a mxODBC thingy?
2) is there a mothod to do what I need?


Than you for your time...
Jerry

P.S.  There are other dictionary functions not support by this "R"
instance that I would like to use also...





From mal@lemburg.com  Sun Aug 10 11:49:04 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 6954B11346; Sun, 10 Aug 2003 11:49:04 +0200 (CEST)
Message-ID: <3F361511.4090700@lemburg.com>
Date: Sun, 10 Aug 2003 11:49:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jerry@Westrick.com
Subject: Re: [egenix-users] Converting ZQL method return value to dictionary
References: <1060508280.24083.67.camel@jerry.westrick.local>
In-Reply-To: <1060508280.24083.67.camel@jerry.westrick.local>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 09:49:04 -0000

Jerry Westrick wrote:
> Hello:
> 
> I'm not sure if this is the right list, if not sorry.
> 
> I'm trying to convert the result of a Zql method into a dictionary.
> the code I'm using is: 
> 
> # Get User Info
> for row in context.Get_UserInfo(user=request.AUTHENTICATED_USER):
>     values['user'] = row
> 
> The Get_UserInfo is a Z SQL Method, returning a single row
> from a mxODBC conneciton.
> 
> when I executed the following lines: 
> 
> print values['user'] 
> return printed
> 
> I get 
> 
> <r instance at 8d8f130>
> 
> I would to convert this r instance to a dictionary, so I can add/modify
>  values in it like the following:
> 
> values['user']['justforfun'] = 'Additional info not from select!'
> 
> which at the moment gives me:
> 
> Error Type: TypeError
> Error Value: object does not support item or slice assignment
> 
> Now to my questions:
> 1) the class "r", is it a Zope thingy or a mxODBC thingy?

It's a Zope thingy. mxODBC wraps the results as Zope Results
instance which in return dynamically wraps rows as "r" instances
which are subclasses of the Zope Record type.

See lib/python/Shared/DC/ZRDB/Results.py for details.

> 2) is there a mothod to do what I need?

You should probably convert the r instance to a dictionary
and then use that. The r instance does not support the
full dictionary interface.

In any case, the zope-db mailing list will probably give you
better help.

> Than you for your time...
> Jerry
> 
> P.S.  There are other dictionary functions not support by this "R"
> instance that I would like to use also...

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 10 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From Jerry@Westrick.Com  Sun Aug 10 12:54:40 2003
Return-Path: <Jerry@Westrick.Com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from pigwidgeon.iticom.net (pigwidgeon.iticom.net [64.127.64.17])
	by mail.egenix.com (Postfix) with ESMTP id 040CB3715B
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 12:54:40 +0200 (CEST)
Received: from kramer.iticom.net (unknown [64.127.64.12])
	by pigwidgeon.iticom.net (Postfix) with SMTP id 74E4410E61
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 09:52:52 +0000 (GMT)
Received: (qmail 16901 invoked by uid 0); 10 Aug 2003 09:52:51 -0000
Received: from unknown (HELO cable-ggar40-125.intergga.ch) (157.161.40.125)
  by ftp.westrick.com with SMTP; 10 Aug 2003 09:52:51 -0000
Subject: Re: [egenix-users] Converting ZQL method return value to dictionary
From: Jerry Westrick <Jerry@Westrick.Com>
To: "M.-A. Lemburg" <mal@lemburg.com>
In-Reply-To: <3F361511.4090700@lemburg.com>
References: <1060508280.24083.67.camel@jerry.westrick.local>
	 <3F361511.4090700@lemburg.com>
Content-Type: text/plain
Organization: 
Message-Id: <1060509256.24082.74.camel@jerry.westrick.local>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.3 
Date: 10 Aug 2003 11:54:16 +0200
Content-Transfer-Encoding: 7bit
cc: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Jerry@Westrick.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 10:54:41 -0000

WOW!

Thanks for the prompt responce!

I'll repost to the Zope....


Jerry




On Sun, 2003-08-10 at 11:49, M.-A. Lemburg wrote:
> Jerry Westrick wrote:
> > Hello:
> > 
> > I'm not sure if this is the right list, if not sorry.
> > 
> > I'm trying to convert the result of a Zql method into a dictionary.
> > the code I'm using is: 
> > 
> > # Get User Info
> > for row in context.Get_UserInfo(user=request.AUTHENTICATED_USER):
> >     values['user'] = row
> > 
> > The Get_UserInfo is a Z SQL Method, returning a single row
> > from a mxODBC conneciton.
> > 
> > when I executed the following lines: 
> > 
> > print values['user'] 
> > return printed
> > 
> > I get 
> > 
> > <r instance at 8d8f130>
> > 
> > I would to convert this r instance to a dictionary, so I can add/modify
> >  values in it like the following:
> > 
> > values['user']['justforfun'] = 'Additional info not from select!'
> > 
> > which at the moment gives me:
> > 
> > Error Type: TypeError
> > Error Value: object does not support item or slice assignment
> > 
> > Now to my questions:
> > 1) the class "r", is it a Zope thingy or a mxODBC thingy?
> 
> It's a Zope thingy. mxODBC wraps the results as Zope Results
> instance which in return dynamically wraps rows as "r" instances
> which are subclasses of the Zope Record type.
> 
> See lib/python/Shared/DC/ZRDB/Results.py for details.
> 
> > 2) is there a mothod to do what I need?
> 
> You should probably convert the r instance to a dictionary
> and then use that. The r instance does not support the
> full dictionary interface.
> 
> In any case, the zope-db mailing list will probably give you
> better help.
> 
> > Than you for your time...
> > Jerry
> > 
> > P.S.  There are other dictionary functions not support by this "R"
> > instance that I would like to use also...

From wade@lightlink.com  Sun Aug 10 13:27:54 2003
Return-Path: <wade@lightlink.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from ms-smtp-03.nyroc.rr.com (ms-smtp-03.nyroc.rr.com
	[24.92.226.153])
	by mail.egenix.com (Postfix) with ESMTP id 0FB3F3518F
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 13:27:54 +0200 (CEST)
Received: from lightlink.com (syr-24-92-234-72.twcny.rr.com [24.92.234.72])
	h7ABRqs4023613;	Sun, 10 Aug 2003 07:27:52 -0400 (EDT)
Message-ID: <3F362C38.2050203@lightlink.com>
Date: Sun, 10 Aug 2003 07:27:52 -0400
From: Wade Leftwich <wade@lightlink.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
	rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jerry@Westrick.Com
Subject: Re: [egenix-users] Converting ZQL method return value to dictionary
References: <1060508280.24083.67.camel@jerry.westrick.local>
In-Reply-To: <1060508280.24083.67.camel@jerry.westrick.local>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 11:27:54 -0000

Jerry Westrick wrote:
> Hello:
> 
> I'm not sure if this is the right list, if not sorry.
> 
> I'm trying to convert the result of a Zql method into a dictionary.
> the code I'm using is: 
> 
> # Get User Info
> for row in context.Get_UserInfo(user=request.AUTHENTICATED_USER):
>     values['user'] = row
> 
> The Get_UserInfo is a Z SQL Method, returning a single row
> from a mxODBC conneciton.
> 
> when I executed the following lines: 
> 
> print values['user'] 
> return printed
> 
> 
> I get 
> 
> <r instance at 8d8f130>
> 
> I would to convert this r instance to a dictionary, so I can add/modify
>  values in it like the following:
> 
> values['user']['justforfun'] = 'Additional info not from select!'
> 
> which at the moment gives me:
> 
> Error Type: TypeError
> Error Value: object does not support item or slice assignment
> 
> 
> 
> Now to my questions:
> 1) the class "r", is it a Zope thingy or a mxODBC thingy?
> 2) is there a mothod to do what I need?
> 
> 
> Than you for your time...
> Jerry
> 
> P.S.  There are other dictionary functions not support by this "R"
> instance that I would like to use also...
> 
> 

In the past I have frequently written a function to convert each tuple
in a zsql result to a dictionary. But looking at the current docs

http://zope.org/Documentation/Books/ZopeBook/current/RelationalDatabases.stx

toward the bottom of the page, I see that zsql results have a 
dictionaries() method that returns a list of dicts. I wonder if that's a 
recent addition, or if I just never noticed it before?

If that does not work for you, try this:

def row2dict(row, names):
     D = {}
     for i in range(len(names)):
         D[names[i]] = row[i]
     return D

result = context.somezsqlmethod()
for row in result:
     print row2dict(row, result.names())


-- Wade Leftwich
Ithaca, NY








From mal@lemburg.com  Sun Aug 10 13:52:32 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 1F7CA35060; Sun, 10 Aug 2003 13:52:32 +0200 (CEST)
Message-ID: <3F363201.4050603@lemburg.com>
Date: Sun, 10 Aug 2003 13:52:33 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Wade Leftwich <wade@lightlink.com>
Subject: Re: [egenix-users] Converting ZQL method return value to dictionary
References: <1060508280.24083.67.camel@jerry.westrick.local>
	<3F362C38.2050203@lightlink.com>
In-Reply-To: <3F362C38.2050203@lightlink.com>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
cc: Jerry@Westrick.Com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 11:52:32 -0000

Wade Leftwich wrote:
>> Now to my questions:
>> 1) the class "r", is it a Zope thingy or a mxODBC thingy?
>> 2) is there a mothod to do what I need?
>>
>>
>> Than you for your time...
>> Jerry
>>
>> P.S.  There are other dictionary functions not support by this "R"
>> instance that I would like to use also...
> 
> In the past I have frequently written a function to convert each tuple
> in a zsql result to a dictionary. But looking at the current docs
> 
> http://zope.org/Documentation/Books/ZopeBook/current/RelationalDatabases.stx 
> 
> toward the bottom of the page, I see that zsql results have a 
> dictionaries() method that returns a list of dicts. I wonder if that's a 
> recent addition, or if I just never noticed it before?

It's been in Zope for quite a while (and I must have forgotten
all about it too :-). It gives you a list of dictionaries, one
for each row, mapping column names to values.

> If that does not work for you, try this:
> 
> def row2dict(row, names):
>     D = {}
>     for i in range(len(names)):
>         D[names[i]] = row[i]
>     return D
> 
> result = context.somezsqlmethod()
> for row in result:
>     print row2dict(row, result.names())

That's pretty much what result.dictionaries() does for the
complete result set :-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 10 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

From Jerry@Westrick.Com  Sun Aug 10 15:00:08 2003
Return-Path: <Jerry@Westrick.Com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from pigwidgeon.iticom.net (owlsnest.iticom.net [64.127.64.17])
	by mail.egenix.com (Postfix) with ESMTP id 219793713E
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 15:00:06 +0200 (CEST)
Received: from kramer.iticom.net (unknown [64.127.64.12])
	by pigwidgeon.iticom.net (Postfix) with SMTP id 7D87E13F81
	for <egenix-users@lists.egenix.com>;
	Sun, 10 Aug 2003 11:38:34 +0000 (GMT)
Received: (qmail 9692 invoked by uid 0); 10 Aug 2003 11:38:34 -0000
Received: from unknown (HELO cable-ggar40-125.intergga.ch) (157.161.40.125)
  by www.westrick.com with SMTP; 10 Aug 2003 11:38:34 -0000
Subject: Re: [egenix-users] Converting ZQL method return value to dictionary
From: Jerry Westrick <Jerry@Westrick.Com>
To: "Egenix-Users@Lists.Egenix.Com" <egenix-users@lists.egenix.com>
In-Reply-To: <3F362C38.2050203@lightlink.com>
References: <1060508280.24083.67.camel@jerry.westrick.local>
	 <3F362C38.2050203@lightlink.com>
Content-Type: text/plain
Organization: 
Message-Id: <1060515598.24083.78.camel@jerry.westrick.local>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.3 
Date: 10 Aug 2003 13:39:58 +0200
Content-Transfer-Encoding: 7bit
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: Jerry@Westrick.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 10 Aug 2003 13:00:08 -0000

Hello Wade...

Thank you, got it...

My problem was realizing that the "result set" has a
.dictionaries() and not the resulting records defined 
within the result set...

Don't ask me why, but hey...

SO the dictionaries() works outside of the for loop!

Thanks for your help!
Jerry



On Sun, 2003-08-10 at 13:27, Wade Leftwich wrote:
> Jerry Westrick wrote:
> > Hello:
> > 
> > I'm not sure if this is the right list, if not sorry.
> > 
> > I'm trying to convert the result of a Zql method into a dictionary.
> > the code I'm using is: 
> > 
> > # Get User Info
> > for row in context.Get_UserInfo(user=request.AUTHENTICATED_USER):
> >     values['user'] = row
> > 
> > The Get_UserInfo is a Z SQL Method, returning a single row
> > from a mxODBC conneciton.
> > 
> > when I executed the following lines: 
> > 
> > print values['user'] 
> > return printed
> > 
> > 
> > I get 
> > 
> > <r instance at 8d8f130>
> > 
> > I would to convert this r instance to a dictionary, so I can add/modify
> >  values in it like the following:
> > 
> > values['user']['justforfun'] = 'Additional info not from select!'
> > 
> > which at the moment gives me:
> > 
> > Error Type: TypeError
> > Error Value: object does not support item or slice assignment
> > 
> > 
> > 
> > Now to my questions:
> > 1) the class "r", is it a Zope thingy or a mxODBC thingy?
> > 2) is there a mothod to do what I need?
> > 
> > 
> > Than you for your time...
> > Jerry
> > 
> > P.S.  There are other dictionary functions not support by this "R"
> > instance that I would like to use also...
> > 
> > 
> 
> In the past I have frequently written a function to convert each tuple
> in a zsql result to a dictionary. But looking at the current docs
> 
> http://zope.org/Documentation/Books/ZopeBook/current/RelationalDatabases.stx
> 
> toward the bottom of the page, I see that zsql results have a 
> dictionaries() method that returns a list of dicts. I wonder if that's a 
> recent addition, or if I just never noticed it before?
> 
> If that does not work for you, try this:
> 
> def row2dict(row, names):
>      D = {}
>      for i in range(len(names)):
>          D[names[i]] = row[i]
>      return D
> 
> result = context.somezsqlmethod()
> for row in result:
>      print row2dict(row, result.names())
> 
> 
> -- Wade Leftwich
> Ithaca, NY
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users
> 

From sabaini@telbiomed.at  Mon Aug 18 17:18:20 2003
Return-Path: <sabaini@telbiomed.at>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from elrond.telbiomed.at
	(62-99-248-114.C-GTRIESTERSIEDLUNG.Xdsl-line.inode.at [62.99.248.114])
	by mail.egenix.com (Postfix) with ESMTP id DE5213851E
	for <egenix-users@lists.egenix.com>;
	Mon, 18 Aug 2003 17:18:19 +0200 (CEST)
Received: from telbiomed.at ([192.168.160.58]) by elrond.telbiomed.at with
	Microsoft SMTPSVC(5.0.2195.4453);	 Mon, 18 Aug 2003 17:18:27 +0200
Message-ID: <3F40EDDD.5080407@telbiomed.at>
Date: Mon, 18 Aug 2003 17:16:45 +0200
From: Peter Sabaini <sabaini@telbiomed.at>
Organization: ARC Seibersdorf research GmbH, Biosignal Processing and
	Telemedicine
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
	micalg=sha1; boundary="------------ms070205010008050408000403"
X-OriginalArrivalTime: 18 Aug 2003 15:18:27.0126 (UTC)
	FILETIME=[F92C1D60:01C3659B]
Subject: [egenix-users] Exceptions with MS SQL, Stored Procedures
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 18 Aug 2003 15:18:20 -0000

This is a cryptographically signed message in MIME format.

--------------ms070205010008050408000403
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hello list,


I am getting strange exceptions when using the mxODBC Zope DA:

"""HY000 [Microsoft][ODBC SQL Server Driver]Connection is busy with 
results for another hstmt"""

(german: """HY000 [Microsoft][ODBC SQL Server Driver]Die Verbindung ist 
mit Ergebnissen von einem anderen hstmt belegt""")


The exception only occurs under load.

Has anyone else seen this?

I'm using Zope 2.6.1 / win32, Python 2.1.3 with MS SQL Server 8.00.194 
and MDAC 2.8; our application relies heavily on stored procedures, and I 
turned on the "Fetch last available result set" option.

The "mxODBC Interface Documentation" mentions some issues with MS SQL 
and recommends forcing the usage of server side cursors via the 
setconnectoption() method of the database connection. How do I do this 
with the Zope DA? As far as I can tell, the Zope "Database Connection" 
has an attribute 'connection', which features a setconnectoption() 
method. I tried to set the CURSOR_TYPE to CURSOR_DYNAMIC, but that 
didn't help, ie. the exception still occurs.


Thank you,

peter sabaini.

--------------ms070205010008050408000403
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJgjCC
Ax8wggKIoAMCAQICAwlZgDANBgkqhkiG9w0BAQQFADCBkjELMAkGA1UEBhMCWkExFTATBgNV
BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUx
HTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVl
bWFpbCBSU0EgMjAwMC44LjMwMB4XDTAzMDIyMTEzMDYyMFoXDTA0MDIyMTEzMDYyMFowXzEQ
MA4GA1UEBBMHU2FiYWluaTEOMAwGA1UEKhMFUGV0ZXIxFjAUBgNVBAMTDVBldGVyIFNhYmFp
bmkxIzAhBgkqhkiG9w0BCQEWFHNhYmFpbmlAdGVsYmlvbWVkLmF0MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAuASeeIG13a2rb+JpdaOhrpGb6BEQExxRF69tBLsZa6uqPEhP
Ft+rQenDjdzj8th+37dmt/gt4F3Gkv6eNdKJKh10udtImexgNHAQLCx/9ODjN8HKF6mcNY3w
0+2OTqzFUzsRh3f3U3Oi2AePiLEHWhMwpjWxdmbrMkvCQTO/nCqNm0DZPQqTRXTfsD6aoUPS
hJLHqNVpWcnacgloUQ+KK76H/kDfrtfCrNMB57iyHYtPPz+AvOZQVb6hdcuPBXPlPgiS/Isi
W/u2uuFAcQqOBzNYhpJtGxf8P8i+PRS/iYB751Fa+JlI0QWdGegbxH2NRr1HARmDaxcfE0Vb
Cq0MuwIDAQABozEwLzAfBgNVHREEGDAWgRRzYWJhaW5pQHRlbGJpb21lZC5hdDAMBgNVHRMB
Af8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAAtlNm14hbnnjjTpJFOHeLkqwXIUA+LOmKrSc3hC
H1ifdAwUDGb5gw7nKBKrKto5w9lZWU4g+grC11vRFoul8IF/naxHWaYmFLj8NP3KE6ZixvdI
mOWSlWnfqt8KBbY2Bcx/oMEnZkTiV5KgItM0lbLYocOJuwd+Hc9K0WZjSgR0MIIDHzCCAoig
AwIBAgIDCVmAMA0GCSqGSIb3DQEBBAUAMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2Vz
dGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UE
CxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJT
QSAyMDAwLjguMzAwHhcNMDMwMjIxMTMwNjIwWhcNMDQwMjIxMTMwNjIwWjBfMRAwDgYDVQQE
EwdTYWJhaW5pMQ4wDAYDVQQqEwVQZXRlcjEWMBQGA1UEAxMNUGV0ZXIgU2FiYWluaTEjMCEG
CSqGSIb3DQEJARYUc2FiYWluaUB0ZWxiaW9tZWQuYXQwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQC4BJ54gbXdratv4ml1o6GukZvoERATHFEXr20Euxlrq6o8SE8W36tB6cON
3OPy2H7ft2a3+C3gXcaS/p410okqHXS520iZ7GA0cBAsLH/04OM3wcoXqZw1jfDT7Y5OrMVT
OxGHd/dTc6LYB4+IsQdaEzCmNbF2ZusyS8JBM7+cKo2bQNk9CpNFdN+wPpqhQ9KEkseo1WlZ
ydpyCWhRD4orvof+QN+u18Ks0wHnuLIdi08/P4C85lBVvqF1y48Fc+U+CJL8iyJb+7a64UBx
Co4HM1iGkm0bF/w/yL49FL+JgHvnUVr4mUjRBZ0Z6BvEfY1GvUcBGYNrFx8TRVsKrQy7AgMB
AAGjMTAvMB8GA1UdEQQYMBaBFHNhYmFpbmlAdGVsYmlvbWVkLmF0MAwGA1UdEwEB/wQCMAAw
DQYJKoZIhvcNAQEEBQADgYEAC2U2bXiFueeONOkkU4d4uSrBchQD4s6YqtJzeEIfWJ90DBQM
ZvmDDucoEqsq2jnD2VlZTiD6CsLXW9EWi6XwgX+drEdZpiYUuPw0/coTpmLG90iY5ZKVad+q
3woFtjYFzH+gwSdmROJXkqAi0zSVstihw4m7B34dz0rRZmNKBHQwggM4MIICoaADAgECAhBm
RXK3zHT1z2N2RYTQLpEBMA0GCSqGSIb3DQEBBAUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UE
CBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBD
b25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQw
IgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBl
cnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDAwODMwMDAwMDAwWhcNMDQwODI3MjM1
OTU5WjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
Q2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp
Y2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMIGfMA0GCSqG
SIb3DQEBAQUAA4GNADCBiQKBgQDeMzKmY8cJJUU+0m54J2eBxdqIGYKXDuNEKYpjNSptcDz6
3K737nRvMLwzkH/5NHGgo22Y8cNPomXbDfpL8dbdYaX5hc1VmjUanZJ1qCeu2HL5ugL217CR
3hzpq+AYA6h8Q0JQUYeDPPA5tJtUihOH/7ObnUlmAC0JieyUa+mhaQIDAQABo04wTDApBgNV
HREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMS0yOTcwEgYDVR0TAQH/BAgwBgEB
/wIBADALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEEBQADgYEAMbFLR135AXHl9VNsXXnWPZjA
JhNigSKnEvgilegbSbcnewQ5uvzm8iTrkfq97A0qOPdQVahs9w2tTBu8A/S166JHn2yiDFiN
MUIJEWywGmnRKxKyQF1q+XnQ6i4l3Yrk/NsNH50C81rbyjz2ROomaYd/SJ7OpZ/nhNjJYmKt
BcYxggPVMIID0QIBATCBmjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2Fw
ZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRp
ZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44
LjMwAgMJWYAwCQYFKw4DAhoFAKCCAg8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkq
hkiG9w0BCQUxDxcNMDMwODE4MTUxNjQ1WjAjBgkqhkiG9w0BCQQxFgQUEGbUTeTk9knsqfDB
QgX1H1aBvSMwUgYJKoZIhvcNAQkPMUUwQzAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAw
DQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgasGCSsGAQQBgjcQBDGB
nTCBmjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
Q2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp
Y2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwAgMJWYAwga0G
CyqGSIb3DQEJEAILMYGdoIGaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBD
YXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2Vy
dGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAw
LjguMzACAwlZgDANBgkqhkiG9w0BAQEFAASCAQBNgZaaRd+aiO3yxNhSmNfba9h1jSd88Rlk
dp40YB99Tb6MlJUMwzNqNp1ioD/iyPZ65K3VOaSmHVY1yCs+JwmZ77MDPeBPTZphImFhdjg9
nqDcw+HpwQtZYsTPH2F5L8xHwH7nFIjHbDmtyPPL5beUN66mROnB9UpCZxgDUNeaJ9SvGZCF
oqaUflUc/cK+r02A051Ft5t7qPHAx6caIAA0CXzuSWBMqsMOXpzeZ3LNtNWXpiPJmMBeKt2Z
aA/LHGhNQPrGrWtijZq3u5eGshejgwj5Z3UyydI1PoKzr0Wy34062CMbe3E3cIY+DwOK8jRR
CdsumDx0J80nCxvhNXPgAAAAAAAA
--------------ms070205010008050408000403--

From mal@lemburg.com  Mon Aug 18 20:40:51 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id DDEE13853E; Mon, 18 Aug 2003 20:40:50 +0200 (CEST)
Message-ID: <3F411DB4.8040207@lemburg.com>
Date: Mon, 18 Aug 2003 20:40:52 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Peter Sabaini <sabaini@telbiomed.at>
Subject: Re: [egenix-users] Exceptions with MS SQL, Stored Procedures
References: <3F40EDDD.5080407@telbiomed.at>
In-Reply-To: <3F40EDDD.5080407@telbiomed.at>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 18 Aug 2003 18:40:51 -0000

Peter Sabaini wrote:
> Hello list,
> 
> 
> I am getting strange exceptions when using the mxODBC Zope DA:
> 
> """HY000 [Microsoft][ODBC SQL Server Driver]Connection is busy with 
> results for another hstmt"""
> 
> (german: """HY000 [Microsoft][ODBC SQL Server Driver]Die Verbindung ist 
> mit Ergebnissen von einem anderen hstmt belegt""")
> 
> 
> The exception only occurs under load.
> 
> Has anyone else seen this?
> 
> I'm using Zope 2.6.1 / win32, Python 2.1.3 with MS SQL Server 8.00.194 
> and MDAC 2.8; our application relies heavily on stored procedures, and I 
> turned on the "Fetch last available result set" option.

Here's a MS article on the topic:

http://support.microsoft.com/default.aspx?scid=%2Fservicedesks%2Fbin%2Fkbsearch.asp%3FArticle%3D253010

They say it was corrected in MDAC 2.6...

Another reference mentions it as limitation in MS SQL Server ODBC
driver:

http://www.588188.com/netbook/sqlserver2000/odbcsql/od_6_030_5337.htm

The problem only occurs if you have multiple result sets open,
e.g. from a stored procedure call.

The only true fix seems to be to have the stored procedures close
the result sets (that are not needed) before returning the final
result set or to use an ODBC driver from one of the other ODBC
driver vendors which don't have this limitation.

> The "mxODBC Interface Documentation" mentions some issues with MS SQL 
> and recommends forcing the usage of server side cursors via the 
> setconnectoption() method of the database connection. How do I do this 
> with the Zope DA? As far as I can tell, the Zope "Database Connection" 
> has an attribute 'connection', which features a setconnectoption() 
> method. I tried to set the CURSOR_TYPE to CURSOR_DYNAMIC, but that 
> didn't help, ie. the exception still occurs.

Setting these low-level connection options is currently not
advisable on DatabaseConnections because these are pooled, so
tweaking one connection will not reach out to other connections
and as a result you'll get strange effects and unreliable
connections.

You could, however, experiment with this if you set the pool
size to 1 and only have one Zope connection object in your
ZODB.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 18 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-08-12: Released eGenix mx Extensions for Python 2.3

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

From wade@lightlink.com  Tue Aug 19 20:26:30 2003
Return-Path: <wade@lightlink.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from emerald.lightlink.com (emerald.lightlink.com [205.232.34.14])
	by mail.egenix.com (Postfix) with ESMTP id B50793857C
	for <egenix-users@lists.egenix.com>;
	Tue, 19 Aug 2003 20:26:29 +0200 (CEST)
Received: from lightlink.com (syr-24-58-126-179.twcny.rr.com [24.58.126.179])
	by emerald.lightlink.com (8.9.3p2/8.8.8) with ESMTP id OAA21769;
	Tue, 19 Aug 2003 14:26:22 -0400
Message-ID: <3F426BCE.70807@lightlink.com>
Date: Tue, 19 Aug 2003 14:26:22 -0400
From: Wade Leftwich <wade@lightlink.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
	rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sholden@holdenweb.com
Subject: Re: [egenix-users] mx.DateTime: Truncating fractional seconds
References: <CGECIJPNNHIFAJKHOLMAKENHEOAA.sholden@holdenweb.com>
	<3F350FBD.5010900@lemburg.com>
In-Reply-To: <3F350FBD.5010900@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 19 Aug 2003 18:26:31 -0000

M.-A. Lemburg wrote:
> [put the list back on CC since I believe this is of interest
>  to others as well]
> 
> Steve Holden wrote:
> 
>>> I'm not sure what you mean. If it's the warnings that you get in
>>> Python 2.3 from the time module functions if you pass in the
>>> .tuple() value due to mxDateTime representing the seconds as
>>> float, then this problem will be gone in 2.1.0 final (I decided
>>> to make seconds in the .tuple() output an integer; the float
>>> value is still available through the .seconds attribute).
>>>
>>> If you're talking about the str() representation which includes
>>> fractions, then the easiest way to get rid off the fractions
>>> is use .strftime() which doesn't handle fractions of a second
>>> by nature :-)
>>
>>
>> I'm actually talking about using a DateTime object as a parameter for
>> inserting into an Access Date column, specifically in this case under
>> Python 2.2.x:
> 
> 
> Ah, ok. AFAIR, Access tells mxODBC to send the date as string
> and since mxDateTime instances generate seconds with fractions
> which Access doesn't support, you get the warning.
> 
> This simple trick should work:
> 
> def AccessDateTime(dt):
>     # cut away the seconds fraction part
>     return str(dt)[:-3]
> curs.execute(stmt, (AccessDateTime(now()),)
> 
>> $ python
>> Python 2.2.3 (#1, Jun 19 2003, 12:10:13)
>> [GCC 3.2 20020927 (prerelease)] on cygwin
>> Type "help", "copyright", "credits" or "license" for more information.
>>
>>>>> import mx.ODBC.Windows as db
>>>>> conn = db.connect("billing")
>>>>> curs = conn.cursor()
>>>>> from mx.DateTime import now, DateTime
>>>>> curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
>>
>>
>> Started)"
>> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
>> 125.0, ?)",
>> ...              (now(), ))
>> Traceback (most recent call last):
>>   File "<stdin>", line 3, in ?
>> mx.ODBC.Windows.Warning: ('01S07', 13, '[Microsoft][ODBC Microsoft
>> Access Driver]Fractional truncation (null)', 5696)
>>
>>>>> n = now()
>>>>> curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
>>
>>
>> Started)"
>> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
>> 125.0, ?)",
>> ...              (DateTime(n.year, n.month, n.day, n.hour, n.minute,
>> int(n.second)), ))
>> 1
>>
>> Unfortunately I'd already tried Wade's int() trick on the whole date,
>> without success in Access, I'm afraid, so it's interesting to know it
>> works with MS SQL Server:
>>
>>
>>>>> curs.execute("INSERT INTO Task (pjName, TaskName, Description, Rate,
>>
>>
>> Started)"
>> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
>> 125.0, ?)",
>> ...             (int(n), ))
>> Traceback (most recent call last):
>>   File "<stdin>", line 3, in ?
>> mx.ODBC.Windows.DataError: ('22003', 34, '[Microsoft][ODBC Microsoft
>> Access Driver]Numeric value out of range (null)', 5696)
>>
>> Maybe the DateTime.__int__() method could be defined in some helpful way
>> here?
> 
> 
> int(datetime) returns the Unix ticks value for the datetime
> you pass in. It is not meant to be used in this context.
> The idea is that you can pass DateTime instances to other
> functions which expect a Unix ticks integer.
> 

In case there is still interest in this topic, I ran into the same 
situation this afternoon, and did it this way:

 >>> from mx import DateTime
 >>> def truncFractionalSeconds(dt):
... 	"""mxDateTime object => same with fractions of secs removed"""
... 	return DateTime.DateTimeFromTicks(int(dt))
...
 >>> now = DateTime.now()
 >>> now
<DateTime object for '2003-08-19 14:19:27.11' at 150b9e0>
 >>> truncFractionalSeconds(now)
<DateTime object for '2003-08-19 14:19:27.00' at 14f8be0>
 >>>

Seems to me like it's safer to pass your cursor a DateTime object than a 
string, which might lead to cross-platform problems.

-- Wade Leftwich
Ithaca, NY

From sholden@holdenweb.com  Fri Aug 22 16:33:46 2003
Return-Path: <sholden@holdenweb.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lakemtao04.cox.net (lakemtao04.cox.net [68.1.17.241])
	by mail.egenix.com (Postfix) with ESMTP id EAFD735DF8
	for <egenix-users@lists.egenix.com>;
	Fri, 22 Aug 2003 16:33:45 +0200 (CEST)
Received: from COMPUTER ([68.98.130.206]) by lakemtao04.cox.net
          (InterMail vM.5.01.06.04 201-253-122-130-104-20030726) with SMTP
          id <20030822143339.MEBO419.lakemtao04.cox.net@COMPUTER>;
          Fri, 22 Aug 2003 10:33:39 -0400
From: "Steve Holden" <sholden@holdenweb.com>
To: "Wade Leftwich" <wade@lightlink.com>
Subject: RE: [egenix-users] mx.DateTime: Truncating fractional seconds
Date: Fri, 22 Aug 2003 10:32:12 -0400
Message-ID: <CGECIJPNNHIFAJKHOLMAOEBGFFAA.sholden@holdenweb.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
In-Reply-To: <3F426BCE.70807@lightlink.com>
Importance: Normal
cc: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
Reply-To: sholden@holdenweb.com
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Aug 2003 14:33:46 -0000

> -----Original Message-----
> From: egenix-users-bounces@lists.egenix.com
> [mailto:egenix-users-bounces@lists.egenix.com]On Behalf Of
> Wade Leftwich
> Sent: Tuesday, August 19, 2003 2:26 PM
> To: sholden@holdenweb.com
> Cc: eGenix.com User Mailinglist
> Subject: Re: [egenix-users] mx.DateTime: Truncating fractional seconds
>
>
> M.-A. Lemburg wrote:
> > [put the list back on CC since I believe this is of interest
> >  to others as well]
> >
> > Steve Holden wrote:
> >
> >>> I'm not sure what you mean. If it's the warnings that you get in
> >>> Python 2.3 from the time module functions if you pass in the
> >>> .tuple() value due to mxDateTime representing the seconds as
> >>> float, then this problem will be gone in 2.1.0 final (I decided
> >>> to make seconds in the .tuple() output an integer; the float
> >>> value is still available through the .seconds attribute).
> >>>
> >>> If you're talking about the str() representation which includes
> >>> fractions, then the easiest way to get rid off the fractions
> >>> is use .strftime() which doesn't handle fractions of a second
> >>> by nature :-)
> >>
> >>
> >> I'm actually talking about using a DateTime object as a
> parameter for
> >> inserting into an Access Date column, specifically in this
> case under
> >> Python 2.2.x:
> >
> >
> > Ah, ok. AFAIR, Access tells mxODBC to send the date as string
> > and since mxDateTime instances generate seconds with fractions
> > which Access doesn't support, you get the warning.
> >
> > This simple trick should work:
> >
> > def AccessDateTime(dt):
> >     # cut away the seconds fraction part
> >     return str(dt)[:-3]
> > curs.execute(stmt, (AccessDateTime(now()),)
> >
> >> $ python
> >> Python 2.2.3 (#1, Jun 19 2003, 12:10:13)
> >> [GCC 3.2 20020927 (prerelease)] on cygwin
> >> Type "help", "copyright", "credits" or "license" for more
> information.
> >>
> >>>>> import mx.ODBC.Windows as db
> >>>>> conn = db.connect("billing")
> >>>>> curs = conn.cursor()
> >>>>> from mx.DateTime import now, DateTime
> >>>>> curs.execute("INSERT INTO Task (pjName, TaskName,
> Description, Rate,
> >>
> >>
> >> Started)"
> >> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> >> 125.0, ?)",
> >> ...              (now(), ))
> >> Traceback (most recent call last):
> >>   File "<stdin>", line 3, in ?
> >> mx.ODBC.Windows.Warning: ('01S07', 13, '[Microsoft][ODBC Microsoft
> >> Access Driver]Fractional truncation (null)', 5696)
> >>
> >>>>> n = now()
> >>>>> curs.execute("INSERT INTO Task (pjName, TaskName,
> Description, Rate,
> >>
> >>
> >> Started)"
> >> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> >> 125.0, ?)",
> >> ...              (DateTime(n.year, n.month, n.day, n.hour,
> n.minute,
> >> int(n.second)), ))
> >> 1
> >>
> >> Unfortunately I'd already tried Wade's int() trick on the
> whole date,
> >> without success in Access, I'm afraid, so it's interesting
> to know it
> >> works with MS SQL Server:
> >>
> >>
> >>>>> curs.execute("INSERT INTO Task (pjName, TaskName,
> Description, Rate,
> >>
> >>
> >> Started)"
> >> ...              " VALUES('gpcc', 'TEST', 'Delete me after this!',
> >> 125.0, ?)",
> >> ...             (int(n), ))
> >> Traceback (most recent call last):
> >>   File "<stdin>", line 3, in ?
> >> mx.ODBC.Windows.DataError: ('22003', 34, '[Microsoft][ODBC
> Microsoft
> >> Access Driver]Numeric value out of range (null)', 5696)
> >>
> >> Maybe the DateTime.__int__() method could be defined in
> some helpful way
> >> here?
> >
> >
> > int(datetime) returns the Unix ticks value for the datetime
> > you pass in. It is not meant to be used in this context.
> > The idea is that you can pass DateTime instances to other
> > functions which expect a Unix ticks integer.
> >
>
> In case there is still interest in this topic, I ran into the same
> situation this afternoon, and did it this way:
>
>  >>> from mx import DateTime
>  >>> def truncFractionalSeconds(dt):
> ... 	"""mxDateTime object => same with fractions of secs removed"""
> ... 	return DateTime.DateTimeFromTicks(int(dt))
> ...
>  >>> now = DateTime.now()
>  >>> now
> <DateTime object for '2003-08-19 14:19:27.11' at 150b9e0>
>  >>> truncFractionalSeconds(now)
> <DateTime object for '2003-08-19 14:19:27.00' at 14f8be0>
>  >>>
>
> Seems to me like it's safer to pass your cursor a DateTime
> object than a
> string, which might lead to cross-platform problems.
>
You're quite right, Wade. Coo, wish *i* had a brain ...

Seriously, I'll change the code to do it this wayt, it seems much saner
to use methods than external procedures.

regards
--
Steve Holden                                 http://www.holdenweb.com/
Python Web Programming                http://pydish.holdenweb.com/pwp/





From stuff@mailzilla.net  Tue Aug 26 19:49:59 2003
Return-Path: <stuff@mailzilla.net>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from mailzilla.net (user-112ujt2.biz.mindspring.com [66.47.79.162])
	by mail.egenix.com (Postfix) with SMTP id 900C738E3E
	for <egenix-users@lists.egenix.com>;
	Tue, 26 Aug 2003 19:49:58 +0200 (CEST)
Received: (qmail 29254 invoked by uid 511); 26 Aug 2003 17:49:57 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 26 Aug 2003 17:49:57 -0000
Date: Tue, 26 Aug 2003 10:49:57 -0700 (PDT)
From: stuff@mailzilla.net
X-X-Sender: stuff@nonpoint
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
In-Reply-To: <3F426BCE.70807@lightlink.com>
Message-ID: <Pine.LNX.4.44.0308261044550.28946-100000@nonpoint>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] Windows ODBC drivers?
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 26 Aug 2003 17:49:59 -0000


Is there an mx.ODBC.Windows (or alternative Python) method to obtain a 
list of installed ODBC drivers on a Windows systems?  The DataSources() 
is somewhat useful for connecting to previously defined ODBC sources, but 
if a source is yet to be defined, there won't be an entry here, even if 
the driver is installed.  

The Windows ODBC Data Source Admin Tool provides a list of drivers (on the
"Drivers" tab), I just don't know how to get this information from Python.

Thanks,

Phil

From mal@lemburg.com  Tue Aug 26 21:35:28 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 3A2DC38E74; Tue, 26 Aug 2003 21:35:28 +0200 (CEST)
Message-ID: <3F4BB680.9090807@lemburg.com>
Date: Tue, 26 Aug 2003 21:35:28 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: stuff@mailzilla.net
Subject: Re: [egenix-users] Windows ODBC drivers?
References: <Pine.LNX.4.44.0308261044550.28946-100000@nonpoint>
In-Reply-To: <Pine.LNX.4.44.0308261044550.28946-100000@nonpoint>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Tue, 26 Aug 2003 19:35:29 -0000

stuff@mailzilla.net wrote:
> Is there an mx.ODBC.Windows (or alternative Python) method to obtain a 
> list of installed ODBC drivers on a Windows systems?  The DataSources() 
> is somewhat useful for connecting to previously defined ODBC sources, but 
> if a source is yet to be defined, there won't be an entry here, even if 
> the driver is installed.  
> 
> The Windows ODBC Data Source Admin Tool provides a list of drivers (on the
> "Drivers" tab), I just don't know how to get this information from Python.

There is an ODBC API for this, but it's currently not exposed
via mxODBC.

I suppose you could use the Python tools for querying the registry
to find out about installed drivers.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Software directly from the Source  (#1, Aug 26 2003)
 >>> Python/Zope Products & Consulting ...         http://www.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2003-08-12: Released eGenix mx Extensions for Python 2.3

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

From teyc@cognoware.com  Mon Sep  8 01:28:13 2003
Return-Path: <teyc@cognoware.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from WEBSERVER.advdata.com.au (210-18-214-26.cust.iexec.net.au
	[210.18.214.26])	by mail.egenix.com (Postfix) with ESMTP id 69ADDA520
	for <egenix-users@lists.egenix.com>;
	Mon,  8 Sep 2003 01:28:12 +0200 (CEST)
Received: from SDG02 ([203.55.10.62]) by WEBSERVER.advdata.com.au with
	Microsoft SMTPSVC(5.0.2195.5329);	 Mon, 8 Sep 2003 09:31:50 +1000
From: "Chui Tey" <teyc@cognoware.com>
To: <egenix-users@lists.egenix.com>
Date: Mon, 8 Sep 2003 09:31:49 +1000
Message-ID: <007501c37598$36737180$3e0a37cb@advdata.com.au>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Importance: Normal
X-OriginalArrivalTime: 07 Sep 2003 23:31:50.0679 (UTC)
	FILETIME=[3686D270:01C37598]
Subject: [egenix-users] mxODBCZope locking
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Sun, 07 Sep 2003 23:28:13 -0000

Hi,

We are experiencing serious locking problems with using
the mxODBCZopeDA in conjunction with SQL Server 2000
when executing complex business logic.

The problem is not exhibited with the free but slow ZODBCDA.

The sequence is:

   Zope      : tpc_begin
   ZopeMxODBC: tpc_begin (guessing only)
   ZopeMxODBC: UPDATE TABLEB (LOCATION, LOCATIONTYPE)
               SET LOCATIONNAME = 'STREET'
               WHERE LOCATIONTYPE = 1234
   ZopeMxODBC: more INSERTS, UPDATES ...
   AnotherApp: select from TABLEB where TABLEB.LOCATIONTYPE = 1234
               (this is blocked by ZopeMxODBC)
   Zope      : tpc_finish (no error)
   AnotherApp: (blocked until times out)
   ZopMxODBC : still holds locks on the table until Zope is shut down

ZopeMxODBC has failed to commit or rollback. Consequently, database locks is
held
indefinitely by ZopeMxODBC

We have set connection pooling to 1. However, the
problem still occurs.

Does anybody have any suggestions?

We have switched back to using ZODBCDA. If we can't solve this we
will have to consider writing our own database adapter.

Chui Tey
Software Engineer
Advanced Data Integration

From james@digconn.co.uk  Fri Sep 12 10:01:28 2003
Return-Path: <james@digconn.co.uk>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from feed1.talk-101.com (feed1.talk-101.com [195.8.181.175])
	(using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
	(Client did not present a certificate)
	by mail.egenix.com (Postfix) with ESMTP id 07C24A5A2
	for <egenix-users@lists.egenix.com>;
	Fri, 12 Sep 2003 10:01:28 +0200 (CEST)
Received: from 195.8.183.84 (sterling-183-84.talk-101.com [195.8.183.84] (may
	be forged))
	by feed1.talk-101.com (8.12.8/8.12.8) with ESMTP id i7V85bjo003989
	for <egenix-users@lists.egenix.com>; Tue, 31 Aug 2004 09:05:37 +0100
To: egenix-users@lists.egenix.com
From: <james@digconn.co.uk>
Date: 12 Sep 2003 08:01:23 UT
Priority: normal
X-Priority: 3 (Normal)
Importance: normal
X-Mailer: DvISE by Tobit Software, Germany (0207.414A4444464A4F4A5051)
X-David-Sym: 0
X-David-Flags: 33554432
Message-ID: <DIIE.00000E200003F7E6@ext1.sterling2000.co.uk>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="----_=_NextPart_000_0003F7E6.3F618B63"
Subject: [egenix-users] installing mxdatetime
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 12 Sep 2003 08:01:28 -0000

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_0003F7E6.3F618B63
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7Bit

hello i'm kinda new to linux and need to install the egenix mx base file onto my machine. It's in an rpm format but i don't know how to install it onto my machine can someone help please

------_=_NextPart_000_0003F7E6.3F618B63
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dwindows-1252">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR></HEAD>
<BODY style=3D"FONT: 10pt Courier New" leftMargin=3D5 topMargin=3D5>
<DIV>hello i'm kinda new to linux and need to install the egenix mx base file 
onto my machine. It's in an rpm format but i don't know how to install it onto 
my machine can someone help please</DIV></BODY></HTML>
------_=_NextPart_000_0003F7E6.3F618B63--

From james@digconn.co.uk  Fri Sep 12 10:07:13 2003
Return-Path: <james@digconn.co.uk>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from feed1.talk-101.com (feed1.talk-101.com [195.8.181.175])
	(using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
	(Client did not present a certificate)
	by mail.egenix.com (Postfix) with ESMTP id 444EFA627
	for <egenix-users@lists.egenix.com>;
	Fri, 12 Sep 2003 10:07:13 +0200 (CEST)
Received: from 195.8.183.84 (sterling-183-84.talk-101.com [195.8.183.84] (may
	be forged))
	by feed1.talk-101.com (8.12.8/8.12.8) with ESMTP id i7V8BQjo004165
	for <egenix-users@lists.egenix.com>; Tue, 31 Aug 2004 09:11:26 +0100
To: egenix-users@lists.egenix.com
From: <james@digconn.co.uk>
Subject: [egenix-users] installing mxdatetime
Date: 12 Sep 2003 08:07:12 UT
Priority: normal
X-Priority: 3 (Normal)
Importance: normal
X-Mailer: DvISE by Tobit Software, Germany (0207.414A4444464A4F4A5051)
X-David-Sym: 0
X-David-Flags: 0
Message-ID: <0003F838.3F618CC0@ext1.sterling2000.co.uk>
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----_=_NextPart_000_0003F838.3F618CC0"
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 12 Sep 2003 08:07:13 -0000

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_0003F838.3F618CC0
Content-Type: multipart/alternative;
 boundary="----_=_NextPart_001_0003F838.3F618CC0"

------_=_NextPart_001_0003F838.3F618CC0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7Bit

hello i'm kinda new to linux and need to install the egenix mx base file onto my machine. It's in an rpm format but i don't know how to install it onto my machine can someone help please


_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
http://lists.egenix.com/mailman/listinfo/egenix-users


------_=_NextPart_001_0003F838.3F618CC0
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dwindows-1252">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR></HEAD>
<BODY style=3D"FONT: 10pt Courier New" leftMargin=3D5 topMargin=3D5>
<DIV>hello i'm kinda new to linux and need to install the egenix mx base file 
onto my machine. It's in an rpm format but i don't know how to install it onto 
my machine can someone help please</DIV></BODY></HTML>

------_=_NextPart_001_0003F838.3F618CC0--

------_=_NextPart_000_0003F838.3F618CC0
Content-Type: application/octet-stream; name="Textpart.txt"
Content-Transfer-Encoding: base64


------_=_NextPart_000_0003F838.3F618CC0--

From james@digconn.co.uk  Fri Sep 12 10:17:09 2003
Return-Path: <james@digconn.co.uk>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from feed1.talk-101.com (feed1.talk-101.com [195.8.181.175])
	(using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
	(Client did not present a certificate)
	by mail.egenix.com (Postfix) with ESMTP id AFA8AA5C2
	for <egenix-users@lists.egenix.com>;
	Fri, 12 Sep 2003 10:17:09 +0200 (CEST)
Received: from 195.8.183.84 (sterling-183-84.talk-101.com [195.8.183.84] (may
	be forged))
	by feed1.talk-101.com (8.12.8/8.12.8) with ESMTP id i7V8LNjo004535
	for <egenix-users@lists.egenix.com>; Tue, 31 Aug 2004 09:21:23 +0100
To: egenix-users@lists.egenix.com
From: <james@digconn.co.uk>
Date: 12 Sep 2003 08:17:09 UT
Priority: normal
X-Priority: 3 (Normal)
Importance: normal
X-Mailer: DvISE by Tobit Software, Germany (0207.414A4444464A4F4A5051)
X-David-Sym: 0
X-David-Flags: 33554432
Message-ID: <DIIE.00000D7B0003F8AE@ext1.sterling2000.co.uk>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="----_=_NextPart_000_0003F8AE.3F618F14"
Subject: [egenix-users] lemburg
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Fri, 12 Sep 2003 08:17:09 -0000

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_0003F8AE.3F618F14
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7Bit

when trying to install the software after fiddling around with it for a bit i tried
rpm -i egenix******
however a message came up saying
user lemburg does not exist -using root
what's going on?

------_=_NextPart_000_0003F8AE.3F618F14
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dwindows-1252">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR></HEAD>
<BODY style=3D"FONT: 10pt Courier New" leftMargin=3D5 topMargin=3D5>
<DIV>when trying to install the software after fiddling around with it for a bit 
i tried</DIV>
<DIV><STRONG>rpm -i egenix******</STRONG></DIV>
<DIV>however a message came up saying</DIV>
<DIV><STRONG>user lemburg does not exist -using root</STRONG></DIV>
<DIV>what's going on?</DIV></BODY></HTML>
------_=_NextPart_000_0003F8AE.3F618F14--

From mal@lemburg.com  Mon Sep 15 10:22:21 2003
Return-Path: <mal@lemburg.com>
X-Original-To: egenix-users@lists.egenix.com
Delivered-To: egenix-users@lists.egenix.com
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by mail.egenix.com (Postfix) with ESMTP
	id 419CFA556; Mon, 15 Sep 2003 10:22:21 +0200 (CEST)
Message-ID: <3F6576BD.3060904@lemburg.com>
Date: Mon, 15 Sep 2003 10:22:21 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Chui Tey <teyc@cognoware.com>
Subject: Re: [egenix-users] mxODBCZope locking
References: <007501c37598$36737180$3e0a37cb@advdata.com.au>
In-Reply-To: <007501c37598$36737180$3e0a37cb@advdata.com.au>
X-Enigmail-Version: 0.76.2.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
cc: egenix-users@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.1
Precedence: list
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: </mailman-archives/egenix-users>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
X-List-Received-Date: Mon, 15 Sep 2003 08:22:22 -0000

Chui Tey wrote:
> Hi,
> 
> We are experiencing serious locking problems with using
> the mxODBCZopeDA in conjunction with SQL Server 2000
> when executing complex business logic.
> 
> The problem is not exhibited with the free but slow ZODBCDA.
 >
> The sequence is:
> 
>    Zope      : tpc_begin

Are you calling the transaction logic outside the standard
Zope request handler ?

>    ZopeMxODBC: tpc_begin (guessing only)
>    ZopeMxODBC: UPDATE TABLEB (LOCATION, LOCATIONTYPE)
>                SET LOCATIONNAME = 'STREET'
>                WHERE LOCATIONTYPE = 1234

Depending on the settings you are using for transaction
isolation, this will cause an implicit row lock.

>    ZopeMxODBC: more INSERTS, UPDATES ...
>    AnotherApp: select from TABLE