diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index bffc2507ad..bcaee61146 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -15469,6 +15469,42 @@ public class DSL {
return new Space(count);
}
+ /**
+ * The SPLIT_PART function.
+ */
+ @NotNull
+ @Support({ POSTGRES })
+ public static Field splitPart(Field string, String delimiter, Number n) {
+ return new SplitPart(string, Tools.field(delimiter), Tools.field(n));
+ }
+
+ /**
+ * The SPLIT_PART function.
+ */
+ @NotNull
+ @Support({ POSTGRES })
+ public static Field splitPart(Field string, String delimiter, Field extends Number> n) {
+ return new SplitPart(string, Tools.field(delimiter), n);
+ }
+
+ /**
+ * The SPLIT_PART function.
+ */
+ @NotNull
+ @Support({ POSTGRES })
+ public static Field splitPart(Field string, Field delimiter, Number n) {
+ return new SplitPart(string, delimiter, Tools.field(n));
+ }
+
+ /**
+ * The SPLIT_PART function.
+ */
+ @NotNull
+ @Support({ POSTGRES })
+ public static Field splitPart(Field string, Field delimiter, Field extends Number> n) {
+ return new SplitPart(string, delimiter, n);
+ }
+
/**
* The SUBSTRING function.
*/
@@ -15733,24 +15769,6 @@ public class DSL {
return new RegexpReplace(field, Tools.nullSafe(pattern), Tools.nullSafe(replacement), false);
}
- /**
- * Get the SPLIT_PART function.
- */
- @NotNull
- @Support({ POSTGRES })
- public static Field splitPart(Field field, String delimiter, int n) {
- return splitPart(field, Tools.field(delimiter), Tools.field(n));
- }
-
- /**
- * Get the SPLIT_PART function.
- */
- @NotNull
- @Support({ POSTGRES })
- public static Field splitPart(Field field, Field delimiter, Field n) {
- return new SplitPart(field, Tools.nullSafe(delimiter), Tools.nullSafe(n));
- }
-
/**
* Get the overlay(in, placing, startIndex) function.
*/
diff --git a/jOOQ/src/main/java/org/jooq/impl/SplitPart.java b/jOOQ/src/main/java/org/jooq/impl/SplitPart.java
index 5ffd7d7a78..833d12042a 100644
--- a/jOOQ/src/main/java/org/jooq/impl/SplitPart.java
+++ b/jOOQ/src/main/java/org/jooq/impl/SplitPart.java
@@ -37,34 +37,57 @@
*/
package org.jooq.impl;
-import static org.jooq.impl.Names.N_SPLIT_PART;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.SQLDialect.*;
-import org.jooq.Context;
-import org.jooq.Field;
+import org.jooq.*;
+import org.jooq.impl.*;
+
+import java.util.*;
/**
- * @author Lukas Eder
+ * The SPLIT PART statement.
*/
-final class SplitPart extends AbstractField {
+@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
+final class SplitPart
+extends
+ AbstractField
+{
- /**
- * Generated UID
- */
- private static final long serialVersionUID = -5368480391694006195L;
- private final Field field;
- private final Field delimiter;
- private final Field n;
+ private static final long serialVersionUID = 1L;
- SplitPart(Field field, Field delimiter, Field n) {
- super(N_SPLIT_PART, field.getDataType());
+ private final Field string;
+ private final Field delimiter;
+ private final Field extends Number> n;
- this.field = field;
- this.delimiter = delimiter;
- this.n = n;
+ SplitPart(
+ Field string,
+ Field delimiter,
+ Field extends Number> n
+ ) {
+ super(N_SPLIT_PART, allNotNull(VARCHAR, string, delimiter, n));
+
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.delimiter = nullSafeNotNull(delimiter, VARCHAR);
+ this.n = nullSafeNotNull(n, INTEGER);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
@Override
public final void accept(Context> ctx) {
- ctx.visit(N_SPLIT_PART).sql('(').visit(field).sql(", ").visit(delimiter).sql(", ").visit(n).sql(')');
+ ctx.visit(N_SPLIT_PART).sql('(').visit(string).sql(", ").visit(delimiter).sql(", ").visit(n).sql(')');
}
+
+
}