Here is 2 approaches how to get to state where only PQsetSingleRowMode()
is available.  Both on top of REL9_2_STABLE branch.

a) Remove callback hooks, keep rowBuf, implement single-row-mode on
   top of that.   This was posted before, I just additionally removed
   the PQgetRowData() function.

        git pull git://github.com/markokr/postgres.git single-row-mode1
        https://github.com/markokr/postgres/commits/single-row-mode1

   Commits:
        libpq: Single-row based processing
        libpq, dblink: Remove row processor API

   Advantage: makes easier to play with PQgetRowData() or potatial
   faster PGresult creation methods.  Smaller change compared to
   libpq from 9.2beta than b).

b) Revert row-callback changes completely, implement single-row-mode on
   top of virgin libpq.  Only problem here was keeping fixes implemented
   as part of row-callback patch.  Single-row-mode itself is quite simple.

        git pull git://github.com/markokr/postgres.git  single-row-mode1
        https://github.com/markokr/postgres/commits/single-row-mode1

   Feature patch:
        
https://github.com/markokr/postgres/commit/b5e822125c655f189875401c61317242705143b9

   Commits:
        dblink: revert conversion to row processor API patch
        libpq: revert row processor API patch
        libpq: random fixes
        libpq: single-row mode
        dblink: use single-row-mode

   Advantage: smaller change compared to libpq from 9.1 than a).

As the patch has suffered a lot from trying to provide both macro- and
micro-optimization (on-the-fly row processing vs. more efficient row
processing), maybe b) is safer choice for 9.2?

In case somebody wants to look at the patches without git (or web),
I attaches them as tgz too.

-- 
marko

Attachment: single-row.tgz
Description: GNU Unix tar archive

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to