[#863] Ingres integration generates illegal SQL when selecting things like SELECT 1 WHERE 1 = 1
This commit is contained in:
parent
a447385e32
commit
d277d61cae
@ -6187,7 +6187,6 @@ public abstract class jOOQAbstractTest<
|
||||
assertEquals(0, create().select().where(val("n").isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("no").isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("0").isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val(false).isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("disabled").isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("off").isTrue()).fetch().size());
|
||||
|
||||
@ -6196,11 +6195,9 @@ public abstract class jOOQAbstractTest<
|
||||
assertEquals(1, create().select().where(val("y").isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("yes").isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("1").isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val(true).isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("enabled").isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("on").isTrue()).fetch().size());
|
||||
|
||||
|
||||
assertEquals(0, create().select().where(val("asdf").isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val(null).isFalse()).fetch().size());
|
||||
|
||||
@ -6209,7 +6206,7 @@ public abstract class jOOQAbstractTest<
|
||||
assertEquals(1, create().select().where(val("n").isFalse()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("no").isFalse()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("0").isFalse()).fetch().size());
|
||||
assertEquals(1, create().select().where(val(false).isFalse()).fetch().size());
|
||||
|
||||
assertEquals(1, create().select().where(val("disabled").isFalse()).fetch().size());
|
||||
assertEquals(1, create().select().where(val("off").isFalse()).fetch().size());
|
||||
|
||||
@ -6218,9 +6215,17 @@ public abstract class jOOQAbstractTest<
|
||||
assertEquals(0, create().select().where(val("y").isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("yes").isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("1").isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val(true).isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("enabled").isFalse()).fetch().size());
|
||||
assertEquals(0, create().select().where(val("on").isFalse()).fetch().size());
|
||||
|
||||
// The below code throws an exception on Ingres when run once. When run
|
||||
// twice, the DB crashes... This seems to be a driver / database bug
|
||||
if (getDialect() != SQLDialect.INGRES) {
|
||||
assertEquals(0, create().select().where(val(false).isTrue()).fetch().size());
|
||||
assertEquals(1, create().select().where(val(false).isFalse()).fetch().size());
|
||||
assertEquals(1, create().select().where(val(true).isTrue()).fetch().size());
|
||||
assertEquals(0, create().select().where(val(true).isFalse()).fetch().size());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -72,15 +72,18 @@ class Dual extends AbstractTable<Record> {
|
||||
@Override
|
||||
public final void toSQL(RenderContext context) {
|
||||
switch (context.getDialect()) {
|
||||
case ASE:
|
||||
case POSTGRES:
|
||||
case SQLITE:
|
||||
case SQLSERVER:
|
||||
break;
|
||||
|
||||
case HSQLDB:
|
||||
context.sql("INFORMATION_SCHEMA.SYSTEM_USERS");
|
||||
break;
|
||||
|
||||
case ASE:
|
||||
case INGRES:
|
||||
case POSTGRES:
|
||||
case SQLITE:
|
||||
case SQLSERVER:
|
||||
context.sql("(select 1 as dual) as dual");
|
||||
break;
|
||||
|
||||
case DB2:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user