[jOOQ/jOOQ#15807] Fix CRDB implementation

This commit is contained in:
Lukas Eder 2023-11-08 17:23:41 +01:00
parent e2ddc15ff6
commit a6d115edd7
2 changed files with 12 additions and 0 deletions

View File

@ -158,6 +158,8 @@ abstract class JoinTable<J extends JoinTable<J>> extends AbstractJoinTable<J> {
static final Set<SQLDialect> EMULATE_NATURAL_JOIN = SQLDialect.supportedBy(CUBRID, TRINO);
static final Set<SQLDialect> EMULATE_NATURAL_OUTER_JOIN = SQLDialect.supportedBy(CUBRID, H2, IGNITE, TRINO);
static final Set<SQLDialect> EMULATE_JOIN_USING = SQLDialect.supportedBy(CUBRID, IGNITE);

View File

@ -340,6 +340,7 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
private static final Clause[] CLAUSES = { SELECT };
static final Set<SQLDialect> EMULATE_SELECT_INTO_AS_CTAS = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB);
private static final Set<SQLDialect> SUPPORT_SELECT_INTO_TABLE = SQLDialect.supportedBy(HSQLDB, POSTGRES, YUGABYTEDB);
private static final Set<SQLDialect> SUPPORT_ORACLE_STYLE_JOIN_HINTS = SQLDialect.supportedBy(MYSQL, YUGABYTEDB);
@ -2364,6 +2365,8 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
if (!StringUtils.isBlank(hint))
context.sql(' ').sql(hint).separatorRequired(true);
toSQLJoinHints(context, tablelist);
@ -2739,6 +2742,13 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
));
}
private static final void toSQLJoinHints(Context<?> ctx, TableList tablelist) {
if (SUPPORT_ORACLE_STYLE_JOIN_HINTS.contains(ctx.dialect())) {
traverseJoins(tablelist, null);
// ctx.sql(' ').sql(hint).separatorRequired(true);
}
}
private static final TableList prependToManyPaths(Context<?> ctx, TableList tablelist) {
TableList result = new TableList(tablelist);