Thread: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

[HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:

Hello,

To develop the ECPG application more efficiently and improve portability,
I would like to suggest one minor improvement "WHENEVER condition DO CONTINUE" support in ECPG.
Oracle Pro*C supports WHENEVER statement with DO CONTINUE action.[1]

EXEC SQL WHENEVER SQLERROR CONTINUE;
is not same as
EXEC SQL WHENEVER SQLERROR DO CONTINUE;

The CONTINUE action instructs the client application to proceed to the next statement whereas DO CONTINUE action instructs the client
application to emit a C continue statement and the flow of control return to the beginning of the enclosing loop.

I have tried to implement it. Please check the attached patch.

Please give me feedback.


[1]https://docs.oracle.com/cd/B28359_01/appdev.111/b28427/pc_09err.htm#i12340
Regards,

Vinayak Pokale
NTT Open Source Software Center

Attachment

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Michael Meskes
Date:
Hi,

> To develop the ECPG application more efficiently and improve
> portability,
> I would like to suggest one minor improvement "WHENEVER condition DO
> CONTINUE" support in ECPG.
> Oracle Pro*C supports WHENEVER statement with DO CONTINUE action.[1]
> 
> EXEC SQL WHENEVER SQLERROR CONTINUE;
> is not same as
> EXEC SQL WHENEVER SQLERROR DO CONTINUE;
> 
> The CONTINUE action instructs the client application to proceed to
> the next statement whereas DO CONTINUE action instructs the client
> application to emit a C continue statement and the flow of control
> return to the beginning of the enclosing loop.

This did actual escape me. Thanks for bringing it to our attention and
fixing this missing functionality.

> I have tried to implement it. Please check the attached patch.
> Please give me feedback.
> ...

Could you please add a "DO CONTINUE" case to one of the test cases? Or
add a new one? We would need a test case IMO.

Thanks

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Vinayak Pokale
Date:

Thank you for your reply

On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>
> Hi,
>
> > To develop the ECPG application more efficiently and improve
> > portability,
> > I would like to suggest one minor improvement "WHENEVER condition DO
> > CONTINUE" support in ECPG.
> > Oracle Pro*C supports WHENEVER statement with DO CONTINUE action.[1]
> >
> > EXEC SQL WHENEVER SQLERROR CONTINUE;
> > is not same as
> > EXEC SQL WHENEVER SQLERROR DO CONTINUE;
> >
> > The CONTINUE action instructs the client application to proceed to
> > the next statement whereas DO CONTINUE action instructs the client
> > application to emit a C continue statement and the flow of control
> > return to the beginning of the enclosing loop.
>
> This did actual escape me. Thanks for bringing it to our attention and
> fixing this missing functionality.
>
> > I have tried to implement it. Please check the attached patch.
> > Please give me feedback.
> > ...
>
> Could you please add a "DO CONTINUE" case to one of the test cases? Or
> add a new one? We would need a test case IMO.
>
Yes I will add test case and send updated patch.

Regards,
Vinayak Pokale

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:

Hi,

On 2017/06/10 12:23, Vinayak Pokale wrote:

Thank you for your reply

On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>
> Could you please add a "DO CONTINUE" case to one of the test cases? Or
> add a new one? We would need a test case IMO.
>
Yes I will add test case and send updated patch.

I have added new test case for DO CONTINUE.
Please check the attached patch.

Regards,
Vinayak Pokale
NTT Open Source Software Center
Attachment

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:



On 2017/06/12 13:09, vinayak wrote:

Hi,

On 2017/06/10 12:23, Vinayak Pokale wrote:

Thank you for your reply

On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>
> Could you please add a "DO CONTINUE" case to one of the test cases? Or
> add a new one? We would need a test case IMO.
>
Yes I will add test case and send updated patch.

I have added new test case for DO CONTINUE.
Please check the attached patch.

I have added this in Sept. CF
https://commitfest.postgresql.org/14/1173/

Regards,
Vinayak Pokale
NTT Open Source Software Center

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Masahiko Sawada
Date:
On Tue, Jun 20, 2017 at 1:51 PM, vinayak
<Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>
>
> On 2017/06/12 13:09, vinayak wrote:
>
> Hi,
>
> On 2017/06/10 12:23, Vinayak Pokale wrote:
>
> Thank you for your reply
>
> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>>
>> Could you please add a "DO CONTINUE" case to one of the test cases? Or
>> add a new one? We would need a test case IMO.
>>
> Yes I will add test case and send updated patch.
>
> I have added new test case for DO CONTINUE.
> Please check the attached patch.
>
> I have added this in Sept. CF
> https://commitfest.postgresql.org/14/1173/
>

I got the following warning by git show --check. I think you should
remove unnecessary whitespace. Also the code indent of
whenever_do_continue.pgc seems to need to be adjusted.

$ git show --check
commit a854aa0130589b7bd43b2c6c1c86651be91b1f59
Author: Vinayak Pokale <vinpokale@gmail.com>
Date:   Mon Jun 12 13:03:21 2017 +0900
   WHENEVER statement DO CONTINUE support

src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:16: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:21: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:24: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:27: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:35: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:37: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:39: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:41: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:47: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:49: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:52: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:54: trailing
whitespace.
+
src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:1: new blank
line at EOF.

------
In whenever_do_continue.pgc file, the following line seems not to be
processed successfully by ecpg but should we fix that?

+
+       exec sql whenever sqlerror continue;
+

Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
action but that seems not to emit sqlerror, so "DO CONTINUE" is not
executed. I think the test case for DO CONTINUE should be a C code
that executes the "continue" clause.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:
Hi Sawada-san,

On 2017/06/20 17:22, Masahiko Sawada wrote:
> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>
>> On 2017/06/12 13:09, vinayak wrote:
>>
>> Hi,
>>
>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>
>> Thank you for your reply
>>
>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>>> Could you please add a "DO CONTINUE" case to one of the test cases? Or
>>> add a new one? We would need a test case IMO.
>>>
>> Yes I will add test case and send updated patch.
>>
>> I have added new test case for DO CONTINUE.
>> Please check the attached patch.
>>
>> I have added this in Sept. CF
>> https://commitfest.postgresql.org/14/1173/
>>
> I got the following warning by git show --check. I think you should
> remove unnecessary whitespace. Also the code indent of
> whenever_do_continue.pgc seems to need to be adjusted.
>
> $ git show --check
> commit a854aa0130589b7bd43b2c6c1c86651be91b1f59
> Author: Vinayak Pokale <vinpokale@gmail.com>
> Date:   Mon Jun 12 13:03:21 2017 +0900
>
>      WHENEVER statement DO CONTINUE support
>
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:16: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:21: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:24: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:27: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:35: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:37: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:39: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:41: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:47: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:49: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:52: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:54: trailing
> whitespace.
> +
> src/interfaces/ecpg/test/preproc/whenever_do_continue.pgc:1: new blank
> line at EOF.
>
> ------
> In whenever_do_continue.pgc file, the following line seems not to be
> processed successfully by ecpg but should we fix that?
>
> +
> +       exec sql whenever sqlerror continue;
> +
>
> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
> executed. I think the test case for DO CONTINUE should be a C code
> that executes the "continue" clause.
Thank you for testing the patch.
I agreed with your comments. I will update the patch.

Regards,
Vinayak Pokale
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:
On 2017/06/20 17:35, vinayak wrote:
> Hi Sawada-san,
>
> On 2017/06/20 17:22, Masahiko Sawada wrote:
>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>
>>> On 2017/06/12 13:09, vinayak wrote:
>>>
>>> Hi,
>>>
>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>
>>> Thank you for your reply
>>>
>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>>>> Could you please add a "DO CONTINUE" case to one of the test cases? Or
>>>> add a new one? We would need a test case IMO.
>>>>
>>> Yes I will add test case and send updated patch.
>>>
>>> I have added new test case for DO CONTINUE.
>>> Please check the attached patch.
>>>
>>> I have added this in Sept. CF
>>> https://commitfest.postgresql.org/14/1173/
>>>
>> ------
>> In whenever_do_continue.pgc file, the following line seems not to be
>> processed successfully by ecpg but should we fix that?
>>
>> +
>> +       exec sql whenever sqlerror continue;
>> +
>>
>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>> executed. I think the test case for DO CONTINUE should be a C code
>> that executes the "continue" clause.
> Thank you for testing the patch.
> I agreed with your comments. I will update the patch.
Please check the attached updated patch.

Regards,
Vinayak Pokale
NTT Open Source Software Center

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

Attachment

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Masahiko Sawada
Date:
On Fri, Aug 18, 2017 at 5:20 PM, vinayak
<Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>
> On 2017/06/20 17:35, vinayak wrote:
>>
>> Hi Sawada-san,
>>
>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>
>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>
>>>>
>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>
>>>> Thank you for your reply
>>>>
>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>>>>>
>>>>> Could you please add a "DO CONTINUE" case to one of the test cases? Or
>>>>> add a new one? We would need a test case IMO.
>>>>>
>>>> Yes I will add test case and send updated patch.
>>>>
>>>> I have added new test case for DO CONTINUE.
>>>> Please check the attached patch.
>>>>
>>>> I have added this in Sept. CF
>>>> https://commitfest.postgresql.org/14/1173/
>>>>
>>> ------
>>> In whenever_do_continue.pgc file, the following line seems not to be
>>> processed successfully by ecpg but should we fix that?
>>>
>>> +
>>> +       exec sql whenever sqlerror continue;
>>> +
>>>
>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>> executed. I think the test case for DO CONTINUE should be a C code
>>> that executes the "continue" clause.
>>
>> Thank you for testing the patch.
>> I agreed with your comments. I will update the patch.
>
> Please check the attached updated patch.
>

Thank you for updating.

The regression test failed after applied latest patch by git am.

*** /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c  2017-08-24 20:01:10.023201132 -0700
--- /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c   2017-08-24 20:22:54.308200853 -0700
***************
*** 140,147 ****               printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);       }

