diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index 939245cf35..7099ad5285 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -856,7 +856,7 @@ public interface Field extends SelectField, GroupField { * @see DSL#power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Field shl(T value); + Field shl(Number value); /** * The bitwise left shift operator. @@ -865,7 +865,7 @@ public interface Field extends SelectField, GroupField { * @see DSL#power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Field shl(Field value); + Field shl(Field value); /** * The bitwise right shift operator. @@ -874,7 +874,7 @@ public interface Field extends SelectField, GroupField { * @see DSL#power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Field shr(T value); + Field shr(Number value); /** * The bitwise right shift operator. @@ -883,7 +883,7 @@ public interface Field extends SelectField, GroupField { * @see DSL#power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - Field shr(Field value); + Field shr(Field value); // ------------------------------------------------------------------------ // NULL predicates diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java index 9e1070d735..8e5a941d5b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java @@ -542,26 +542,26 @@ abstract class AbstractField extends AbstractQueryPart implements Field { @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public final Field shl(T value) { - return DSL.shl((Field) this, (Field) val(value, this)); + public final Field shl(Number value) { + return DSL.shl((Field) this, (Field) Utils.field(value)); } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public final Field shl(Field value) { - return DSL.shl((Field) this, (Field) value); + public final Field shl(Field value) { + return DSL.shl((Field) this, value); } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public final Field shr(T value) { - return DSL.shr((Field) this, (Field) val(value, this)); + public final Field shr(Number value) { + return DSL.shr((Field) this, (Field) Utils.field(value)); } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public final Field shr(Field value) { - return DSL.shr((Field) this, (Field) value); + public final Field shr(Field value) { + return DSL.shr((Field) this, value); } // ------------------------------------------------------------------------ diff --git a/jOOQ/src/test/java/org/jooq/test/BasicTest.java b/jOOQ/src/test/java/org/jooq/test/BasicTest.java index b09cb96800..941fb4d0bd 100644 --- a/jOOQ/src/test/java/org/jooq/test/BasicTest.java +++ b/jOOQ/src/test/java/org/jooq/test/BasicTest.java @@ -159,6 +159,12 @@ public class BasicTest extends AbstractTest { assertEquals( FIELD_ID1.sub((Integer) null), FIELD_ID1.sub((Field) null)); + assertEquals( + FIELD_ID1.shl((Long) null), + FIELD_ID1.shl((Field) null)); + assertEquals( + FIELD_ID1.shr((Long) null), + FIELD_ID1.shr((Field) null)); // Standalone functions created from the factory // ---------------------------------------------