[#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:
parent
7f1b8d614f
commit
c51ed4d5df
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user