!       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
!    proceed if any further errors do occur. */       /* exec sql whenever sqlerror  continue ; */ #line 53
"whenever_do_continue.pgc"

--- 140,147 ----               printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);       }

!       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
!       proceed if any further errors do occur. */       /* exec sql whenever sqlerror  continue ; */ #line 53
"whenever_do_continue.pgc"

======================================================================

+       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
+       proceed if any further errors do occur. */

I think this comment should obey the coding style guide.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:
Hi Sawada-san,

On 2017/08/25 11:07, Masahiko Sawada wrote:
> On Fri, Aug 18, 2017 at 5:20 PM, vinayak
> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>> On 2017/06/20 17:35, vinayak wrote:
>>> Hi Sawada-san,
>>>
>>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>
>>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>>
>>>>> Thank you for your reply
>>>>>
>>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>>>>>> Could you please add a "DO CONTINUE" case to one of the test cases? Or
>>>>>> add a new one? We would need a test case IMO.
>>>>>>
>>>>> Yes I will add test case and send updated patch.
>>>>>
>>>>> I have added new test case for DO CONTINUE.
>>>>> Please check the attached patch.
>>>>>
>>>>> I have added this in Sept. CF
>>>>> https://commitfest.postgresql.org/14/1173/
>>>>>
>>>> ------
>>>> In whenever_do_continue.pgc file, the following line seems not to be
>>>> processed successfully by ecpg but should we fix that?
>>>>
>>>> +
>>>> +       exec sql whenever sqlerror continue;
>>>> +
>>>>
>>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>>> executed. I think the test case for DO CONTINUE should be a C code
>>>> that executes the "continue" clause.
>>> Thank you for testing the patch.
>>> I agreed with your comments. I will update the patch.
>> Please check the attached updated patch.
>>
> Thank you for updating.
>
> The regression test failed after applied latest patch by git am.
>
> *** /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
>     2017-08-24 20:01:10.023201132 -0700
> --- /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c
>      2017-08-24 20:22:54.308200853 -0700
> ***************
> *** 140,147 ****
>                  printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>          }
>
> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
> !    proceed if any further errors do occur. */
>          /* exec sql whenever sqlerror  continue ; */
>    #line 53 "whenever_do_continue.pgc"
>
> --- 140,147 ----
>                  printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>          }
>
> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
> !       proceed if any further errors do occur. */
>          /* exec sql whenever sqlerror  continue ; */
>    #line 53 "whenever_do_continue.pgc"
>
> ======================================================================
>
> +       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
> +       proceed if any further errors do occur. */
>
> I think this comment should obey the coding style guide.
Thank you for testing.

