From 72e0a123a72e7164e1eefd6bd1c3ed57f7bb10b5 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 25 Jan 2021 10:26:12 +0100 Subject: [PATCH] [jOOQ/jOOQ#11275] NullPointerException when using InsertSetStep.set(Map) on plain SQL table with plain SQL field names --- jOOQ/src/main/java/org/jooq/impl/Tools.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 6dd3036b19..3be5739c55 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -5333,13 +5333,22 @@ final class Tools { return result; } + /** + * Look up a field in a table, or create a new qualified field from the table. + */ static final Field tableField(Table table, Object field) { if (field instanceof Field) return (Field) field; else if (field instanceof Name) - return table.field((Name) field); + if (table.fieldsRow().size() == 0) + return DSL.field(table.getQualifiedName().append(((Name) field).unqualifiedName())) ; + else + return table.field((Name) field); else if (field instanceof String) - return table.field((String) field); + if (table.fieldsRow().size() == 0) + return DSL.field(table.getQualifiedName().append((String) field)); + else + return table.field((String) field); else throw new IllegalArgumentException("Field type not supported: " + field); }