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 class DSL { 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 class DSL { 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,6 +15259,60 @@ public class DSL { return new Substring(string, startingPosition); } + /** + * The TRIM function. + */ + @NotNull + @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)); + } + + /** + * The TRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field trim(String string, Field characters) { + return new Trim(Tools.field(string), characters); + } + + /** + * The TRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field trim(Field string, String characters) { + return new Trim(string, Tools.field(characters)); + } + + /** + * The TRIM function. + */ + @NotNull + @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field trim(Field string, Field characters) { + return new Trim(string, characters); + } + + /** + * The TRIM function. + */ + @NotNull + @Support + public static Field trim(String string) { + return new Trim(Tools.field(string)); + } + + /** + * The TRIM function. + */ + @NotNull + @Support + public static Field trim(Field string) { + return new Trim(string); + } + /** @@ -15199,152 +15361,6 @@ public class DSL { 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)); - } - - /** - * 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]))
- */ - @NotNull - @Support - public static Field trim(Field field) { - return new Trim(Tools.nullSafe(field)); - } - - /** - * Get the trim(field, characters) or - * trim(both characters from field) function. - * - * @see #trim(Field, Field) - */ - @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)); - } - - /** - * 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]))
- */ - @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)); - } - - /** - * Get the rtrim(field) function. - * - * @see #rtrim(Field) - */ - @NotNull - @Support - public static Field rtrim(String value) { - return rtrim(Tools.field(value)); - } - - /** - * Get the rtrim(field) function. - *

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

rtrim([field])
- */ - @NotNull - @Support - public static Field rtrim(Field field) { - return new RTrim(Tools.nullSafe(field)); - } - - /** - * 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. - * - * @see #ltrim(Field) - */ - @NotNull - @Support - public static Field ltrim(String value) { - return ltrim(Tools.field(value)); - } - - /** - * Get the ltrim(field) function. - *

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

ltrim([field])
- */ - @NotNull - @Support - public static Field ltrim(Field field) { - return new LTrim(Tools.nullSafe(field)); - } - - /** - * Get the ltrim(field, characters) or - * trim(leading characters from field) function. - * - * @see #ltrim(Field, 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)); - } - - /** - * Get the ltrim(field, characters) or - * trim(leading characters from field) function. - *

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

ltrim([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)); - } - /** * Get the rpad(field, length) function. * 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 @@ final class LTrim extends AbstractField { 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 @@ final class RTrim extends AbstractField { 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,53 +37,64 @@ */ 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 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 java.util.Set; +import org.jooq.*; +import org.jooq.impl.*; -import org.jooq.Context; -import org.jooq.Field; -// ... -import org.jooq.SQLDialect; +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 argument; + private final Field string; private final Field characters; - Trim(Field argument) { - this(argument, null); + Trim( + Field string + ) { + super(N_TRIM, allNotNull(VARCHAR, string)); + + this.string = nullSafeNotNull(string, VARCHAR); + this.characters = null; } - Trim(Field argument, Field characters) { - super(N_TRIM, VARCHAR); + Trim( + Field string, + Field characters + ) { + super(N_TRIM, 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) { @@ -92,15 +103,17 @@ final class Trim extends AbstractField { - 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(')'); } + + }