I have updated the patch.
PFA.

Regards,
Vinayak Pokale
NTT Open Source Software Center

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

Attachment

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Masahiko Sawada
Date:
On Fri, Aug 25, 2017 at 2:57 PM, vinayak
<Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
> Hi Sawada-san,
>
>
> On 2017/08/25 11:07, Masahiko Sawada wrote:
>>
>> On Fri, Aug 18, 2017 at 5:20 PM, vinayak
>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>
>>> On 2017/06/20 17:35, vinayak wrote:
>>>>
>>>> Hi Sawada-san,
>>>>
>>>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>>>
>>>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>>
>>>>>>
>>>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>>>
>>>>>> Thank you for your reply
>>>>>>
>>>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org>
>>>>>> wrote:
>>>>>>>
>>>>>>> Could you please add a "DO CONTINUE" case to one of the test cases?
>>>>>>> Or
>>>>>>> add a new one? We would need a test case IMO.
>>>>>>>
>>>>>> Yes I will add test case and send updated patch.
>>>>>>
>>>>>> I have added new test case for DO CONTINUE.
>>>>>> Please check the attached patch.
>>>>>>
>>>>>> I have added this in Sept. CF
>>>>>> https://commitfest.postgresql.org/14/1173/
>>>>>>
>>>>> ------
>>>>> In whenever_do_continue.pgc file, the following line seems not to be
>>>>> processed successfully by ecpg but should we fix that?
>>>>>
>>>>> +
>>>>> +       exec sql whenever sqlerror continue;
>>>>> +
>>>>>
>>>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>>>> executed. I think the test case for DO CONTINUE should be a C code
>>>>> that executes the "continue" clause.
>>>>
>>>> Thank you for testing the patch.
>>>> I agreed with your comments. I will update the patch.
>>>
>>> Please check the attached updated patch.
>>>
>> Thank you for updating.
>>
>> The regression test failed after applied latest patch by git am.
>>
>> ***
>> /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
>>     2017-08-24 20:01:10.023201132 -0700
>> ---
>> /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c
>>      2017-08-24 20:22:54.308200853 -0700
>> ***************
>> *** 140,147 ****
>>                  printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>>          }
>>
>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>> program to
>> !    proceed if any further errors do occur. */
>>          /* exec sql whenever sqlerror  continue ; */
>>    #line 53 "whenever_do_continue.pgc"
>>
>> --- 140,147 ----
>>                  printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>>          }
>>
>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>> program to
>> !       proceed if any further errors do occur. */
>>          /* exec sql whenever sqlerror  continue ; */
>>    #line 53 "whenever_do_continue.pgc"
>>
>> ======================================================================
>>
>> +       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>> program to
>> +       proceed if any further errors do occur. */
>>
>> I think this comment should obey the coding style guide.
>
> Thank you for testing.
>
> I have updated the patch.
> PFA.
>

