Skip to content

Commit 3dc855a

Browse files
committed
HHH-16182 - Converted boolean values not always properly handled in predicates
1 parent 48236e3 commit 3dc855a

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

documentation/src/test/java/org/hibernate/userguide/mapping/basic/BooleanMappingTests.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.hibernate.boot.model.FunctionContributor;
1313
import org.hibernate.dialect.OracleDialect;
1414
import org.hibernate.dialect.SQLServerDialect;
15+
import org.hibernate.dialect.SybaseASEDialect;
1516
import org.hibernate.dialect.SybaseDialect;
1617
import org.hibernate.engine.spi.SessionImplementor;
1718
import org.hibernate.metamodel.mapping.JdbcMapping;
@@ -329,9 +330,15 @@ private int countByCriteria(String attributeName, boolean matchValue, SessionImp
329330
return result.intValue();
330331
}
331332

333+
/**
334+
* @implNote Skipped for dialects without support for boolean (predicate) expressions. The test
335+
* is really about handling the SQM function reference anyway; the actual Dialect implementation
336+
* is not standard.
337+
*/
332338
@Test
333339
@SkipForDialect(dialectClass = OracleDialect.class)
334-
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true)
340+
@SkipForDialect(dialectClass = SybaseDialect.class)
341+
@SkipForDialect(dialectClass = SybaseASEDialect.class)
335342
@SkipForDialect(dialectClass = SQLServerDialect.class)
336343
public void testBooleanFunctionAsPredicate(SessionFactoryScope scope) {
337344
// Not strictly relevant to boolean mappings, but test that boolean
@@ -348,9 +355,15 @@ public void testBooleanFunctionAsPredicate(SessionFactoryScope scope) {
348355
assertThat( statementInspector.getSqlQueries().get( 0 ), containsString( "(2=2)" ) );
349356
}
350357

358+
/**
359+
* @implNote Skipped for dialects without support for boolean (predicate) expressions. The test
360+
* is really about handling the SQM function reference anyway; the actual Dialect implementation
361+
* is not standard.
362+
*/
351363
@Test
352364
@SkipForDialect(dialectClass = OracleDialect.class)
353-
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true)
365+
@SkipForDialect(dialectClass = SybaseDialect.class)
366+
@SkipForDialect(dialectClass = SybaseASEDialect.class)
354367
@SkipForDialect(dialectClass = SQLServerDialect.class)
355368
public void testBooleanFunctionInPredicate(SessionFactoryScope scope) {
356369
// Not strictly relevant to boolean mappings, but test that boolean

0 commit comments

Comments
 (0)