On 06/19/2014 11:10 AM, Tom Lane wrote:
> Craig Ringer <craig@2ndquadrant.com> writes:
>> I've just found a bug (followup mail to come) that seems to be tied up
>> in support for the old v1/v2 protocols.
>
>> Is there any reason to keep all that cruft? v3 was introduced in 7.4, in
>> 2003-11-17 .
>
> FWIW, I've been thinking of proposing that we drop v2 protocol support
> in libpq and the backend.
Sounds great, and we could cut a bunch of code out of PgJDBC then.
That'll make Dave Cramer happy.
> I don't recall at the moment what the differences were between v1 and v2,
> but I think that libpq hasn't had v1 support since 7.4, if not further
> back. The backend might still nominally support v1, but that code is
> surely pretty untested anymore. So you definitely don't want v1, if
> indeed ODBC still contains support for that.
It appears to, in that it has places where it tests for whether it's
talking to 6.4+ (!) or not. It might just be scattered remenants, but
that's almost worse.
*Begins sharpening razor*
I'm a bit lost as to why psqlODBC does so much of this its self, instead
of just using libpq. PgJDBC does it because it wants to be a JDBC Type 4
driver, i.e. all Java code, so it can't talk to libpq over JNI/JNA. That
concern does not apply to psqlODBC, which in fact already links to libpq
but doesn't seem to use it for protocol handling.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services