Thank you for updating the patch. It seems not to incorporate my
second review comment. Attached an updated patch including a fix of a
comment style in whenever_do_continue.pgc file. Please find an
attached file.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

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

Attachment

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:

On 2017/08/25 16:18, Masahiko Sawada wrote:
> On Fri, Aug 25, 2017 at 2:57 PM, vinayak
> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>> Hi Sawada-san,
>>
>>
>> On 2017/08/25 11:07, Masahiko Sawada wrote:
>>> On Fri, Aug 18, 2017 at 5:20 PM, vinayak
>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>> On 2017/06/20 17:35, vinayak wrote:
>>>>> Hi Sawada-san,
>>>>>
>>>>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>>>
>>>>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>>>>
>>>>>>> Thank you for your reply
>>>>>>>
>>>>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org>
>>>>>>> wrote:
>>>>>>>> Could you please add a "DO CONTINUE" case to one of the test cases?
>>>>>>>> Or
>>>>>>>> add a new one? We would need a test case IMO.
>>>>>>>>
>>>>>>> Yes I will add test case and send updated patch.
>>>>>>>
>>>>>>> I have added new test case for DO CONTINUE.
>>>>>>> Please check the attached patch.
>>>>>>>
>>>>>>> I have added this in Sept. CF
>>>>>>> https://commitfest.postgresql.org/14/1173/
>>>>>>>
>>>>>> ------
>>>>>> In whenever_do_continue.pgc file, the following line seems not to be
>>>>>> processed successfully by ecpg but should we fix that?
>>>>>>
>>>>>> +
>>>>>> +       exec sql whenever sqlerror continue;
>>>>>> +
>>>>>>
>>>>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>>>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>>>>> executed. I think the test case for DO CONTINUE should be a C code
>>>>>> that executes the "continue" clause.
>>>>> Thank you for testing the patch.
>>>>> I agreed with your comments. I will update the patch.
>>>> Please check the attached updated patch.
>>>>
>>> Thank you for updating.
>>>
>>> The regression test failed after applied latest patch by git am.
>>>
>>> ***
>>> /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
>>>      2017-08-24 20:01:10.023201132 -0700
>>> ---
>>> /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c
>>>       2017-08-24 20:22:54.308200853 -0700
>>> ***************
>>> *** 140,147 ****
>>>                   printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>>>           }
>>>
>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>> program to
>>> !    proceed if any further errors do occur. */
>>>           /* exec sql whenever sqlerror  continue ; */
>>>     #line 53 "whenever_do_continue.pgc"
>>>
>>> --- 140,147 ----
>>>                   printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
>>>           }
>>>
>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>> program to
>>> !       proceed if any further errors do occur. */
>>>           /* exec sql whenever sqlerror  continue ; */
>>>     #line 53 "whenever_do_continue.pgc"
>>>
>>> ======================================================================
>>>
>>> +       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>> program to
>>> +       proceed if any further errors do occur. */
>>>
>>> I think this comment should obey the coding style guide.
>> Thank you for testing.
>>
>> I have updated the patch.
>> PFA.
>>
> Thank you for updating the patch. It seems not to incorporate my
> second review comment. Attached an updated patch including a fix of a
> comment style in whenever_do_continue.pgc file. Please find an
> attached file.
Sorry, I missed it.
Thank you for fixing the comment style.

