From 0e0cb694d4cd61f1566d4eae0449236227be4678 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 15 Mar 2021 17:12:02 +0100 Subject: [PATCH] [jOOQ/jOOQ#11641] More SPLIT_PART fixes and tests --- jOOQ/src/main/java/org/jooq/impl/DSL.java | 8 ++++---- jOOQ/src/main/java/org/jooq/impl/SplitPart.java | 3 ++- 2 files changed, 6 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 ee0e22cd3e..29e26c46c1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -17950,7 +17950,7 @@ public class DSL { * @param n The token number (1-based). */ @NotNull - @Support({ MYSQL, POSTGRES }) + @Support({ MARIADB, MYSQL, POSTGRES }) public static Field splitPart(Field string, @Stringly.Param String delimiter, Number n) { return new SplitPart(string, Tools.field(delimiter), Tools.field(n)); } @@ -17965,7 +17965,7 @@ public class DSL { * @param n The token number (1-based). */ @NotNull - @Support({ MYSQL, POSTGRES }) + @Support({ MARIADB, MYSQL, POSTGRES }) public static Field splitPart(Field string, @Stringly.Param String delimiter, Field n) { return new SplitPart(string, Tools.field(delimiter), n); } @@ -17980,7 +17980,7 @@ public class DSL { * @param n The token number (1-based). */ @NotNull - @Support({ MYSQL, POSTGRES }) + @Support({ MARIADB, MYSQL, POSTGRES }) public static Field splitPart(Field string, Field delimiter, Number n) { return new SplitPart(string, delimiter, Tools.field(n)); } @@ -17995,7 +17995,7 @@ public class DSL { * @param n The token number (1-based). */ @NotNull - @Support({ MYSQL, POSTGRES }) + @Support({ MARIADB, MYSQL, POSTGRES }) public static Field splitPart(Field string, Field delimiter, Field n) { return new SplitPart(string, delimiter, n); } diff --git a/jOOQ/src/main/java/org/jooq/impl/SplitPart.java b/jOOQ/src/main/java/org/jooq/impl/SplitPart.java index 5790bb7b28..a99f3ef0c5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SplitPart.java +++ b/jOOQ/src/main/java/org/jooq/impl/SplitPart.java @@ -107,6 +107,7 @@ extends + case MARIADB: case MYSQL: Field rS = DSL.field(name("s"), String.class); Field rN = DSL.field(name("n"), int.class); @@ -129,7 +130,7 @@ extends visitSubquery( ctx, - withRecursive(s1, s2).select(DSL.field(name("x"))).from(s2).where(s2.field("n").eq((Field) n)) + withRecursive(s1, s2).select(DSL.coalesce(DSL.max(DSL.field(name("x"))), inline(""))).from(s2).where(s2.field("n").eq((Field) n)) ); break;