From 80dd835cb7f0984d8ec9ee5824d8deafa348dca7 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 26 Apr 2018 14:49:58 +0200 Subject: [PATCH] [#7439] Add ORACLE12C support for the STANDARD_HASH function --- jOOQ/src/main/java/org/jooq/impl/DSL.java | 16 ++++++++++++++-- jOOQ/src/main/java/org/jooq/impl/MD5.java | 13 ++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 359f1003eb..5091fdfbfb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -13718,11 +13718,17 @@ public class DSL { * MD5( ... ) * * - * Oracle + * Oracle 11g * * LOWER(RAWTOHEX(SYS.DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW( ... ), SYS.DBMS_CRYPTO.HASH_MD5))) * * + * + * Oracle 12c + * + * LOWER(STANDARD_HASH( ... , 'MD5')) + * + * * */ @Support({ MARIADB, MYSQL }) @@ -13745,11 +13751,17 @@ public class DSL { * MD5( ... ) * * - * Oracle + * Oracle 11g * * LOWER(RAWTOHEX(SYS.DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW( ... ), SYS.DBMS_CRYPTO.HASH_MD5))) * * + * + * Oracle 12c + * + * LOWER(STANDARD_HASH( ... , 'MD5')) + * + * * */ @Support({ MARIADB, MYSQL }) diff --git a/jOOQ/src/main/java/org/jooq/impl/MD5.java b/jOOQ/src/main/java/org/jooq/impl/MD5.java index 7be090b84c..0ed99ad284 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MD5.java +++ b/jOOQ/src/main/java/org/jooq/impl/MD5.java @@ -37,6 +37,8 @@ */ package org.jooq.impl; +import static org.jooq.impl.SQLDataType.VARCHAR; + import org.jooq.Configuration; import org.jooq.Field; @@ -53,14 +55,19 @@ final class MD5 extends AbstractFunction { private final Field argument; MD5(Field argument) { - super("md5", SQLDataType.VARCHAR, argument); + super("md5", VARCHAR, argument); this.argument = argument; } @Override final Field getFunction0(Configuration configuration) { - switch (configuration.family()) { + switch (configuration.dialect()) { + + + + + @@ -70,7 +77,7 @@ final class MD5 extends AbstractFunction { case MARIADB: case MYSQL: default: - return DSL.field("{md5}({0})", SQLDataType.VARCHAR, argument); + return DSL.field("{md5}({0})", VARCHAR, argument); } } }