HHH-3691 : Sybase does not support Blobs and Clobs; skip unit tests that use Blobs/Clobs
git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@15883 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
parent
832b611185
commit
cc78cbf6fe
|
@ -134,9 +134,9 @@ public class SQLServerDialect extends SybaseDialect {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean supportsCascadeDelete() {
|
||||
return true;
|
||||
}
|
||||
public boolean supportsCascadeDelete() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean supportsCircularCascadeDeleteConstraints() {
|
||||
// SQL Server (at least up through 2005) does not support defining
|
||||
|
@ -145,6 +145,10 @@ public class SQLServerDialect extends SybaseDialect {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean supportsExpectedLobUsagePattern() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean supportsLobValueChangePropogation() {
|
||||
// note: at least my local SQL Server 2005 Express shows this not working...
|
||||
return false;
|
||||
|
|
|
@ -251,6 +251,10 @@ public class SybaseDialect extends Dialect {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean supportsExpectedLobUsagePattern() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean supportsEmptyInList() {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import junit.framework.Test;
|
|||
import org.hibernate.Hibernate;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.Transaction;
|
||||
import org.hibernate.dialect.PostgreSQLDialect;
|
||||
import org.hibernate.junit.functional.FunctionalTestCase;
|
||||
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
|
||||
|
||||
|
@ -33,8 +32,8 @@ public class InterfaceProxyTest extends FunctionalTestCase {
|
|||
|
||||
public void testInterfaceProxies() {
|
||||
|
||||
if ( getDialect() instanceof PostgreSQLDialect ) {
|
||||
// TODO : why?
|
||||
if ( ! getDialect().supportsExpectedLobUsagePattern() ) {
|
||||
reportSkip( "database/driver does not support expected LOB usage pattern", "LOB support" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.hibernate.dialect.Oracle9Dialect;
|
|||
import org.hibernate.dialect.OracleDialect;
|
||||
import org.hibernate.dialect.SybaseDialect;
|
||||
import org.hibernate.dialect.TimesTenDialect;
|
||||
import org.hibernate.dialect.SQLServerDialect;
|
||||
import org.hibernate.dialect.function.SQLFunction;
|
||||
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
|
||||
|
||||
|
@ -498,6 +499,14 @@ public class SQLFunctionsTest extends LegacyTestCase {
|
|||
//s.refresh(b);
|
||||
//assertTrue( b.getClob() instanceof ClobImpl );
|
||||
s.flush();
|
||||
|
||||
// Sybase ASE does not support ResultSet.getBlob(String)
|
||||
if ( getDialect() instanceof SybaseDialect && ! ( getDialect() instanceof SQLServerDialect ) ) {
|
||||
s.connection().rollback();
|
||||
s.close();
|
||||
return;
|
||||
}
|
||||
|
||||
s.refresh(b);
|
||||
//b.getBlob().setBytes( 2, "abc".getBytes() );
|
||||
b.getClob().getSubString(2, 3);
|
||||
|
|
|
@ -4,6 +4,9 @@ package org.hibernate.test.lob;
|
|||
import junit.framework.Test;
|
||||
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.dialect.SybaseDialect;
|
||||
import org.hibernate.dialect.SQLServerDialect;
|
||||
import org.hibernate.junit.functional.FunctionalTestCase;
|
||||
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
|
||||
|
||||
|
@ -26,11 +29,17 @@ public class SerializableTypeTest extends FunctionalTestCase {
|
|||
return new FunctionalTestClassTestSuite( SerializableTypeTest.class );
|
||||
}
|
||||
|
||||
|
||||
public String getCacheConcurrencyStrategy() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void testNewSerializableType() {
|
||||
// Sybase ASE does not support ResultSet.getBlob(String)
|
||||
if ( getDialect() instanceof SybaseDialect && ! ( getDialect() instanceof SQLServerDialect ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
final String payloadText = "Initial payload";
|
||||
|
||||
Session s = openSession();
|
||||
|
|
|
@ -6,7 +6,6 @@ import junit.framework.Test;
|
|||
import org.hibernate.Hibernate;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.Transaction;
|
||||
import org.hibernate.dialect.PostgreSQLDialect;
|
||||
import org.hibernate.junit.functional.FunctionalTestCase;
|
||||
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
|
||||
|
||||
|
@ -57,7 +56,10 @@ public class MixedTest extends FunctionalTestCase {
|
|||
t.commit();
|
||||
s.close();
|
||||
|
||||
if ( getDialect() instanceof PostgreSQLDialect ) return;
|
||||
if ( ! getDialect().supportsExpectedLobUsagePattern() ) {
|
||||
reportSkip( "database/driver does not support expected LOB usage pattern", "LOB support" );
|
||||
return;
|
||||
}
|
||||
|
||||
s = openSession( new DocumentInterceptor() );
|
||||
t = s.beginTransaction();
|
||||
|
|
Loading…
Reference in New Issue