From 1a3ba387fb175a7c834fbc09ce2c264258f13e68 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 2 Oct 2020 11:13:42 +0200 Subject: [PATCH] [jOOQ/jOOQ#10704 ClassCastException when using MockDataProvider with Oracle ArrayRecord types --- jOOQ/src/main/java/org/jooq/tools/Convert.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/tools/Convert.java b/jOOQ/src/main/java/org/jooq/tools/Convert.java index cc51a4f0f9..8fa296a314 100644 --- a/jOOQ/src/main/java/org/jooq/tools/Convert.java +++ b/jOOQ/src/main/java/org/jooq/tools/Convert.java @@ -604,8 +604,14 @@ public final class Convert { } // [#3062] Default collections if no specific collection type was requested - else if (Collection.class.isAssignableFrom(fromClass)){ - return (U) convertArray(((Collection) from).toArray(), toClass); + else if (Collection.class.isAssignableFrom(fromClass) ) { + Object[] fromArray = ((Collection) from).toArray(); + + // [#3443] [#10704] Conversion from Object[] to JDBC Array + if (toClass == java.sql.Array.class) + return (U) new MockArray(null, fromArray, fromClass); + else + return (U) convertArray(fromArray, toClass); }