[#2056] Add Field.[not]Between[Symmetric](Select<? extends Record1<T>>)

methods to allow for specifying subselects as arguments to the BETWEEN
predicate - Added fix for SQLite
This commit is contained in:
Lukas Eder 2013-01-02 17:31:03 +01:00
parent 7f1b8d614f
commit c51ed4d5df
2 changed files with 4 additions and 4 deletions

View File

@ -253,7 +253,7 @@ class BetweenAndSteps extends Generators {
RowN max = (RowN) maxValue;
// These dialects don't support the SYMMETRIC keyword at all
if (symmetric && asList(ASE, CUBRID, DB2, DERBY, FIREBIRD, H2, MYSQL, ORACLE, SQLSERVER, SQLITE, SYBASE).contains(configuration.getDialect())) {
if (symmetric && asList(ASE, CUBRID, DB2, DERBY, FIREBIRD, H2, MYSQL, ORACLE, SQLITE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
if (not) {
return (QueryPartInternal) r.notBetween(min, max).and(r.notBetween(max, min));
}
@ -264,7 +264,7 @@ class BetweenAndSteps extends Generators {
// These dialects either don't support row value expressions, or they
// Can't handle row value expressions with the BETWEEN predicate
else if (row.getDegree() > 1 && asList(CUBRID, DERBY, FIREBIRD, ORACLE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
else if (row.getDegree() > 1 && asList(CUBRID, DERBY, FIREBIRD, ORACLE, SQLITE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
Condition result = r.ge(min).and(r.le(max));
if (not) {

View File

@ -690,7 +690,7 @@ implements
RowN max = (RowN) maxValue;
// These dialects don't support the SYMMETRIC keyword at all
if (symmetric && asList(ASE, CUBRID, DB2, DERBY, FIREBIRD, H2, MYSQL, ORACLE, SQLSERVER, SQLITE, SYBASE).contains(configuration.getDialect())) {
if (symmetric && asList(ASE, CUBRID, DB2, DERBY, FIREBIRD, H2, MYSQL, ORACLE, SQLITE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
if (not) {
return (QueryPartInternal) r.notBetween(min, max).and(r.notBetween(max, min));
}
@ -701,7 +701,7 @@ implements
// These dialects either don't support row value expressions, or they
// Can't handle row value expressions with the BETWEEN predicate
else if (row.getDegree() > 1 && asList(CUBRID, DERBY, FIREBIRD, ORACLE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
else if (row.getDegree() > 1 && asList(CUBRID, DERBY, FIREBIRD, ORACLE, SQLITE, SQLSERVER, SYBASE).contains(configuration.getDialect())) {
Condition result = r.ge(min).and(r.le(max));
if (not) {