From d2a6a0f04ca6102deac2c9e8c97a417d4f6243de Mon Sep 17 00:00:00 2001 From: lukaseder Date: Wed, 8 Aug 2018 10:01:40 +0200 Subject: [PATCH] [#7727] Support parsing DEGREES() as a synonym for DEGREE() and DEG(), and RADIANS() for RADIAN(), RAD() --- .../src/main/resources/org/jooq/web/grammar-3.12.txt | 4 ++-- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index ec83a6f639..257348abb6 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -634,7 +634,7 @@ term = | 'DAY' '(' field ')' | 'DECODE' '(' field ',' field ',' field { ',' field } ')' | 'DENSE_RANK' ( '(' ')' over | '(' fields ')' withinGroup ) -| ( 'DEG' | 'DEGREE' ) '(' sum ')' +| ( 'DEG' | 'DEGREE' | 'DEGREES' ) '(' sum ')' | 'EXTRACT' '(' datePart 'FROM' field ')' | 'EXP' '(' sum ')' | 'EVERY' '(' field ')' [ filter ] [ over ] @@ -711,7 +711,7 @@ term = | 'RANK' ( '(' ')' over | '(' fields ')' withinGroup ) | 'ROUND' '(' field [ ',' unsignedInteger ] ')' | 'ROWNUM' -| ( 'RAD' | 'RADIAN' ) '(' sum ')' +| ( 'RAD' | 'RADIAN' | 'RADIANS' ) '(' sum ')' | 'ROW' '(' fields ')' | ( 'SUBSTR' | 'SUBSTRING' ) '(' field ',' sum [ ',' sum ] ')' | 'SECOND' '(' field ')' diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 8b049c538d..098c7fc04b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -4433,7 +4433,9 @@ final class ParserImpl implements Parser { return field; else if ((field = parseFieldDayIf(ctx)) != null) return field; - else if (parseFunctionNameIf(ctx, "DEGREE") || parseFunctionNameIf(ctx, "DEG")) + else if (parseFunctionNameIf(ctx, "DEGREES") + || parseFunctionNameIf(ctx, "DEGREE") + || parseFunctionNameIf(ctx, "DEG")) return deg((Field) parseFieldSumParenthesised(ctx)); if ((field = parseFieldDecodeIf(ctx)) != null) @@ -4645,7 +4647,9 @@ final class ParserImpl implements Parser { return field; else if (parseKeywordIf(ctx, "ROWNUM")) return rownum(); - else if (parseFunctionNameIf(ctx, "RADIAN") || parseFunctionNameIf(ctx, "RAD")) + else if (parseFunctionNameIf(ctx, "RADIANS") + || parseFunctionNameIf(ctx, "RADIAN") + || parseFunctionNameIf(ctx, "RAD")) return rad((Field) parseFieldSumParenthesised(ctx)); if (parseFunctionNameIf(ctx, "ROW"))