From 051cb2571da79ed83c40a35a01fb13e1c63c6bce Mon Sep 17 00:00:00 2001 From: lukaseder Date: Sat, 27 Jan 2018 15:47:23 +0100 Subject: [PATCH] [#6485] Support SQL Server LEN() function --- jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt | 3 ++- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt index 414bb9af16..5582481987 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt @@ -380,7 +380,7 @@ orderBy = offsetFetch = 'OFFSET' unsignedInteger [ - [ 'ROW' | 'ROWS' ] 'FETCH' ( 'FIRST' | 'NEXT' ) unsignedInteger ( 'ROW' | 'ROWS' ) ( 'ONLY' | 'WITH TIES' ) + [ 'ROW' | 'ROWS' ] 'FETCH' ( 'FIRST' | 'NEXT' ) [ unsignedInteger ] ( 'ROW' | 'ROWS' ) ( 'ONLY' | 'WITH TIES' ) | [ 'LIMIT' unsignedInteger [ 'WITH TIES' ] ] ] | 'LIMIT' unsignedInteger @@ -568,6 +568,7 @@ term = | 'LPAD' '(' field ',' field [ ',' field ] ')' | 'LTRIM' '(' field ')' | 'LEFT' '(' field ',' field ')' +| 'LEN' '(' field ')' | 'LENGTH' '(' field ')' | 'LN' '(' sum ')' | 'LOG' '(' sum ',' unsignedInteger ')' diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 04019fb939..395391e5b5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -4585,7 +4585,7 @@ final class ParserImpl implements Parser { } private static final Field parseFieldLengthIf(ParserContext ctx) { - if (parseFunctionNameIf(ctx, "LENGTH")) { + if (parseFunctionNameIf(ctx, "LENGTH") || parseFunctionNameIf(ctx, "LEN")) { parse(ctx, '('); Field f1 = (Field) parseField(ctx, S); parse(ctx, ')');