Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lBU3V-0006kE-Q0 for pgsql-odbc@arkaria.postgresql.org; Mon, 15 Feb 2021 02:56:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lBU3U-0007vA-P2 for pgsql-odbc@arkaria.postgresql.org; Mon, 15 Feb 2021 02:56:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lBU1O-0004zb-TG for pgsql-odbc@lists.postgresql.org; Mon, 15 Feb 2021 02:53:59 +0000 Received: from mx07-00574e01.pphosted.com ([205.220.184.3]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lBU1J-0000wx-B8 for pgsql-odbc@lists.postgresql.org; Mon, 15 Feb 2021 02:53:56 +0000 Received: from pps.filterd (m0214002.ppops.net [127.0.0.1]) by mx08-00574e01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 11F2ropf002076 for ; Mon, 15 Feb 2021 02:53:50 GMT Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by mx08-00574e01.pphosted.com with ESMTP id 36qd2a86ts-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 15 Feb 2021 02:53:50 +0000 Received: by mail-wm1-f69.google.com with SMTP id x20so6188700wmc.0 for ; Sun, 14 Feb 2021 18:53:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iress-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=qdNuZpplSzpZi68k+DklvkyOpTVQQyD7fzBD376uS+o=; b=X4RRkmtBh9t6Ctt5rYm4uX4tUTyZiXlJ+AbagSoXJpdRaCWBLD9Kobd6jhF5LyTWvg ZlxJphIOgJBMZFabK+Ob/PrwUK5jr4e/ovaWWnP5JSVYZJIZXkuJAiXMymm8SraKU6DQ QBe0GflWarMoU5C6b/RqBO69JTTPd4A2qS9jmi8G/IdwQ1m+duMUSCARIZWWlo20GJPO NABaiZIHetiUbSjNr0AyFCwg7d70x84cJ7/RE35KlNOSaiNfddFVfXmFZtHHExnSDcDm DxjApp7m1hGqA4Cs2NBoejwjMCY2cRF2ZOHrr09iNcbAnURJ7YBE7znpVZOiqg3p23Yk l4Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=qdNuZpplSzpZi68k+DklvkyOpTVQQyD7fzBD376uS+o=; b=ktApPlqDWrdZYk0TByOLvfXKoSBC+nnR1QnFnJLP1vepf+jXr31Ec3HwTlIo3nqFIN ZNtMBMMjv4xSrjV/kjE8I0eSQC8xW0MDmvI+weG9q+BuTsb4I/dnumcatwZG+LOEGZeq bSjBfMkoY+SH4I2JJ7Z0Am8/FcBNXXy5hrgC+U8pFzIAyPy2kmvrtq2VWfI8cr5H3MU5 MpEWLpHIOeXZehQyqo9syLelLaisbw/N4IHJpRVYqfJ2RIi06SeqPgHnEL9nlE2c08EI SKaQKV32QekJHU+Y+Z310PKLmI3WqdoKNNTRAoriokyVWNsZBoCXfJnQQqyAQM4yjJrI BrOA== X-Gm-Message-State: AOAM530EU+njrJysZc7q5WyqfvwKU4yasvS8vsYts+vdf+V7qrrBUnN3 P2/w9HnOjJtbXWyopWhsUosTz76e2N+y0kqy+aXLm0oA0ROP6xxxjj/zOgFGMDSSPABdBd7waWX EVsRx33ksrhVKRowqLu0stZdal1JWTsbJXfWYdQpRrht6V5NdJhFYMg== X-Received: by 2002:a5d:58c2:: with SMTP id o2mr16690761wrf.141.1613357630029; Sun, 14 Feb 2021 18:53:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJynP5FsfmSUOowTtS/5gOKICiRwzk8PCFJnVJoN6I5I7ZyEPdZAt+DWJGV48etmQG9pBGXg5QZ9w711 X-Received: by 2002:a5d:58c2:: with SMTP id o2mr16690751wrf.141.1613357629849; Sun, 14 Feb 2021 18:53:49 -0800 (PST) Received: from eu2.smtp.exclaimer.net (eu2.smtp.exclaimer.net. [52.169.0.179]) by smtp-relay.gmail.com with ESMTPS id g185sm604639wmf.21.2021.02.14.18.53.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 14 Feb 2021 18:53:49 -0800 (PST) X-Relaying-Domain: iress.com Received: from mail-wm1-f71.google.com (209.85.128.71) by eu2.smtp.exclaimer.net (52.169.0.179) with Exclaimer Signature Manager ESMTP Proxy eu2.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_ECDHE_WITH_AES256_SHA1); Mon, 15 Feb 2021 02:53:49 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 5005101 X-ExclaimerImprintLatency: 3018339 X-ExclaimerImprintAction: dc35fb11dd4741c597d191a0ed8117b9 Received: by mail-wm1-f71.google.com with SMTP id u15so6146468wmj.2 for ; Sun, 14 Feb 2021 18:53:49 -0800 (PST) X-Received: by 2002:a1c:2e04:: with SMTP id u4mr12357489wmu.79.1613357628731; Sun, 14 Feb 2021 18:53:48 -0800 (PST) X-Received: by 2002:a1c:2e04:: with SMTP id u4mr12357474wmu.79.1613357628459; Sun, 14 Feb 2021 18:53:48 -0800 (PST) MIME-Version: 1.0 From: Adrian Grucza Date: Mon, 15 Feb 2021 13:53:37 +1100 Message-ID: Subject: Using refcursor to return (multiple) rowsets To: pgsql-odbc@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000005722d105bb571826" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --0000000000005722d105bb571826 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, What is the likelihood of this driver being updated to support retrieval of a rowset via a refcursor? I'm looking for a way to return multiple rowsets from a function, and this could provide a way to achieve that. I've read that the Oracle OLE DB provider can do this. From https://docs.oracle.com/cd/E11882_01/win.112/e17726/using.htm#sthref137 : "If the PL/SQL stored function returns a REF CURSOR or has an argument of REF CURSOR type, OraOLEDB binds these and returns a rowset for each REF CURSOR type." I can see that psqlODBC already contains code in statement.c that looks like it does just this, but it requires the REFCUR_SUPPORT symbol to be defined. The code within the REFCUR_SUPPORT section does not compile though. Was this code working at any point, and would it work with multiple refcursors? Adrian Adrian Grucza Technical Lead Tel: +61390185800 Mobile: +61432755054 adrian.grucza@iress.com www.iress.com Level 16, 385 Bourke Street, Melbourne, Victoria, 3000 The contents of this email originated from Iress. For this purpose Iress in= cludes Iress Limited and/or any of its subsidiaries, holding companies and = trading entities. =E2=80=8BIf you have received this email in error please = notify the sender immediately and delete this email. nosig --0000000000005722d105bb571826 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Hi,

