python - pq: Remove Argument, improve performance, use __slots__.

From: jwp(at)pgfoundry(dot)org (James William Pye)
To: pgsql-committers(at)postgresql(dot)org
Subject: python - pq: Remove Argument, improve performance, use __slots__.
Date: 2005-08-08 01:38:53
Message-ID: 20050808013853.B1C591125F5E@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2005-08-08 03:12:20 pgsql: Cause ShutdownPostgres to do a normal transaction abort during
Previous Message Tom Lane 2005-08-07 19:02:08 pgsql: Set shlib naming convention on Cygwin to 'cygFOO.dll', which