python - pq: Remove Argument, improve performance, use __slots__. - Mailing list pgsql-committers

From jwp@pgfoundry.org (James William Pye)
Subject python - pq: Remove Argument, improve performance, use __slots__.
Date
Msg-id 20050808013853.B1C591125F5E@pgfoundry.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Remove Argument, improve performance, use __slots__.

Argument was a utility class that was mostly unneeded. It has been replaced with
a simple tuple object whose first item is the format and second item the data.

Use __slots__ on more objects to reduce memory footprint of instances.
Fix EmptyMessage instantiation so that it actually respects __slots__.

Inherit the Query message from string. The query is the only data, so it
justifies inheriting from StringType and disallowing further attributes.

Inherit TupleDescriptor, Tuple, and AttributeTypes from TupleType to improve
performance and reduce the memory footprint.

Fix tests to reflect changes.

Modified Files:
--------------
    pq/src:
        client3.py (r1.2 -> r1.3)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/client3.py.diff?r1=1.2&r2=1.3)
        element3.py (r1.2 -> r1.3)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/element3.py.diff?r1=1.2&r2=1.3)
    pq/test:
        client3.py (r1.2 -> r1.3)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/client3.py.diff?r1=1.2&r2=1.3)
        element3.py (r1.1.1.1 -> r1.2)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/element3.py.diff?r1=1.1.1.1&r2=1.2)

pgsql-committers by date:

Previous
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Set shlib naming convention on Cygwin to 'cygFOO.dll', which
Next
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Cause ShutdownPostgres to do a normal transaction abort during