What is the likelihood of this driver being updated to support retrieval o= f a rowset via a refcursor? I'm looking for a way to return multiple ro= wsets from a function, and this could provide a way to achieve that.
<= div>
I've read that the Oracle OLE DB provider can do thi= s. From=C2=A0 https://docs.oracle.com/cd/E11882_01/win.112/e17726/using.htm#sthr= ef137 :
"If the PL/SQL stored function returns a REF CUR= SOR or has an argument of REF CURSOR type, OraOLEDB binds these and returns= a rowset for each REF CURSOR type."

I ca= n see that psqlODBC already contains code in statement.c that looks like it= does just this, but it requires the REFCUR_SUPPORT symbol to be defined. T= he code within the REFCUR_SUPPORT section=C2=A0does not compile though. Was= this code working at any point, and would it work with multiple refcursors= ?

Adrian

=
<= td align=3D"left" style=3D"vertical-align:top;font-family:Arial;">www.= iress.com
3D"iress.com"
Adrian Grucza  
Technical Lead
Tel: +613901= 85800
Mobile: +614327= 55054
adrian.grucz= a@iress.com
= Level 16, 385 Bourke Street,
 Melbou= rne, Victoria, 3000
The contents of this email originated from Iress. Fo= r this purpose Iress includes Iress Limited and/or any of its subsidiaries,= holding companies and trading entities. ​If you have received this e= mail in error please notify the sender immediately and delete this email.&n= bsp;
nosig
--0000000000005722d105bb571826--