diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 2e02dd6287..2bab7b2344 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -14935,6 +14935,60 @@ public static Field left(Field string, Field l return new Left(string, length); } + /** + * The LTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field ltrim(String string, String characters) { + return new LTrim(Tools.field(string), Tools.field(characters)); + } + + /** + * The LTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field ltrim(String string, Field characters) { + return new LTrim(Tools.field(string), characters); + } + + /** + * The LTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field ltrim(Field string, String characters) { + return new LTrim(string, Tools.field(characters)); + } + + /** + * The LTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field ltrim(Field string, Field characters) { + return new LTrim(string, characters); + } + + /** + * The LTRIM function. + */ + @NotNull + @Support + public static Field ltrim(String string) { + return new LTrim(Tools.field(string)); + } + + /** + * The LTRIM function. + */ + @NotNull + @Support + public static Field ltrim(Field string) { + return new LTrim(string); + } + /** * The REPEAT function. */ @@ -15025,6 +15079,60 @@ public static Field right(Field string, Field return new Right(string, length); } + /** + * The RTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field rtrim(String string, String characters) { + return new RTrim(Tools.field(string), Tools.field(characters)); + } + + /** + * The RTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field rtrim(String string, Field characters) { + return new RTrim(Tools.field(string), characters); + } + + /** + * The RTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field rtrim(Field string, String characters) { + return new RTrim(string, Tools.field(characters)); + } + + /** + * The RTRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field rtrim(Field string, Field characters) { + return new RTrim(string, characters); + } + + /** + * The RTRIM function. + */ + @NotNull + @Support + public static Field rtrim(String string) { + return new RTrim(Tools.field(string)); + } + + /** + * The RTRIM function. + */ + @NotNull + @Support + public static Field rtrim(Field string) { + return new RTrim(string); + } + /** * The SIGN function. */ @@ -15151,198 +15259,106 @@ public static Field substring(Field string, Field upper(String value) { - return upper(Tools.field(value)); - } - /** - * Get the upper(field) function. - *

- * This renders the upper function in all dialects: - *

upper([field])
+ * The TRIM function. */ @NotNull - @Support - public static Field upper(Field field) { - return new Upper(Tools.nullSafe(field)); - } - - /** - * Get the lower(field) function. - * - * @see #lower(Field) - */ - @NotNull - @Support - public static Field lower(String value) { - return lower(Tools.field(value)); - } - - /** - * Get the lower(field) function. - *

- * This renders the lower function in all dialects: - *

lower([field])
- */ - @NotNull - @Support - public static Field lower(Field field) { - return new Lower(Tools.nullSafe(field)); - } - - /** - * Get the trim(field) function. - * - * @see #trim(Field) - */ - @NotNull - @Support - public static Field trim(String value) { - return trim(Tools.field(value)); + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field trim(String string, String characters) { + return new Trim(Tools.field(string), Tools.field(characters)); } /** - * Get the trim(field) function. - *

- * This renders the trim function where available: - *

trim([field])
... or emulates it elsewhere using - * rtrim and ltrim:
ltrim(rtrim([field]))
+ * The TRIM function. */ @NotNull - @Support - public static Field trim(Field field) { - return new Trim(Tools.nullSafe(field)); + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field trim(String string, Field characters) { + return new Trim(Tools.field(string), characters); } /** - * Get the trim(field, characters) or - * trim(both characters from field) function. - * - * @see #trim(Field, Field) + * The TRIM function. */ @NotNull @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field trim(String value, String characters) { - return trim(Tools.field(value), Tools.field(characters)); + public static Field trim(Field string, String characters) { + return new Trim(string, Tools.field(characters)); } /** - * Get the trim(field, characters) or - * trim(both characters from field) function. - *

- * This renders the trim function where available: - *

trim([field])
... or emulates it elsewhere using - * rtrim and ltrim:
ltrim(rtrim([field]))
+ * The TRIM function. */ @NotNull @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field trim(Field field, Field characters) { - return new Trim(Tools.nullSafe(field), Tools.nullSafe(characters)); + public static Field trim(Field string, Field characters) { + return new Trim(string, characters); } /** - * Get the rtrim(field) function. - * - * @see #rtrim(Field) + * The TRIM function. */ @NotNull @Support - public static Field rtrim(String value) { - return rtrim(Tools.field(value)); + public static Field trim(String string) { + return new Trim(Tools.field(string)); } /** - * Get the rtrim(field) function. - *

- * This renders the rtrim function in all dialects: - *

rtrim([field])
+ * The TRIM function. */ @NotNull @Support - public static Field rtrim(Field field) { - return new RTrim(Tools.nullSafe(field)); + public static Field trim(Field string) { + return new Trim(string); } - /** - * Get the rtrim(field, characters) or - * trim(trailing characters from field) function. - * - * @see #rtrim(Field, Field) - */ - @NotNull - @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field rtrim(String value, String characters) { - return rtrim(Tools.field(value), Tools.field(characters)); - } - /** - * Get the rtrim(field, characters) or - * trim(trailing characters from field) function. - *

- * This renders the rtrim function in all dialects: - *

rtrim([field])
- */ - @NotNull - @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field rtrim(Field field, Field characters) { - return new RTrim(Tools.nullSafe(field), Tools.nullSafe(characters)); - } /** - * Get the ltrim(field) function. + * Get the upper(field) function. * - * @see #ltrim(Field) + * @see #upper(Field) */ @NotNull @Support - public static Field ltrim(String value) { - return ltrim(Tools.field(value)); + public static Field upper(String value) { + return upper(Tools.field(value)); } /** - * Get the ltrim(field) function. + * Get the upper(field) function. *

- * This renders the ltrim function in all dialects: - *

ltrim([field])
+ * This renders the upper function in all dialects: + *
upper([field])
*/ @NotNull @Support - public static Field ltrim(Field field) { - return new LTrim(Tools.nullSafe(field)); + public static Field upper(Field field) { + return new Upper(Tools.nullSafe(field)); } /** - * Get the ltrim(field, characters) or - * trim(leading characters from field) function. + * Get the lower(field) function. * - * @see #ltrim(Field, Field) + * @see #lower(Field) */ @NotNull - @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field ltrim(String value, String characters) { - return ltrim(Tools.field(value), Tools.field(characters)); + @Support + public static Field lower(String value) { + return lower(Tools.field(value)); } /** - * Get the ltrim(field, characters) or - * trim(leading characters from field) function. + * Get the lower(field) function. *

- * This renders the ltrim function in all dialects: - *

ltrim([field])
+ * This renders the lower function in all dialects: + *
lower([field])
*/ @NotNull - @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field ltrim(Field field, Field characters) { - return new LTrim(Tools.nullSafe(field), Tools.nullSafe(characters)); + @Support + public static Field lower(Field field) { + return new Lower(Tools.nullSafe(field)); } /** diff --git a/jOOQ/src/main/java/org/jooq/impl/LTrim.java b/jOOQ/src/main/java/org/jooq/impl/LTrim.java index d9e3e4cd65..3158b8ef89 100644 --- a/jOOQ/src/main/java/org/jooq/impl/LTrim.java +++ b/jOOQ/src/main/java/org/jooq/impl/LTrim.java @@ -37,49 +37,69 @@ */ package org.jooq.impl; -import static org.jooq.impl.Keywords.K_FROM; -import static org.jooq.impl.Keywords.K_LEADING; -import static org.jooq.impl.Names.N_LTRIM; -import static org.jooq.impl.Names.N_TRIM; -import static org.jooq.impl.SQLDataType.VARCHAR; +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 LTRIM statement. */ -final class LTrim extends AbstractField { +@SuppressWarnings({ "rawtypes", "unchecked", "unused" }) +final class LTrim +extends + AbstractField +{ - /** - * Generated UID - */ - private static final long serialVersionUID = -7273879239726265322L; + private static final long serialVersionUID = 1L; - private final Field argument; + private final Field string; private final Field characters; - LTrim(Field argument) { - this(argument, null); + LTrim( + Field string + ) { + super(N_LTRIM, allNotNull(VARCHAR, string)); + + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = null; } - LTrim(Field argument, Field characters) { - super(N_LTRIM, VARCHAR); + LTrim( + Field string, + Field characters + ) { + super(N_LTRIM, allNotNull(VARCHAR, string, characters)); - this.argument = argument; - this.characters = characters; + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = nullSafeNotNull(characters, VARCHAR); } + // ------------------------------------------------------------------------- + // XXX: QueryPart API + // ------------------------------------------------------------------------- + + + @Override public final void accept(Context ctx) { if (characters == null) { switch (ctx.family()) { case FIREBIRD: - ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')'); break; default: - ctx.visit(N_LTRIM).sql('(').visit(argument).sql(')'); + ctx.visit(N_LTRIM).sql('(').visit(string).sql(')'); break; } } @@ -91,13 +111,15 @@ public final void accept(Context ctx) { case SQLITE: - ctx.visit(N_LTRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')'); + ctx.visit(N_LTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); break; default: - ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')'); break; } } } + + } diff --git a/jOOQ/src/main/java/org/jooq/impl/RTrim.java b/jOOQ/src/main/java/org/jooq/impl/RTrim.java index d0dcab029a..cce41440e2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RTrim.java +++ b/jOOQ/src/main/java/org/jooq/impl/RTrim.java @@ -37,49 +37,69 @@ */ package org.jooq.impl; -import static org.jooq.impl.Keywords.K_FROM; -import static org.jooq.impl.Keywords.K_TRAILING; -import static org.jooq.impl.Names.N_RTRIM; -import static org.jooq.impl.Names.N_TRIM; -import static org.jooq.impl.SQLDataType.VARCHAR; +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 RTRIM statement. */ -final class RTrim extends AbstractField { +@SuppressWarnings({ "rawtypes", "unchecked", "unused" }) +final class RTrim +extends + AbstractField +{ - /** - * Generated UID - */ - private static final long serialVersionUID = -7273879239726265322L; + private static final long serialVersionUID = 1L; - private final Field argument; + private final Field string; private final Field characters; - RTrim(Field argument) { - this(argument, null); + RTrim( + Field string + ) { + super(N_RTRIM, allNotNull(VARCHAR, string)); + + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = null; } - RTrim(Field argument, Field characters) { - super(N_RTRIM, VARCHAR); + RTrim( + Field string, + Field characters + ) { + super(N_RTRIM, allNotNull(VARCHAR, string, characters)); - this.argument = argument; - this.characters = characters; + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = nullSafeNotNull(characters, VARCHAR); } + // ------------------------------------------------------------------------- + // XXX: QueryPart API + // ------------------------------------------------------------------------- + + + @Override public final void accept(Context ctx) { if (characters == null) { switch (ctx.family()) { case FIREBIRD: - ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')'); break; default: - ctx.visit(N_RTRIM).sql('(').visit(argument).sql(')'); + ctx.visit(N_RTRIM).sql('(').visit(string).sql(')'); break; } } @@ -91,13 +111,15 @@ public final void accept(Context ctx) { case SQLITE: - ctx.visit(N_RTRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')'); + ctx.visit(N_RTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); break; default: - ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')'); break; } } } + + } diff --git a/jOOQ/src/main/java/org/jooq/impl/Trim.java b/jOOQ/src/main/java/org/jooq/impl/Trim.java index e199467ee8..3abd56a49d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Trim.java +++ b/jOOQ/src/main/java/org/jooq/impl/Trim.java @@ -37,52 +37,63 @@ */ package org.jooq.impl; -// ... -// ... -// ... -import static org.jooq.SQLDialect.SQLITE; -// ... -// ... -import static org.jooq.impl.Keywords.K_BOTH; -import static org.jooq.impl.Keywords.K_FROM; -import static org.jooq.impl.Names.N_TRIM; -import static org.jooq.impl.SQLDataType.VARCHAR; - -import java.util.Set; - -import org.jooq.Context; -import org.jooq.Field; -// ... -import org.jooq.SQLDialect; +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.*; +import org.jooq.impl.*; + +import java.util.*; /** - * @author Lukas Eder + * The TRIM statement. */ -final class Trim extends AbstractField { +@SuppressWarnings({ "rawtypes", "unchecked", "unused" }) +final class Trim +extends + AbstractField +{ - /** - * Generated UID - */ - private static final long serialVersionUID = -7273879239726265322L; + private static final long serialVersionUID = 1L; + private final Field string; + private final Field characters; + Trim( + Field string + ) { + super(N_TRIM, allNotNull(VARCHAR, string)); + + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = null; + } + + Trim( + Field string, + Field characters + ) { + super(N_TRIM, allNotNull(VARCHAR, string, characters)); + + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = nullSafeNotNull(characters, VARCHAR); + } + + // ------------------------------------------------------------------------- + // XXX: QueryPart API + // ------------------------------------------------------------------------- - private final Field argument; - private final Field characters; - Trim(Field argument) { - this(argument, null); - } - Trim(Field argument, Field characters) { - super(N_TRIM, VARCHAR); - this.argument = argument; - this.characters = characters; - } @Override public final void accept(Context ctx) { @@ -92,15 +103,17 @@ public final void accept(Context ctx) { - ctx.visit(N_TRIM).sql('(').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(string).sql(')'); } else if (ctx.family() == SQLITE) - ctx.visit(N_TRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); else - ctx.visit(N_TRIM).sql('(').visit(K_BOTH).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')'); + ctx.visit(N_TRIM).sql('(').visit(K_BOTH).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')'); } + + }