Thread: python - pq: Feature cutting.
Log Message: ----------- Feature cutting. Remove transam.Interchange and Transaction hooks. These, while useful, fall fatally short. Firstly, Interchange fails to provide a good general mechanism for managing transactions as management is going to be very dependent on the EMS employed by the interface implementor. Hooks, while useful, create overhead(locking and such) that not every implementor will require to operate correctly. Ultimately, these things are orthogonal to state isolation, so they belong elsewhere. Make version.Version a tuple instead of an object. This makes Version instances immutable and allows comparison(V3_0 > V2_0 will work as expected). With that, move element3.Version to version.V3_0 and make element.Startup hardwire version.V3_0; updated client3.Connecting per element3 change. Change serialization/parsing fundamentals to use struct.[un]pack. Add client3.Disconnecting transactions.(Probably more of a formality..) Make element3.Password inherit from StringType. Modified Files: -------------- pq/src: client3.py (r1.7 -> r1.8) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/client3.py.diff?r1=1.7&r2=1.8) element3.py (r1.7 -> r1.8) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/element3.py.diff?r1=1.7&r2=1.8) transam.py (r1.4 -> r1.5) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/transam.py.diff?r1=1.4&r2=1.5) version.py (r1.2 -> r1.3) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/src/version.py.diff?r1=1.2&r2=1.3) pq/test: buffer.py (r1.1.1.1 -> r1.2) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/buffer.py.diff?r1=1.1.1.1&r2=1.2) client3.py (r1.4 -> r1.5) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/client3.py.diff?r1=1.4&r2=1.5) element3.py (r1.2 -> r1.3) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/element3.py.diff?r1=1.2&r2=1.3) transam.py (r1.1.1.1 -> r1.2) (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/python/pq/test/transam.py.diff?r1=1.1.1.1&r2=1.2)