diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index b1bf6a6004..7ec4ff54c3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -588,6 +588,7 @@ class ParserImpl implements Parser { if (!distinct) parseKeywordIf(ctx, "ALL"); + // T-SQL style TOP .. START AT if (parseKeywordIf(ctx, "TOP")) { limit = parseUnsignedInteger(ctx); @@ -595,6 +596,17 @@ class ParserImpl implements Parser { offset = parseUnsignedInteger(ctx); } + // Informix style SKIP .. FIRST + else if (parseKeywordIf(ctx, "SKIP")) { + offset = parseUnsignedInteger(ctx); + + if (parseKeywordIf(ctx, "FIRST")) + limit = parseUnsignedInteger(ctx); + } + else if (parseKeywordIf(ctx, "FIRST")) { + limit = parseUnsignedInteger(ctx); + } + List> select = parseSelectList(ctx); List> from = null; Condition startWith = null;