diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionIT.java index 5e5f479007..d371cdea06 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionIT.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionIT.java @@ -165,6 +165,9 @@ public void testInNull() { */ @Test public void testSelectWithScalarAsWhereCondition() { + if (adapter.supportScalarAsExpression()){ + return; + } ObjectSelect objectSelect = ObjectSelect.query(Artist.class).where(ExpressionFactory.wrapScalarValue("abc")); CayenneRuntimeException exception = assertThrows(CayenneRuntimeException.class, () -> objectSelect.select(context)); assertTrue(exception.getMessage().contains("Query exception.")); diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java index a3c42e1ee1..6875780271 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java @@ -130,4 +130,9 @@ public boolean supportsGeneratedKeysAdd() { public boolean supportsGeneratedKeysDrop() { return true; } + + @Override + public boolean supportScalarAsExpression() { + return true; + } } diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java index 7122d4b7a5..177dbdae36 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java @@ -422,4 +422,12 @@ public boolean supportsLongIn() { public boolean supportsNullComparison() { return true; } + + /** + * Support for select like this: + * SELECT t0.ARTIST_NAME FROM ARTIST t0 WHERE 'abc' + */ + public boolean supportScalarAsExpression(){ + return false; + } }