Re: Removing support for < 7.4 servers - Mailing list pgsql-odbc

From Inoue, Hiroshi
Subject Re: Removing support for < 7.4 servers
Date
Msg-id 52158B6B.1050004@tpf.co.jp
Whole thread Raw
In response to Removing support for < 7.4 servers  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-odbc
(2013/08/20 19:53), Heikki Linnakangas wrote:
> 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.

Protocol-level cursors don't support SCROLLABLE or HOLDABLE option
unfortunately.

 > 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)

Agreed.

> 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.

"Premature execution" should be removed completely when we remove
support for < 7.4 servers.

regards,
Hiroshi Inoue



pgsql-odbc by date:

Previous
From: "Inoue, Hiroshi"
Date:
Subject: Re: UseServerSidePrepare and data-at-execution
Next
From: Heikki Linnakangas
Date:
Subject: Re: UseServerSidePrepare and data-at-execution