[#800] Add support for Sybase Adaptive Server Enterprise - fixed many integration tests
This commit is contained in:
parent
65bb1d29e9
commit
2045325fe7
@ -1914,7 +1914,11 @@ public abstract class jOOQAbstractTest<
|
||||
assertEquals("1", create().select(create().cast(1, String.class)).fetchOne(0));
|
||||
}
|
||||
|
||||
assertEquals(null, create().select(create().castNull(Boolean.class)).fetchOne(0));
|
||||
// Sybase ASE does not know null bits
|
||||
if (getDialect() != SQLDialect.ADAPTIVESERVER) {
|
||||
assertEquals(null, create().select(create().castNull(Boolean.class)).fetchOne(0));
|
||||
}
|
||||
|
||||
assertEquals(null, create().select(create().castNull(Byte.class)).fetchOne(0));
|
||||
assertEquals(null, create().select(create().castNull(Short.class)).fetchOne(0));
|
||||
assertEquals(null, create().select(create().castNull(Integer.class)).fetchOne(0));
|
||||
@ -1985,6 +1989,13 @@ public abstract class jOOQAbstractTest<
|
||||
}
|
||||
}
|
||||
|
||||
if (getDialect() == SQLDialect.ADAPTIVESERVER) {
|
||||
if (type.getType() == Boolean.class) {
|
||||
log.info("SKIPPING", "Casting to bit type in Sybase ASE");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals(null, create().select(val(null).cast(type)).fetchOne(0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ import org.jooq.test.adaptiveserver.generatedclasses.tables.records.T_725LobTest
|
||||
import org.jooq.test.adaptiveserver.generatedclasses.tables.records.T_785Record;
|
||||
import org.jooq.test.adaptiveserver.generatedclasses.tables.records.VLibraryRecord;
|
||||
import org.jooq.test.adaptiveserver.generatedclasses.tables.records.XUnusedRecord;
|
||||
import org.jooq.util.sybase.SybaseDataType;
|
||||
import org.jooq.util.adaptiveserver.AdaptiveServerDataType;
|
||||
|
||||
|
||||
/**
|
||||
@ -531,29 +531,39 @@ public class jOOQAdaptiveServerTest extends jOOQAbstractTest<
|
||||
@Override
|
||||
protected DataType<?>[] getCastableDataTypes() {
|
||||
return new DataType<?>[] {
|
||||
SybaseDataType.MONEY,
|
||||
SybaseDataType.SMALLMONEY,
|
||||
SybaseDataType.CHAR,
|
||||
SybaseDataType.LONGNVARCHAR,
|
||||
SybaseDataType.LONGVARCHAR,
|
||||
SybaseDataType.NCHAR,
|
||||
SybaseDataType.NTEXT,
|
||||
SybaseDataType.NVARCHAR,
|
||||
SybaseDataType.TEXT,
|
||||
SybaseDataType.UNIQUEIDENTIFIERSTR,
|
||||
SybaseDataType.VARCHAR,
|
||||
SybaseDataType.XML,
|
||||
SybaseDataType.UNIQUEIDENTIFIER,
|
||||
SybaseDataType.BIGINT,
|
||||
SybaseDataType.BIT,
|
||||
SybaseDataType.DECIMAL,
|
||||
SybaseDataType.DOUBLE,
|
||||
SybaseDataType.FLOAT,
|
||||
SybaseDataType.INTEGER,
|
||||
SybaseDataType.NUMERIC,
|
||||
SybaseDataType.REAL,
|
||||
SybaseDataType.SMALLINT,
|
||||
SybaseDataType.TINYINT,
|
||||
AdaptiveServerDataType.BIGINT,
|
||||
AdaptiveServerDataType.BINARY,
|
||||
AdaptiveServerDataType.CHAR,
|
||||
AdaptiveServerDataType.DATE,
|
||||
AdaptiveServerDataType.DATETIME,
|
||||
AdaptiveServerDataType.DEC,
|
||||
AdaptiveServerDataType.DECIMAL,
|
||||
AdaptiveServerDataType.DOUBLE_PRECISION,
|
||||
AdaptiveServerDataType.FLOAT,
|
||||
AdaptiveServerDataType.IMAGE,
|
||||
AdaptiveServerDataType.INT,
|
||||
AdaptiveServerDataType.INTEGER,
|
||||
AdaptiveServerDataType.LONGVARCHAR,
|
||||
AdaptiveServerDataType.MONEY,
|
||||
AdaptiveServerDataType.NCHAR,
|
||||
AdaptiveServerDataType.NUMERIC,
|
||||
AdaptiveServerDataType.NVARCHAR,
|
||||
AdaptiveServerDataType.REAL,
|
||||
AdaptiveServerDataType.SMALLDATETIME,
|
||||
AdaptiveServerDataType.SMALLINT,
|
||||
AdaptiveServerDataType.SMALLMONEY,
|
||||
AdaptiveServerDataType.TEXT,
|
||||
AdaptiveServerDataType.TIME,
|
||||
AdaptiveServerDataType.TIMESTAMP,
|
||||
AdaptiveServerDataType.TINYINT,
|
||||
AdaptiveServerDataType.UNICHAR,
|
||||
AdaptiveServerDataType.UNITEXT,
|
||||
AdaptiveServerDataType.UNIVARCHAR,
|
||||
AdaptiveServerDataType.UNSIGNEDBIGINT,
|
||||
AdaptiveServerDataType.UNSIGNEDINT,
|
||||
AdaptiveServerDataType.UNSIGNEDSMALLLINT,
|
||||
AdaptiveServerDataType.VARBINARY,
|
||||
AdaptiveServerDataType.VARCHAR,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,6 +63,7 @@ class Mod<T> extends AbstractFunction<T> {
|
||||
@Override
|
||||
final Field<T> getFunction0(Configuration configuration) {
|
||||
switch (configuration.getDialect()) {
|
||||
case ADAPTIVESERVER:
|
||||
case SQLITE:
|
||||
case SQLSERVER:
|
||||
return new Expression<T>(MODULO, arg1, arg2);
|
||||
|
||||
@ -75,16 +75,14 @@ public class AdaptiveServerDataType<T> extends AbstractDataType<T> {
|
||||
public static final AdaptiveServerDataType<Boolean> BIT = new AdaptiveServerDataType<Boolean>(SQLDataType.BIT, "bit");
|
||||
public static final AdaptiveServerDataType<String> VARCHAR = new AdaptiveServerDataType<String>(SQLDataType.VARCHAR, "varchar");
|
||||
public static final AdaptiveServerDataType<String> CHAR = new AdaptiveServerDataType<String>(SQLDataType.CHAR, "char");
|
||||
public static final AdaptiveServerDataType<String> LONGNVARCHAR = new AdaptiveServerDataType<String>(SQLDataType.LONGNVARCHAR, "long nvarchar");
|
||||
public static final AdaptiveServerDataType<String> LONGVARCHAR = new AdaptiveServerDataType<String>(SQLDataType.LONGVARCHAR, "long varchar");
|
||||
public static final AdaptiveServerDataType<String> LONGVARCHAR = new AdaptiveServerDataType<String>(SQLDataType.LONGVARCHAR, "text");
|
||||
public static final AdaptiveServerDataType<String> NCHAR = new AdaptiveServerDataType<String>(SQLDataType.NCHAR, "nchar");
|
||||
public static final AdaptiveServerDataType<String> NTEXT = new AdaptiveServerDataType<String>(SQLDataType.NCLOB, "ntext");
|
||||
public static final AdaptiveServerDataType<String> NVARCHAR = new AdaptiveServerDataType<String>(SQLDataType.NVARCHAR, "nvarchar");
|
||||
public static final AdaptiveServerDataType<String> TEXT = new AdaptiveServerDataType<String>(SQLDataType.CLOB, "text");
|
||||
public static final AdaptiveServerDataType<Date> DATE = new AdaptiveServerDataType<Date>(SQLDataType.DATE, "date");
|
||||
public static final AdaptiveServerDataType<Time> TIME = new AdaptiveServerDataType<Time>(SQLDataType.TIME, "time");
|
||||
public static final AdaptiveServerDataType<Timestamp> DATETIME = new AdaptiveServerDataType<Timestamp>(SQLDataType.TIMESTAMP, "datetime");
|
||||
public static final AdaptiveServerDataType<Timestamp> TIMESTAMP = new AdaptiveServerDataType<Timestamp>(SQLDataType.TIMESTAMP, "timestamp");
|
||||
public static final AdaptiveServerDataType<Timestamp> TIMESTAMP = new AdaptiveServerDataType<Timestamp>(SQLDataType.TIMESTAMP, "datetime");
|
||||
public static final AdaptiveServerDataType<byte[]> BINARY = new AdaptiveServerDataType<byte[]>(SQLDataType.BINARY, "binary");
|
||||
public static final AdaptiveServerDataType<byte[]> VARBINARY = new AdaptiveServerDataType<byte[]>(SQLDataType.VARBINARY, "varbinary");
|
||||
|
||||
@ -93,7 +91,9 @@ public class AdaptiveServerDataType<T> extends AbstractDataType<T> {
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
protected static final AdaptiveServerDataType<byte[]> __BLOB = new AdaptiveServerDataType<byte[]>(SQLDataType.BLOB, "binary");
|
||||
protected static final AdaptiveServerDataType<byte[]> __LONGVARBINARY = new AdaptiveServerDataType<byte[]>(SQLDataType.LONGVARBINARY, "varbinary");
|
||||
protected static final AdaptiveServerDataType<Boolean> __BOOLEAN = new AdaptiveServerDataType<Boolean>(SQLDataType.BOOLEAN, "bit");
|
||||
protected static final AdaptiveServerDataType<String> __LONGNVARCHAR = new AdaptiveServerDataType<String>(SQLDataType.LONGNVARCHAR, "unitext");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Compatibility types for supported Java types
|
||||
@ -111,6 +111,8 @@ public class AdaptiveServerDataType<T> extends AbstractDataType<T> {
|
||||
public static final AdaptiveServerDataType<BigDecimal> MONEY = new AdaptiveServerDataType<BigDecimal>(SQLDataType.DECIMAL, "money");
|
||||
public static final AdaptiveServerDataType<BigDecimal> SMALLMONEY = new AdaptiveServerDataType<BigDecimal>(SQLDataType.DECIMAL, "smallmoney");
|
||||
public static final AdaptiveServerDataType<Timestamp> SMALLDATETIME = new AdaptiveServerDataType<Timestamp>(SQLDataType.TIMESTAMP, "smalldatetime");
|
||||
public static final AdaptiveServerDataType<Timestamp> BIGDATETIME = new AdaptiveServerDataType<Timestamp>(SQLDataType.TIMESTAMP, "bigdatetime");
|
||||
public static final AdaptiveServerDataType<Time> BIGTIME = new AdaptiveServerDataType<Time>(SQLDataType.TIME, "bigtime");
|
||||
public static final AdaptiveServerDataType<byte[]> IMAGE = new AdaptiveServerDataType<byte[]>(SQLDataType.BINARY, "image");
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user