[#5576] Add support for SQLite 3.15's row value expression support
This commit is contained in:
parent
f9009e109a
commit
ab42758592
@ -187,7 +187,7 @@ implements
|
||||
private static final Clause[] CLAUSES_NOT_BETWEEN = { CONDITION, CONDITION_NOT_BETWEEN };
|
||||
private static final Clause[] CLAUSES_NOT_BETWEEN_SYMMETRIC = { CONDITION, CONDITION_NOT_BETWEEN_SYMMETRIC };
|
||||
private static final EnumSet<SQLDialect> NO_SUPPORT_SYMMETRIC = EnumSet.of(CUBRID, DERBY, FIREBIRD, H2, MARIADB, MYSQL, SQLITE);
|
||||
private static final EnumSet<SQLDialect> EMULATE_BETWEEN = EnumSet.of(CUBRID, DERBY, FIREBIRD, MARIADB, MYSQL, SQLITE);
|
||||
private static final EnumSet<SQLDialect> EMULATE_BETWEEN = EnumSet.of(CUBRID, DERBY, FIREBIRD, MARIADB, MYSQL);
|
||||
|
||||
private final boolean symmetric;
|
||||
private final boolean not;
|
||||
|
||||
@ -57,7 +57,6 @@ import static org.jooq.SQLDialect.FIREBIRD;
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.SQLITE;
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
@ -88,8 +87,8 @@ final class RowCondition extends AbstractCondition {
|
||||
*/
|
||||
private static final long serialVersionUID = -1806139685201770706L;
|
||||
private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON };
|
||||
private static final EnumSet<SQLDialect> EMULATE_EQ_AND_NE = EnumSet.of(DERBY, FIREBIRD, SQLITE);
|
||||
private static final EnumSet<SQLDialect> EMULATE_RANGES = EnumSet.of(DERBY, CUBRID, FIREBIRD, SQLITE);
|
||||
private static final EnumSet<SQLDialect> EMULATE_EQ_AND_NE = EnumSet.of(DERBY, FIREBIRD);
|
||||
private static final EnumSet<SQLDialect> EMULATE_RANGES = EnumSet.of(DERBY, CUBRID, FIREBIRD);
|
||||
|
||||
private final Row left;
|
||||
private final Row right;
|
||||
|
||||
@ -82,6 +82,8 @@ final class RowInCondition extends AbstractCondition {
|
||||
private static final long serialVersionUID = -1806139685201770706L;
|
||||
private static final Clause[] CLAUSES_IN = { CONDITION, CONDITION_IN };
|
||||
private static final Clause[] CLAUSES_IN_NOT = { CONDITION, CONDITION_NOT_IN };
|
||||
|
||||
// Currently not yet supported in SQLite: https://www.sqlite.org/rowvalue.html
|
||||
private static final EnumSet<SQLDialect> EMULATE_IN = EnumSet.of(DERBY, FIREBIRD, SQLITE);
|
||||
|
||||
private final Row left;
|
||||
|
||||
@ -85,6 +85,8 @@ final class RowIsNull extends AbstractCondition {
|
||||
private static final long serialVersionUID = -1806139685201770706L;
|
||||
private static final Clause[] CLAUSES_NULL = { CONDITION, CONDITION_IS_NULL };
|
||||
private static final Clause[] CLAUSES_NOT_NULL = { CONDITION, CONDITION_IS_NOT_NULL };
|
||||
|
||||
// Currently not yet supported in SQLite: https://www.sqlite.org/rowvalue.html
|
||||
private static final EnumSet<SQLDialect> EMULATE_NULL = EnumSet.of(CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, SQLITE);
|
||||
|
||||
private final Row row;
|
||||
|
||||
@ -52,6 +52,7 @@ import static org.jooq.SQLDialect.MYSQL;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.SQLITE;
|
||||
import static org.jooq.impl.DSL.exists;
|
||||
import static org.jooq.impl.DSL.field;
|
||||
import static org.jooq.impl.DSL.name;
|
||||
@ -87,7 +88,7 @@ final class RowSubqueryCondition extends AbstractCondition {
|
||||
*/
|
||||
private static final long serialVersionUID = -1806139685201770706L;
|
||||
private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON };
|
||||
private static final EnumSet<SQLDialect> SUPPORT_NATIVE = EnumSet.of(H2, HSQLDB, MARIADB, MYSQL, POSTGRES);
|
||||
private static final EnumSet<SQLDialect> SUPPORT_NATIVE = EnumSet.of(H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE);
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user