[jOOQ/jOOQ#11485] Add support for Trino DB - WIP
This commit is contained in:
parent
3116f0e64a
commit
701fb31f8b
@ -131,6 +131,7 @@ import static org.jooq.impl.Keywords.K_TRUE;
|
||||
import static org.jooq.impl.Keywords.K_YEAR_TO_DAY;
|
||||
import static org.jooq.impl.Keywords.K_YEAR_TO_FRACTION;
|
||||
import static org.jooq.impl.Names.N_BYTEA;
|
||||
import static org.jooq.impl.Names.N_JSON_PARSE;
|
||||
import static org.jooq.impl.Names.N_PARSE_JSON;
|
||||
import static org.jooq.impl.Names.N_ST_GEOMFROMTEXT;
|
||||
import static org.jooq.impl.Names.N_ST_GEOMFROMWKB;
|
||||
@ -974,6 +975,19 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
|
||||
|
||||
|
||||
|
||||
|
||||
case TRINO: {
|
||||
if (t.isJSON()) {
|
||||
ctx.render().visit(N_JSON_PARSE).sql('(');
|
||||
sql(ctx, converted);
|
||||
ctx.render().sql(')');
|
||||
}
|
||||
else
|
||||
sqlCast0(ctx, converted, t, length, precision, scale);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
sqlCast0(ctx, converted, t, length, precision, scale);
|
||||
break;
|
||||
|
||||
@ -92,7 +92,7 @@ final class SQLDataTypes {
|
||||
static final DataType<Timestamp> TIMESTAMPWITHOUTTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMP, "timestamp(p) without time zone");
|
||||
static final DataType<OffsetDateTime> TIMESTAMPWITHTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMPWITHTIMEZONE, "timestamp(p) with time zone");
|
||||
static final DataType<Instant> INSTANT = new BuiltInDataType<>(FAMILY, SQLDataType.INSTANT, "timestamp(p) with time zone");
|
||||
static final DataType<byte[]> VARBINARY = new BuiltInDataType<>(FAMILY, SQLDataType.VARBINARY, "varbinary(l)", "varbinary(32672)");
|
||||
static final DataType<byte[]> VARBINARY = new BuiltInDataType<>(FAMILY, SQLDataType.VARBINARY, "varbinary");
|
||||
static final DataType<JSON> JSON = new BuiltInDataType<>(FAMILY, SQLDataType.JSON, "json");
|
||||
static final DataType<Object> OTHER = new BuiltInDataType<>(FAMILY, SQLDataType.OTHER, "other");
|
||||
static final DataType<UUID> UUID = new BuiltInDataType<>(FAMILY, SQLDataType.UUID, "uuid");
|
||||
|
||||
@ -1163,7 +1163,7 @@ final class Tools {
|
||||
static final Set<SQLDialect> REQUIRES_BACKSLASH_ESCAPING = SQLDialect.supportedBy(MARIADB, MYSQL);
|
||||
static final Set<SQLDialect> NO_SUPPORT_NULL = SQLDialect.supportedBy(DERBY, FIREBIRD, H2, HSQLDB, TRINO);
|
||||
static final Set<SQLDialect> NO_SUPPORT_NOT_NULL = SQLDialect.supportedBy(TRINO);
|
||||
static final Set<SQLDialect> NO_SUPPORT_BINARY_TYPE_LENGTH = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
|
||||
static final Set<SQLDialect> NO_SUPPORT_BINARY_TYPE_LENGTH = SQLDialect.supportedBy(POSTGRES, TRINO, YUGABYTEDB);
|
||||
static final Set<SQLDialect> NO_SUPPORT_CAST_TYPE_IN_DDL = SQLDialect.supportedBy(MARIADB, MYSQL);
|
||||
static final Set<SQLDialect> SUPPORT_NON_BIND_VARIABLE_SUFFIXES = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
|
||||
static final Set<SQLDialect> SUPPORT_POSTGRES_LITERALS = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user