Regards,
Vinayak Pokale
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Masahiko Sawada
Date:
On Fri, Aug 25, 2017 at 4:27 PM, vinayak
<Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>
>
> On 2017/08/25 16:18, Masahiko Sawada wrote:
>>
>> On Fri, Aug 25, 2017 at 2:57 PM, vinayak
>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>
>>> Hi Sawada-san,
>>>
>>>
>>> On 2017/08/25 11:07, Masahiko Sawada wrote:
>>>>
>>>> On Fri, Aug 18, 2017 at 5:20 PM, vinayak
>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>
>>>>> On 2017/06/20 17:35, vinayak wrote:
>>>>>>
>>>>>> Hi Sawada-san,
>>>>>>
>>>>>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>>>>>
>>>>>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>>>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>>>>>
>>>>>>>> Thank you for your reply
>>>>>>>>
>>>>>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Could you please add a "DO CONTINUE" case to one of the test cases?
>>>>>>>>> Or
>>>>>>>>> add a new one? We would need a test case IMO.
>>>>>>>>>
>>>>>>>> Yes I will add test case and send updated patch.
>>>>>>>>
>>>>>>>> I have added new test case for DO CONTINUE.
>>>>>>>> Please check the attached patch.
>>>>>>>>
>>>>>>>> I have added this in Sept. CF
>>>>>>>> https://commitfest.postgresql.org/14/1173/
>>>>>>>>
>>>>>>> ------
>>>>>>> In whenever_do_continue.pgc file, the following line seems not to be
>>>>>>> processed successfully by ecpg but should we fix that?
>>>>>>>
>>>>>>> +
>>>>>>> +       exec sql whenever sqlerror continue;
>>>>>>> +
>>>>>>>
>>>>>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>>>>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>>>>>> executed. I think the test case for DO CONTINUE should be a C code
>>>>>>> that executes the "continue" clause.
>>>>>>
>>>>>> Thank you for testing the patch.
>>>>>> I agreed with your comments. I will update the patch.
>>>>>
>>>>> Please check the attached updated patch.
>>>>>
>>>> Thank you for updating.
>>>>
>>>> The regression test failed after applied latest patch by git am.
>>>>
>>>> ***
>>>> /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
>>>>      2017-08-24 20:01:10.023201132 -0700
>>>> ---
>>>> /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c
>>>>       2017-08-24 20:22:54.308200853 -0700
>>>> ***************
>>>> *** 140,147 ****
>>>>                   printf("%s %7.2f %9.2f\n", emp.ename, emp.sal,
>>>> emp.comm);
>>>>           }
>>>>
>>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>> program to
>>>> !    proceed if any further errors do occur. */
>>>>           /* exec sql whenever sqlerror  continue ; */
>>>>     #line 53 "whenever_do_continue.pgc"
>>>>
>>>> --- 140,147 ----
>>>>                   printf("%s %7.2f %9.2f\n", emp.ename, emp.sal,
>>>> emp.comm);
>>>>           }
>>>>
>>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>> program to
>>>> !       proceed if any further errors do occur. */
>>>>           /* exec sql whenever sqlerror  continue ; */
>>>>     #line 53 "whenever_do_continue.pgc"
>>>>
>>>> ======================================================================
>>>>
>>>> +       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>> program to
>>>> +       proceed if any further errors do occur. */
>>>>
>>>> I think this comment should obey the coding style guide.
>>>
>>> Thank you for testing.
>>>
>>> I have updated the patch.
>>> PFA.
>>>
>> Thank you for updating the patch. It seems not to incorporate my
>> second review comment. Attached an updated patch including a fix of a
>> comment style in whenever_do_continue.pgc file. Please find an
>> attached file.
>
> Sorry, I missed it.
> Thank you for fixing the comment style.
>

