diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index 421f24941c..bd2ac65a54 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -1423,28 +1423,29 @@ public interface Field extends SelectField, GroupField, FieldOrRow { Condition notContains(Field value); /** - * Convenience method for {@link #likeIgnoreCase(String, char)} including proper - * adding of wildcards and escaping. - * + * Convenience method for {@link #likeIgnoreCase(String, char)} including + * proper adding of wildcards and escaping. *

- * This translates to this not ilike ('%' || escape(value, '\') || '%') escape '\' - * in {@link SQLDialect#POSTGRES}, or to + * This translates to + * this ilike ('%' || escape(value, '\') || '%') escape '\' in + * {@link SQLDialect#POSTGRES}, or to * lower(this) not like lower(('%' || escape(value, '\') || '%') escape '\') * in all other dialects. *

* * @see DSL#escape(Field, char) - * @see #likeIgnoreCase(Field, char) + * @see #likeIgnoreCase(String, char) + * @see #contains(Object) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Condition containsIgnoreCase(T value); + Condition containsIgnoreCase(T value); /** - * Convenience method for {@link #likeIgnoreCase(String, char)} including proper - * adding of wildcards and escaping. - * + * Convenience method for {@link #likeIgnoreCase(String, char)} including + * proper adding of wildcards and escaping. *

- * This translates to this not ilike ('%' || escape(value, '\') || '%') escape '\' + * This translates to + * this not ilike ('%' || escape(value, '\') || '%') escape '\' * in {@link SQLDialect#POSTGRES}, or to * lower(this) not like lower(('%' || escape(value, '\') || '%') escape '\') * in all other dialects. @@ -1452,23 +1453,24 @@ public interface Field extends SelectField, GroupField, FieldOrRow { * * @see DSL#escape(Field, char) * @see #likeIgnoreCase(Field, char) + * @see #contains(Field) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Condition containsIgnoreCase(Field value); + Condition containsIgnoreCase(Field value); /** * Inverse of {@link #containsIgnoreCase(Object)} */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Condition notContainsIgnoreCase(T value); + Condition notContainsIgnoreCase(T value); /** * Inverse of {@link #containsIgnoreCase(Field)} */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Condition notContainsIgnoreCase(Field value); + Condition notContainsIgnoreCase(Field value); - /** + /** * Convenience method for {@link #like(String, char)} including proper * adding of wildcards and escaping. *

diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java index 492d8096ef..833ccdc094 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java @@ -837,12 +837,12 @@ abstract class AbstractField extends AbstractQueryPart implements Field { @Override public final Condition containsIgnoreCase(T value) { - return new ContainsIgnoreCase<>(this, value); + return new ContainsIgnoreCase(this, value); } @Override public final Condition containsIgnoreCase(Field value) { - return new ContainsIgnoreCase<>(this, value); + return new ContainsIgnoreCase(this, value); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/ContainsIgnoreCase.java b/jOOQ/src/main/java/org/jooq/impl/ContainsIgnoreCase.java index b6c7d44ce9..5301a06a80 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ContainsIgnoreCase.java +++ b/jOOQ/src/main/java/org/jooq/impl/ContainsIgnoreCase.java @@ -51,49 +51,49 @@ import org.jooq.Field; */ final class ContainsIgnoreCase extends AbstractCondition { - /** - * Generated UID - */ - private static final long serialVersionUID = 1795491010886118843L; + /** + * Generated UID + */ + private static final long serialVersionUID = 1795491010886118843L; - private static final Clause[] CLAUSES = {CONDITION, CONDITION_COMPARISON}; + private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON }; - private final Field lhs; - private final Field rhs; - private final T value; + private final Field lhs; + private final Field rhs; + private final T value; - ContainsIgnoreCase(Field field, T value) { - this.lhs = field; - this.rhs = null; - this.value = value; - } + ContainsIgnoreCase(Field field, T value) { + this.lhs = field; + this.rhs = null; + this.value = value; + } - ContainsIgnoreCase(Field field, Field rhs) { - this.lhs = field; - this.rhs = rhs; - this.value = null; - } + ContainsIgnoreCase(Field field, Field rhs) { + this.lhs = field; + this.rhs = rhs; + this.value = null; + } - @Override - public final void accept(Context ctx) { - ctx.visit(condition(ctx.configuration())); - } + @Override + public final void accept(Context ctx) { + ctx.visit(condition(ctx.configuration())); + } - @Override - public final Clause[] clauses(Context ctx) { - return CLAUSES; - } + @Override + public final Clause[] clauses(Context ctx) { + return CLAUSES; + } - private final Condition condition(Configuration configuration) { + private final Condition condition(Configuration configuration) { + Field concat; - Field concat; + if (rhs == null) { + concat = DSL.concat(inline("%"), Tools.escapeForLike(value, configuration), inline("%")); + } + else { + concat = DSL.concat(inline("%"), Tools.escapeForLike(rhs, configuration), inline("%")); + } - if (rhs == null) { - concat = DSL.concat(inline("%"), Tools.escapeForLike(value, configuration), inline("%")); - } else { - concat = DSL.concat(inline("%"), Tools.escapeForLike(rhs, configuration), inline("%")); - } - - return lhs.likeIgnoreCase(concat, Tools.ESCAPE); - } + return lhs.likeIgnoreCase(concat, Tools.ESCAPE); + } } diff --git a/jOOQ/src/main/resources/META-INF/ABOUT.txt b/jOOQ/src/main/resources/META-INF/ABOUT.txt index b730c29868..29a85b7570 100644 --- a/jOOQ/src/main/resources/META-INF/ABOUT.txt +++ b/jOOQ/src/main/resources/META-INF/ABOUT.txt @@ -21,6 +21,7 @@ Authors and contributors of jOOQ or parts of jOOQ in alphabetical order: - Joseph B Phillips - Joseph Pachod - Laurent Pireyn +- Luc Marchaud - Lukas Eder - Matti Tahvonen - Michael Doberenz