I've created a patch that enables automatic fetching of refcursors from a function/procedure. Functions/procedures can return one or more refcursors, and the client application can then consume them the way multiple result sets are normally consumed via ODBC.
Below is a summary of the attached patches:
0001 (`regress.ps1` changes unrelated to refcursors) * Allow installation and testing of a debug build of the driver (useful for debugging) * Fixed a bug in `regress.ps1` where accepting the default password of `postgres` did not work
0002 * Added a FetchRefcursors setting * When FetchRefcursors is enabled, executes some refcursor code in `statement.c` that already existed but was not compiled in due to REFCUR_SUPPORT not being #defined
0003 * Enhanced refcursor code to support multiple refcursors * Fixed an issue where output parameter bindings were not processed when using refcursors * Added a `fetch-refcursors` regression test
Notes: * Client application must execute the statement in a transaction to avoid cursors being closed prematurely (i.e. turn auto-commit off) * Works with both ODBC CALL and PostgreSQL CALL syntaxes * A search through the mailing list archive shows that refcursor support is a feature that multiple people have wanted
The contents of this email originated from Iress. For this purpose Iress includes Iress Limited and/or any of its subsidiaries, holding companies and trading entities. If you have received this email in error please notify the sender immediately and delete this email.