diff --git a/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml b/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml
index dcb100dc2b..b32100dad6 100644
--- a/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml
+++ b/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml
@@ -52,6 +52,15 @@
BIT
(?i:(.*?.)?T_BOOLEANS.(VC|C|N)_BOOLEAN)
+
+
+
+ SIGNED TINYINT
+ (?i:(.*?.)?T_639_NUMBERS_TABLE.BYTE)
+
org.jooq.test._.converters.Boolean_YES_NO_LC
diff --git a/jOOQ-test/src/org/jooq/test/SybaseTest.java b/jOOQ-test/src/org/jooq/test/SybaseTest.java
index 609c51bc9e..95437ad6a4 100644
--- a/jOOQ-test/src/org/jooq/test/SybaseTest.java
+++ b/jOOQ-test/src/org/jooq/test/SybaseTest.java
@@ -44,6 +44,7 @@ import static org.jooq.test.sybase.generatedclasses.Tables.T_EXOTIC_TYPES;
import static org.jooq.test.sybase.generatedclasses.Tables.T_IDENTITY;
import static org.jooq.test.sybase.generatedclasses.Tables.T_IDENTITY_PK;
import static org.jooq.test.sybase.generatedclasses.Tables.T_TRIGGERS;
+import static org.jooq.test.sybase.generatedclasses.Tables.T_UNSIGNED;
import static org.jooq.test.sybase.generatedclasses.Tables.V_AUTHOR;
import static org.jooq.test.sybase.generatedclasses.Tables.V_BOOK;
import static org.jooq.test.sybase.generatedclasses.Tables.V_LIBRARY;
@@ -86,6 +87,7 @@ import org.jooq.test.sybase.generatedclasses.tables.records.TExoticTypesRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.TIdentityPkRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.TIdentityRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.TTriggersRecord;
+import org.jooq.test.sybase.generatedclasses.tables.records.TUnsignedRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.T_639NumbersTableRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.T_725LobTestRecord;
import org.jooq.test.sybase.generatedclasses.tables.records.T_785Record;
@@ -117,7 +119,7 @@ public class SybaseTest extends jOOQAbstractTest<
TBooleansRecord,
XUnusedRecord,
TTriggersRecord,
- XUnusedRecord,
+ TUnsignedRecord,
TExoticTypesRecord,
TIdentityRecord,
TIdentityPkRecord,
@@ -257,28 +259,28 @@ public class SybaseTest extends jOOQAbstractTest<
}
@Override
- protected Table TUnsigned() {
- return null;
+ protected Table TUnsigned() {
+ return T_UNSIGNED;
}
@Override
- protected TableField TUnsigned_U_BYTE() {
- return null;
+ protected TableField TUnsigned_U_BYTE() {
+ return T_UNSIGNED.U_BYTE;
}
@Override
- protected TableField TUnsigned_U_SHORT() {
- return null;
+ protected TableField TUnsigned_U_SHORT() {
+ return T_UNSIGNED.U_SHORT;
}
@Override
- protected TableField TUnsigned_U_INT() {
- return null;
+ protected TableField TUnsigned_U_INT() {
+ return T_UNSIGNED.U_INT;
}
@Override
- protected TableField TUnsigned_U_LONG() {
- return null;
+ protected TableField TUnsigned_U_LONG() {
+ return T_UNSIGNED.U_LONG;
}
@Override
diff --git a/jOOQ-test/src/org/jooq/test/sybase/create.sql b/jOOQ-test/src/org/jooq/test/sybase/create.sql
index b37e318294..664979ec7b 100644
--- a/jOOQ-test/src/org/jooq/test/sybase/create.sql
+++ b/jOOQ-test/src/org/jooq/test/sybase/create.sql
@@ -40,6 +40,7 @@ DROP TABLE IF EXISTS t_658_22/
DROP TABLE IF EXISTS t_658_32/
DROP TABLE IF EXISTS t_725_lob_test/
DROP TABLE IF EXISTS t_785/
+DROP TABLE IF EXISTS t_unsigned/
DROP TABLE IF EXISTS t_booleans/
DROP TABLE IF EXISTS t_identity/
DROP TABLE IF EXISTS t_identity_pk/
@@ -87,6 +88,14 @@ CREATE TABLE t_booleans (
)
/
+CREATE TABLE t_unsigned (
+ u_byte unsigned tinyint null,
+ u_short unsigned smallint null,
+ u_int unsigned int null,
+ u_long unsigned bigint null
+)
+/
+
CREATE TABLE t_triggers (
id_generated int IDENTITY not null,
id int null,
diff --git a/jOOQ/src/main/java/org/jooq/util/sybase/SybaseDataType.java b/jOOQ/src/main/java/org/jooq/util/sybase/SybaseDataType.java
index 6e241c92f4..df9b6033e8 100644
--- a/jOOQ/src/main/java/org/jooq/util/sybase/SybaseDataType.java
+++ b/jOOQ/src/main/java/org/jooq/util/sybase/SybaseDataType.java
@@ -41,6 +41,10 @@ import org.jooq.DataType;
import org.jooq.SQLDialect;
import org.jooq.impl.DefaultDataType;
import org.jooq.impl.SQLDataType;
+import org.jooq.types.UByte;
+import org.jooq.types.UInteger;
+import org.jooq.types.ULong;
+import org.jooq.types.UShort;
/**
* Supported data types for the {@link SQLDialect#SYBASE} dialect
@@ -54,14 +58,15 @@ public class SybaseDataType {
// Default SQL data types and synonyms thereof
// -------------------------------------------------------------------------
- public static final DataType TINYINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.TINYINT, "tinyint");
+ public static final DataType UNSIGNEDTINYINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.TINYINTUNSIGNED, "unsigned tinyint");
+ public static final DataType TINYINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.TINYINTUNSIGNED, "tinyint");
public static final DataType SMALLINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.SMALLINT, "smallint");
- public static final DataType UNSIGNEDSMALLLINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.SMALLINT, "unsignedsmallint");
+ public static final DataType UNSIGNEDSMALLLINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.SMALLINTUNSIGNED, "unsigned smallint");
public static final DataType INT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.INTEGER, "int");
public static final DataType INTEGER = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.INTEGER, "integer");
- public static final DataType UNSIGNEDINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.INTEGER, "unsignedint");
+ public static final DataType UNSIGNEDINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.INTEGERUNSIGNED, "unsigned int");
public static final DataType BIGINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.BIGINT, "bigint");
- public static final DataType UNSIGNEDBIGINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.BIGINT, "unsignedbigint");
+ public static final DataType UNSIGNEDBIGINT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.BIGINTUNSIGNED, "unsigned bigint");
public static final DataType DOUBLE = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.DOUBLE, "double");
public static final DataType FLOAT = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.FLOAT, "float");
public static final DataType REAL = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.REAL, "real");
@@ -90,6 +95,8 @@ public class SybaseDataType {
protected static final DataType __BLOB = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.BLOB, "binary");
protected static final DataType __BOOLEAN = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.BOOLEAN, "bit");
+ protected static final DataType __BYTE = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.TINYINT, "tinyint");
+ protected static final DataType __BYTESIGNED = new DefaultDataType(SQLDialect.SYBASE, SQLDataType.TINYINT, "signed tinyint");
// -------------------------------------------------------------------------
// Compatibility types for supported Java types