The v3 patch looks good to me. I've changed this patch status to Ready
for Committer.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
vinayak
Date:
On 2017/08/25 17:13, Masahiko Sawada wrote:
> On Fri, Aug 25, 2017 at 4:27 PM, vinayak
> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>
>> On 2017/08/25 16:18, Masahiko Sawada wrote:
>>> On Fri, Aug 25, 2017 at 2:57 PM, vinayak
>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>> Hi Sawada-san,
>>>>
>>>>
>>>> On 2017/08/25 11:07, Masahiko Sawada wrote:
>>>>> On Fri, Aug 18, 2017 at 5:20 PM, vinayak
>>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>> On 2017/06/20 17:35, vinayak wrote:
>>>>>>> Hi Sawada-san,
>>>>>>>
>>>>>>> On 2017/06/20 17:22, Masahiko Sawada wrote:
>>>>>>>> On Tue, Jun 20, 2017 at 1:51 PM, vinayak
>>>>>>>> <Pokale_Vinayak_q3@lab.ntt.co.jp> wrote:
>>>>>>>>>
>>>>>>>>> On 2017/06/12 13:09, vinayak wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> On 2017/06/10 12:23, Vinayak Pokale wrote:
>>>>>>>>>
>>>>>>>>> Thank you for your reply
>>>>>>>>>
>>>>>>>>> On Jun 9, 2017 5:39 PM, "Michael Meskes" <meskes@postgresql.org>
>>>>>>>>> wrote:
>>>>>>>>>> Could you please add a "DO CONTINUE" case to one of the test cases?
>>>>>>>>>> Or
>>>>>>>>>> add a new one? We would need a test case IMO.
>>>>>>>>>>
>>>>>>>>> Yes I will add test case and send updated patch.
>>>>>>>>>
>>>>>>>>> I have added new test case for DO CONTINUE.
>>>>>>>>> Please check the attached patch.
>>>>>>>>>
>>>>>>>>> I have added this in Sept. CF
>>>>>>>>> https://commitfest.postgresql.org/14/1173/
>>>>>>>>>
>>>>>>>> ------
>>>>>>>> In whenever_do_continue.pgc file, the following line seems not to be
>>>>>>>> processed successfully by ecpg but should we fix that?
>>>>>>>>
>>>>>>>> +
>>>>>>>> +       exec sql whenever sqlerror continue;
>>>>>>>> +
>>>>>>>>
>>>>>>>> Also, you wrote the test case using "WHENEVER sqlerror DO CONTINUE"
>>>>>>>> action but that seems not to emit sqlerror, so "DO CONTINUE" is not
>>>>>>>> executed. I think the test case for DO CONTINUE should be a C code
>>>>>>>> that executes the "continue" clause.
>>>>>>> Thank you for testing the patch.
>>>>>>> I agreed with your comments. I will update the patch.
>>>>>> Please check the attached updated patch.
>>>>>>
>>>>> Thank you for updating.
>>>>>
>>>>> The regression test failed after applied latest patch by git am.
>>>>>
>>>>> ***
>>>>> /tmp/pg/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
>>>>>       2017-08-24 20:01:10.023201132 -0700
>>>>> ---
>>>>> /tmp/pg/src/interfaces/ecpg/test/results/preproc-whenever_do_continue.c
>>>>>        2017-08-24 20:22:54.308200853 -0700
>>>>> ***************
>>>>> *** 140,147 ****
>>>>>                    printf("%s %7.2f %9.2f\n", emp.ename, emp.sal,
>>>>> emp.comm);
>>>>>            }
>>>>>
>>>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>>> program to
>>>>> !    proceed if any further errors do occur. */
>>>>>            /* exec sql whenever sqlerror  continue ; */
>>>>>      #line 53 "whenever_do_continue.pgc"
>>>>>
>>>>> --- 140,147 ----
>>>>>                    printf("%s %7.2f %9.2f\n", emp.ename, emp.sal,
>>>>> emp.comm);
>>>>>            }
>>>>>
>>>>> !       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>>> program to
>>>>> !       proceed if any further errors do occur. */
>>>>>            /* exec sql whenever sqlerror  continue ; */
>>>>>      #line 53 "whenever_do_continue.pgc"
>>>>>
>>>>> ======================================================================
>>>>>
>>>>> +       /* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the
>>>>> program to
>>>>> +       proceed if any further errors do occur. */
>>>>>
>>>>> I think this comment should obey the coding style guide.
>>>> Thank you for testing.
>>>>
>>>> I have updated the patch.
>>>> PFA.
>>>>
>>> Thank you for updating the patch. It seems not to incorporate my
>>> second review comment. Attached an updated patch including a fix of a
>>> comment style in whenever_do_continue.pgc file. Please find an
>>> attached file.
>> Sorry, I missed it.
>> Thank you for fixing the comment style.
>>
> The v3 patch looks good to me. I've changed this patch status to Ready
> for Committer.
Thank you for updating the status in the CF.
We can wait for committers feedback.

