[#8285] Add support for REPEAT statements in procedural blocks
This commit is contained in:
parent
9958df4f03
commit
3cb3a14ce1
@ -55,6 +55,7 @@ proceduralStatement = [ label ]
|
||||
| loopStatement [ labelReference ]
|
||||
| forStatement [ labelReference ]
|
||||
| whileStatement [ labelReference ]
|
||||
| repeatStatement [ labelReference ]
|
||||
| gotoStatement
|
||||
| continueStatement
|
||||
| exitStatement
|
||||
@ -113,6 +114,10 @@ whileStatement =
|
||||
'WHILE' condition ( loopStatement | 'DO' proceduralStatements 'END WHILE' )
|
||||
;
|
||||
|
||||
repeatStatement =
|
||||
'REPEAT' proceduralStatements 'UNTIL' condition 'END REPEAT'
|
||||
;
|
||||
|
||||
gotoStatement =
|
||||
'GOTO' identifier
|
||||
;
|
||||
|
||||
@ -48,6 +48,14 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -87,6 +87,16 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -48,6 +48,14 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -56,6 +56,16 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,6 +50,15 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -71,6 +71,14 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,6 +50,15 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -74,6 +74,16 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -290,6 +290,7 @@ import org.jooq.Record8;
|
||||
import org.jooq.Record9;
|
||||
import org.jooq.RecordHandler;
|
||||
import org.jooq.RecordType;
|
||||
// ...
|
||||
import org.jooq.Result;
|
||||
import org.jooq.ResultQuery;
|
||||
import org.jooq.RevokeOnStep;
|
||||
@ -10020,6 +10021,28 @@ public class DSL {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -245,6 +245,7 @@ final class Keywords {
|
||||
static final Keyword K_RENAME_OBJECT = keyword("rename object");
|
||||
static final Keyword K_RENAME_TABLE = keyword("rename table");
|
||||
static final Keyword K_RENAME_TO = keyword("rename to");
|
||||
static final Keyword K_REPEAT = keyword("repeat");
|
||||
static final Keyword K_REPLACE = keyword("replace");
|
||||
static final Keyword K_RESPECT_NULLS = keyword("respect nulls");
|
||||
static final Keyword K_RESTART = keyword("restart");
|
||||
@ -299,6 +300,7 @@ final class Keywords {
|
||||
static final Keyword K_UNBOUNDED_PRECEDING = keyword("unbounded preceding");
|
||||
static final Keyword K_UNIQUE = keyword("unique");
|
||||
static final Keyword K_UNNEST = keyword("unnest");
|
||||
static final Keyword K_UNTIL = keyword("until");
|
||||
static final Keyword K_UPDATE = keyword("update");
|
||||
static final Keyword K_UPSERT = keyword("upsert");
|
||||
static final Keyword K_USE = keyword("use");
|
||||
|
||||
@ -162,6 +162,43 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2413,6 +2413,16 @@ final class ParserImpl implements Parser {
|
||||
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
case 'R':
|
||||
if (peekKeyword(ctx, "REPEAT") && ctx.requireProEdition())
|
||||
|
||||
|
||||
|
||||
;
|
||||
|
||||
break;
|
||||
|
||||
case 's':
|
||||
case 'S':
|
||||
if (peekKeyword(ctx, "SET") && ctx.requireProEdition())
|
||||
@ -2631,6 +2641,17 @@ final class ParserImpl implements Parser {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user