From bf6c3c4b452b763808dfee16f30e0e84557635ab Mon Sep 17 00:00:00 2001 From: kxbmap Date: Wed, 22 Jul 2015 20:12:20 +0900 Subject: [PATCH 1/2] Relax type constraint of DSL.shl() and DSL.shr() --- jOOQ/src/main/java/org/jooq/impl/DSL.java | 16 ++++++------- .../test/java/org/jooq/test/BasicTest.java | 24 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 41d8361f17..c739bf63bb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -9959,7 +9959,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shl(T value1, T value2) { + public static Field shl(T value1, Number value2) { return shl(Utils.field(value1), Utils.field(value2)); } @@ -9970,7 +9970,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shl(T value1, Field value2) { + public static Field shl(T value1, Field value2) { return shl(Utils.field(value1), nullSafe(value2)); } @@ -9981,7 +9981,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shl(Fieldvalue1, T value2) { + public static Field shl(Fieldvalue1, Number value2) { return shl(nullSafe(value1), Utils.field(value2)); } @@ -9995,7 +9995,7 @@ public class DSL { * @see #power(Field, Field) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shl(Field field1, Field field2) { + public static Field shl(Field field1, Field field2) { return new Expression(ExpressionOperator.SHL, nullSafe(field1), nullSafe(field2)); } @@ -10006,7 +10006,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shr(T value1, T value2) { + public static Field shr(T value1, Number value2) { return shr(Utils.field(value1), Utils.field(value2)); } @@ -10017,7 +10017,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shr(T value1, Field value2) { + public static Field shr(T value1, Field value2) { return shr(Utils.field(value1), nullSafe(value2)); } @@ -10028,7 +10028,7 @@ public class DSL { * @see #power(Field, Number) */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shr(Field value1, T value2) { + public static Field shr(Field value1, Number value2) { return shr(nullSafe(value1), Utils.field(value2)); } @@ -10042,7 +10042,7 @@ public class DSL { * @see #power(Field, Field) */ @Support({ CUBRID, H2, FIREBIRD, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field shr(Field field1, Field field2) { + public static Field shr(Field field1, Field field2) { return new Expression(ExpressionOperator.SHR, nullSafe(field1), nullSafe(field2)); } diff --git a/jOOQ/src/test/java/org/jooq/test/BasicTest.java b/jOOQ/src/test/java/org/jooq/test/BasicTest.java index 15cb94177e..b09cb96800 100644 --- a/jOOQ/src/test/java/org/jooq/test/BasicTest.java +++ b/jOOQ/src/test/java/org/jooq/test/BasicTest.java @@ -430,23 +430,23 @@ public class BasicTest extends AbstractTest { DSL.second((java.util.Date) null), DSL.second((Field) null)); assertEquals( - DSL.shl((Integer) null, (Integer) null), - DSL.shl((Integer) null, (Field) null)); + DSL.shl((Long) null, (Integer) null), + DSL.shl((Long) null, (Field) null)); assertEquals( - DSL.shl((Integer) null, (Integer) null), - DSL.shl((Field) null, (Integer) null)); + DSL.shl((Long) null, (Integer) null), + DSL.shl((Field) null, (Integer) null)); assertEquals( - DSL.shl((Integer) null, (Integer) null), - DSL.shl((Field) null, (Field) null)); + DSL.shl((Long) null, (Integer) null), + DSL.shl((Field) null, (Field) null)); assertEquals( - DSL.shr((Integer) null, (Integer) null), - DSL.shr((Integer) null, (Field) null)); + DSL.shr((Long) null, (Integer) null), + DSL.shr((Long) null, (Field) null)); assertEquals( - DSL.shr((Integer) null, (Integer) null), - DSL.shr((Field) null, (Integer) null)); + DSL.shr((Long) null, (Integer) null), + DSL.shr((Field) null, (Integer) null)); assertEquals( - DSL.shr((Integer) null, (Integer) null), - DSL.shr((Field) null, (Field) null)); + DSL.shr((Long) null, (Integer) null), + DSL.shr((Field) null, (Field) null)); assertEquals( DSL.sign((Integer) null), DSL.sign((Field) null)); From 2f1c46a65550248ced4a9be2e80dde21a285ecac Mon Sep 17 00:00:00 2001 From: kxbmap Date: Wed, 22 Jul 2015 21:22:30 +0900 Subject: [PATCH 2/2] Change signature of Field.shl() and Field.shr() --- jOOQ/src/main/java/org/jooq/Field.java | 8 ++++---- .../main/java/org/jooq/impl/AbstractField.java | 16 ++++++++-------- jOOQ/src/test/java/org/jooq/test/BasicTest.java | 6 ++++++ 3 files changed, 18 insertions(+), 12 deletions(-) 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 // ---------------------------------------------