Regards,
Vinayak Pokale
NTT Open Source Software Center



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Michael Meskes
Date:
> The v3 patch looks good to me. I've changed this patch status to Ready
> for Committer.

Thank you all, committed.

Michael

-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Vinayak Pokale
Date:


On Aug 25, 2017 10:45 PM, "Michael Meskes" <meskes@postgresql.org> wrote:
>
> > The v3 patch looks good to me. I've changed this patch status to Ready
> > for Committer.
>
> Thank you all, committed.

Thank you very much.

Regards,
Vinayak Pokale

Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Christian Ullrich
Date:
* Michael Meskes wrote:

>> The v3 patch looks good to me. I've changed this patch status to Ready
>> for Committer.
> 
> Thank you all, committed.

The buildfarm says that sorting is frequently done case-sensitively:

*** 1,2 ****
- josh 10000.00     10.00  Ram 111100.00     21.00
--- 1,2 ----  Ram 111100.00     21.00
+ josh 10000.00     10.00

-- 
Christian



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Tom Lane
Date:
Christian Ullrich <chris@chrullrich.net> writes:
> The buildfarm says that sorting is frequently done case-sensitively:

Given that it's Friday evening in Europe, I'm betting Michael is gone
for the day.  In the interests of getting the buildfarm back to green,
I'll see if I can fix this.
        regards, tom lane



Re: [HACKERS] ECPG: WHENEVER statement with DO CONTINUE action

From
Michael Meskes
Date:
> Given that it's Friday evening in Europe, I'm betting Michael is gone
> for the day.  In the interests of getting the buildfarm back to
> green,
> I'll see if I can fix this.

Correct, thanks Tom.

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL