Removing support for < 7.4 servers - Mailing list pgsql-odbc
From | Heikki Linnakangas |
---|---|
Subject | Removing support for < 7.4 servers |
Date | |
Msg-id | 52134AB6.2050301@vmware.com Whole thread Raw |
Responses |
Re: Removing support for < 7.4 servers
Re: Removing support for < 7.4 servers Re: Removing support for < 7.4 servers Re: Removing support for < 7.4 servers |
List | pgsql-odbc |
Hi, I've been browsing the code to figure out how we could use protocol-level cursors, instead of DECLARE/FETCH, to make the default behavior of the driver nicer. However, all the different ways a query can be prepared and executed is making my head explode. The driver supports many completely obsoleted ways to do things, for the sake of supporting 7.3 era servers which didn't support the extended query protocol. There is even some code to support 6.2-era servers. I'd like to rip out all the support for pre-7.4 servers, including protocol version 2, to simplify the code. Any objections? If someone is running a really old server version, I think it's fair to insist that they also use a somewhat old version of the driver. (the only thing anyone should be doing with 7.3 servers today is pg_dump, to be honest) I pushed a patch to github to do that, to see what the effect is to the code: https://github.com/hlinnaka/psqlodbc/commit/d5cbe6e62a72d87200217b73360a2c515a2fec79 $ git diff --stat master..require74 columninfo.c | 51 ++- columninfo.h | 2 +- connection.c | 766 +++++++++---------------------------- connection.h | 60 +-- convert.c | 235 ++---------- descriptor.c | 10 - dlg_specific.c | 82 ++-- dlg_specific.h | 8 +- dlg_wingui.c | 24 -- execute.c | 54 +-- info.c | 1148 +++++++++++++++++--------------------------------------- info30.c | 47 +-- misc.c | 4 +- multibyte.c | 33 +- odbcapi.c | 6 +- odbcapiw.c | 3 +- options.c | 5 - parse.c | 90 ++--- pgtypes.c | 43 +-- psqlodbc.h | 9 - psqlodbc.rc | 22 -- qresult.c | 113 ++---- resource.h | 5 - results.c | 167 ++++----- socket.c | 34 +- socket.h | 3 - statement.c | 39 +- statement.h | 6 - 28 files changed, 784 insertions(+), 2285 deletions(-) That's just the beginning though. I think we can get rid of much of the "premature execution" stuff, replacing it with the v3 protocol-level Describe functionality. The driver already uses that in many cases, but not all. That requires some more investigation and thorough testing of all the corner cases, though. Timingwise, I'm thinking we would do this in the first 9.4 version of the driver. The server guys will put out the 9.3 release in the next couple of weeks, so we should put out a stable 9.3 version of the ODBC driver very soon. But after that, we can do more drastic changes again. - Heikki
pgsql-odbc by date: