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 1liWrF-00030i-9u for pgsql-odbc@arkaria.postgresql.org; Mon, 17 May 2021 06:36:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1liWrE-0008Tt-5o for pgsql-odbc@arkaria.postgresql.org; Mon, 17 May 2021 06:36:04 +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 1liWrD-0008Tl-S2 for pgsql-odbc@lists.postgresql.org; Mon, 17 May 2021 06:36:04 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1liWrB-0007Gp-OI for pgsql-odbc@lists.postgresql.org; Mon, 17 May 2021 06:36:02 +0000 Received: by mail-ed1-x535.google.com with SMTP id l7so5478468edb.1 for ; Sun, 16 May 2021 23:36:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=53OpFeHZ4hRet6hidQ3da2UAYMxQYyQEWv2O/Kjtoq0=; b=FlRqc/+tI7UDXl8eXuo5WXxBcNdROF24e6ZkrTex/XX1nNP6CVC248Ms6CNWAqsf2t 0xSTM2gu2mH6sV67MRHq2amatZntmGabX1eSEQRm9sdw6+JiMHJBZLk3TwgmpwSe6GVv ULz6slffNo8cxnLJB6au8qukmn1jBg99lr0mUWxfs5SznRrkhEuk/CVlDtNXP0o3UoKZ 11e+CeBEOHSLlHxxzu4cvhCBMB/qUAnjM+ENTi2fL/vmh6gKs6mnneXpd3JeoZqeF9DK 7yzwA6CQDLHPGBcf/YgphZTIvURRNV5pYlsBt78IVyEu8ZYDm1kP5LM3wEdosWOUEm7Q GJig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=53OpFeHZ4hRet6hidQ3da2UAYMxQYyQEWv2O/Kjtoq0=; b=W6FreYVIqMrLj+gMO7F9XiHiOUdQp2r5noDujzDtnf2epDKZellJz/MNKFBvnQ4DMp LZabjeAH3XfVtojTEKO5+Dqw4nQyWS15mncy3qSLxgMD9XtoJZT5vCKOzeYm/PMWpKyc RFdZlv62+cKSgKqC0mK0YrmS22RSLye7uuNsJ/ooff4KHAk4i3IrYRM8gYXpwVg2Br7B wRkDq7gWNA0DYZLHA2tQulKyDEmJwTystZN9eltLY7Sl1CNkSzdG0wSdAzOgNozXQCzs yfQevHsH2TnASGmW7mViJfVZTxQjOreKgVhi+jQQXwq+CN0GVbQRIkJNfcUXXAgDRdar G8uA== X-Gm-Message-State: AOAM530QX528O3gGwJHWg/wZlvmIte/QycRFemn6dq+gnUZq/3DqVX04 5gUwfglSoevyg/Sl/Q2IGFJ0Gos8oKNjjGG8n8Y= X-Google-Smtp-Source: ABdhPJxo06WRXenk1+c8y1XDrjOJFHEatjCTo4EAAAhn7pe6L8EkIFQKhy85bUzWVcX9Q0B1x43m8OWgJ20yCwYSvNs= X-Received: by 2002:aa7:dc17:: with SMTP id b23mr69719834edu.359.1621233359641; Sun, 16 May 2021 23:35:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "Inoue,Hiroshi" Date: Mon, 17 May 2021 15:35:47 +0900 Message-ID: Subject: Re: [PATCH] Automatic fetching of refcursors To: Adrian Grucza Cc: pgsql-odbc@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000007fdfcf05c280cedf" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000007fdfcf05c280cedf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Adrian, I would take care of your patches. Thanks. Hiroshi Inoue 2021=E5=B9=B45=E6=9C=8817=E6=97=A5(=E6=9C=88) 11:21 Adrian Grucza : > Hi all, > > I've created a patch that enables automatic fetching of refcursors from a > function/procedure. Functions/procedures can return one or more refcursor= s, > 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 whe= n > 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 suppor= t > is a feature that multiple people have wanted > > Regards, > [image: iress.com] > Adrian Grucza=E2=80=8B > Technical Lead > Tel: +61390185800 > *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 > includes Iress Limited and/or any of its subsidiaries, holding companies > and trading entities. =E2=80=8BIf you have received this email in error p= lease > notify the sender immediately and delete this email. > nosig > --0000000000007fdfcf05c280cedf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Adrian,

I would take care of your pa= tches.

Thanks.
Hiroshi Inoue
=
2021= =E5=B9=B45=E6=9C=8817=E6=97=A5(=E6=9C=88) 11:21 Adrian Grucza <adrian.grucza@iress.com>:
= Hi all,

I've created a patch that enables automatic fetching of = refcursors from a function/procedure. Functions/procedures can return one o= r more refcursors, and the client application can then consume them the way= multiple result sets are normally consumed via ODBC.

Below is a sum= mary of the attached patches:

0001 (`regress.ps1` changes unrelated = to refcursors)
=C2=A0 * Allow installation and testing of a debug build = of the driver (useful for debugging)
=C2=A0 * Fixed a bug in `regress.p= s1` where accepting the default password of `postgres` did not work

= 0002
=C2=A0 * Added a FetchRefcursors setting
=C2=A0 * When FetchRefc= ursors is enabled, executes some refcursor code in `statement.c` that alrea= dy existed but was not compiled in due to REFCUR_SUPPORT not being #defined=

0003
=C2=A0 * Enhanced refcursor code to support multiple refcur= sors
=C2=A0 * Fixed an issue where output parameter bindings were not pr= ocessed when using refcursors
=C2=A0 * Added a `fetch-refcursors` regres= sion test

Notes:
=C2=A0 * Client application must execute the sta= tement in a transaction to avoid cursors being closed prematurely (i.e. tur= n auto-commit off)
=C2=A0 * Works with both ODBC CALL and PostgreSQL CAL= L syntaxes
=C2=A0 * A search through the mailing list archive shows that= refcursor support is a feature that multiple people have wanted

Reg= ards,
<= td align=3D"left" style=3D"padding:10px 0px 10px 10px;vertical-align:middle= ">
3D"iress.com"
Adria= n=C2=A0Grucza=E2=80=8B=C2=A0=C2=A0
Technical=C2=A0Lead
=
Tel:=C2=A0+61390185800
adrian.grucza@iress.com=
www.iress.com
Level=C2=A016,=C2=A0385=C2=A0Bourke=C2=A0Street,
=C2=A0Melbourne,=C2=A0Victoria,=C2=A03000
The contents of th= is email originated from Iress. For this purpose Iress includes Iress Limit= ed 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.=C2=A0
nosig
<= /blockquote> --0000000000007fdfcf05c280cedf--