[#8175] Add support for LOOP in procedural blocks

This commit is contained in:
lukaseder 2019-01-08 16:17:05 +01:00
parent e697ceeec5
commit e5e1d22669
3 changed files with 41 additions and 0 deletions

View File

@ -51,6 +51,7 @@ proceduralStatement =
| declareStatement
| assignmentStatement
| ifStatement
| loopStatement
| whileStatement
| exitStatement
| nullStatement
@ -82,6 +83,10 @@ ifStatement =
'END IF'
;
loopStatement =
'LOOP' proceduralStatements 'END LOOP'
;
whileStatement =
'WHILE' condition 'LOOP' proceduralStatements 'END LOOP'
;

View File

@ -9813,6 +9813,24 @@ public class DSL {

View File

@ -145,6 +145,7 @@ import static org.jooq.impl.DSL.list;
import static org.jooq.impl.DSL.listAgg;
import static org.jooq.impl.DSL.ln;
import static org.jooq.impl.DSL.log;
import static org.jooq.impl.DSL.loop;
import static org.jooq.impl.DSL.lower;
import static org.jooq.impl.DSL.lpad;
import static org.jooq.impl.DSL.ltrim;
@ -2271,6 +2272,16 @@ final class ParserImpl implements Parser {
;
break;
case 'l':
case 'L':
if (peekKeyword(ctx, "LOOP") && ctx.requireProEdition())
;
break;
@ -2412,6 +2423,13 @@ final class ParserImpl implements Parser {