diff options
author | Michael Meskes <meskes@postgresql.org> | 2017-08-25 15:15:03 +0200 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2017-08-25 15:17:29 +0200 |
commit | d22e9d530516f7c9c56d00eff53cf19e45ef348c (patch) | |
tree | 8d3d247aa4b7bc3d274343a5a83a0b1904084125 /src/interfaces/ecpg/preproc | |
parent | 3f4c7917b3bc8b421c0c85cb9995974c55e7232b (diff) |
Implement DO CONTINUE action for ECPG WHENEVER statement.
Author: Vinayak Pokale
Reviewed-By: Masahiko Sawada
Diffstat (limited to 'src/interfaces/ecpg/preproc')
-rw-r--r-- | src/interfaces/ecpg/preproc/ecpg.trailer | 6 | ||||
-rw-r--r-- | src/interfaces/ecpg/preproc/output.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer b/src/interfaces/ecpg/preproc/ecpg.trailer index d273070dabf..f60a62099d4 100644 --- a/src/interfaces/ecpg/preproc/ecpg.trailer +++ b/src/interfaces/ecpg/preproc/ecpg.trailer @@ -1454,6 +1454,12 @@ action : CONTINUE_P $<action>$.command = NULL; $<action>$.str = mm_strdup("break"); } + | DO CONTINUE_P + { + $<action>$.code = W_CONTINUE; + $<action>$.command = NULL; + $<action>$.str = mm_strdup("continue"); + } | SQL_CALL name '(' c_args ')' { $<action>$.code = W_DO; diff --git a/src/interfaces/ecpg/preproc/output.c b/src/interfaces/ecpg/preproc/output.c index 0479c93c991..a55bf2b06a7 100644 --- a/src/interfaces/ecpg/preproc/output.c +++ b/src/interfaces/ecpg/preproc/output.c @@ -51,6 +51,9 @@ print_action(struct when *w) case W_BREAK: fprintf(base_yyout, "break;"); break; + case W_CONTINUE: + fprintf(base_yyout, "continue;"); + break; default: fprintf(base_yyout, "{/* %d not implemented yet */}", w->code); break; |