[jOOQ/jOOQ#12052] Add DuckDB support - WIP
This commit is contained in:
parent
467f91a6ef
commit
10bc1a2ffc
@ -45,6 +45,7 @@ import org.jooq.SQLDialect;
|
||||
import org.jooq.meta.cubrid.CUBRIDDatabase;
|
||||
// ...
|
||||
import org.jooq.meta.derby.DerbyDatabase;
|
||||
import org.jooq.meta.duckdb.DuckDBDatabase;
|
||||
// ...
|
||||
import org.jooq.meta.firebird.FirebirdDatabase;
|
||||
import org.jooq.meta.h2.H2Database;
|
||||
@ -109,6 +110,7 @@ public class Databases {
|
||||
|
||||
case CUBRID: result = CUBRIDDatabase.class; break;
|
||||
case DERBY: result = DerbyDatabase.class; break;
|
||||
case DUCKDB: result = DuckDBDatabase.class; break;
|
||||
case FIREBIRD: result = FirebirdDatabase.class; break;
|
||||
case H2: result = H2Database.class; break;
|
||||
case HSQLDB: result = HSQLDBDatabase.class; break;
|
||||
|
||||
@ -52,6 +52,7 @@ import static org.jooq.SQLDialect.CUBRID;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.DEFAULT;
|
||||
import static org.jooq.SQLDialect.DERBY;
|
||||
import static org.jooq.SQLDialect.DUCKDB;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.FIREBIRD;
|
||||
import static org.jooq.SQLDialect.H2;
|
||||
@ -182,6 +183,7 @@ public @interface Allow {
|
||||
CUBRID,
|
||||
DEFAULT,
|
||||
DERBY,
|
||||
DUCKDB,
|
||||
FIREBIRD,
|
||||
H2,
|
||||
HSQLDB,
|
||||
|
||||
@ -486,7 +486,7 @@ public interface AlterTableStep {
|
||||
* This is an alias for {@link #dropColumn(Field)}.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep drop(Field<?> field);
|
||||
|
||||
/**
|
||||
@ -496,7 +496,7 @@ public interface AlterTableStep {
|
||||
* This is an alias for {@link #dropColumn(Name)}.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep drop(Name field);
|
||||
|
||||
/**
|
||||
@ -506,7 +506,7 @@ public interface AlterTableStep {
|
||||
* This is an alias for {@link #dropColumn(String)}.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep drop(String field);
|
||||
|
||||
/**
|
||||
@ -544,7 +544,7 @@ public interface AlterTableStep {
|
||||
* statement.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep dropColumn(Field<?> field);
|
||||
|
||||
/**
|
||||
@ -552,7 +552,7 @@ public interface AlterTableStep {
|
||||
* statement.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep dropColumn(Name field);
|
||||
|
||||
/**
|
||||
@ -560,7 +560,7 @@ public interface AlterTableStep {
|
||||
* statement.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
AlterTableDropStep dropColumn(String field);
|
||||
|
||||
/**
|
||||
|
||||
@ -1433,14 +1433,14 @@ extends
|
||||
* @param exponent is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Field<BigDecimal> power(Number exponent);
|
||||
|
||||
/**
|
||||
* The <code>POWER</code> operator.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Field<BigDecimal> power(Field<? extends Number> exponent);
|
||||
|
||||
/**
|
||||
@ -1449,14 +1449,14 @@ extends
|
||||
* @param exponent is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Field<BigDecimal> pow(Number exponent);
|
||||
|
||||
/**
|
||||
* The <code>POW</code> operator, an alias for the <code>POWER</code> operator.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Field<BigDecimal> pow(Field<? extends Number> exponent);
|
||||
|
||||
/**
|
||||
|
||||
@ -97,7 +97,7 @@ public enum JoinType {
|
||||
* <code>CROSS JOIN</code> two tables.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
CROSS_JOIN("cross join", false),
|
||||
|
||||
/**
|
||||
|
||||
@ -110,6 +110,11 @@ public enum SQLDialect {
|
||||
*/
|
||||
DERBY("Derby", false, true),
|
||||
|
||||
/**
|
||||
* The DuckDB dialect family.
|
||||
*/
|
||||
DUCKDB("DuckDB", false, true),
|
||||
|
||||
/**
|
||||
* The Firebird dialect family.
|
||||
* <p>
|
||||
|
||||
@ -383,7 +383,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see Table#crossJoin(TableLike)
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectJoinStep<R> crossJoin(TableLike<?> table);
|
||||
|
||||
/**
|
||||
@ -408,7 +408,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
SelectJoinStep<R> crossJoin(SQL sql);
|
||||
|
||||
@ -434,7 +434,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
SelectJoinStep<R> crossJoin(String sql);
|
||||
|
||||
@ -461,7 +461,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
SelectJoinStep<R> crossJoin(String sql, Object... bindings);
|
||||
|
||||
@ -488,7 +488,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
SelectJoinStep<R> crossJoin(String sql, QueryPart... parts);
|
||||
|
||||
@ -508,7 +508,7 @@ public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R> {
|
||||
* @see Table#crossJoin(Name)
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectJoinStep<R> crossJoin(Name name);
|
||||
|
||||
/**
|
||||
|
||||
@ -140,7 +140,7 @@ public interface SelectLimitAfterOffsetStep<R extends Record> extends SelectForU
|
||||
* function and nested <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitPercentAfterOffsetStep<R> limit(Number numberOfRows);
|
||||
|
||||
/**
|
||||
@ -156,7 +156,7 @@ public interface SelectLimitAfterOffsetStep<R extends Record> extends SelectForU
|
||||
* statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitPercentAfterOffsetStep<R> limit(Field<? extends Number> numberOfRows);
|
||||
|
||||
}
|
||||
|
||||
@ -178,7 +178,7 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectWithTiesAfterOffsetStep<R> limit(Number offset, Number numberOfRows);
|
||||
|
||||
/**
|
||||
@ -194,7 +194,7 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* and nested <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitPercentAfterOffsetStep<R> limit(Number offset, Field<? extends Number> numberOfRows);
|
||||
|
||||
/**
|
||||
@ -210,7 +210,7 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* and nested <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitPercentAfterOffsetStep<R> limit(Field<? extends Number> offset, Number numberOfRows);
|
||||
|
||||
/**
|
||||
@ -226,7 +226,7 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* and nested <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitPercentAfterOffsetStep<R> limit(Field<? extends Number> offset, Field<? extends Number> numberOfRows);
|
||||
|
||||
/**
|
||||
@ -240,7 +240,7 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitAfterOffsetStep<R> offset(Number offset);
|
||||
|
||||
/**
|
||||
@ -254,6 +254,6 @@ public interface SelectLimitStep<R extends Record> extends SelectForUpdateStep<R
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectLimitAfterOffsetStep<R> offset(Field<? extends Number> offset);
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ public interface SelectOffsetStep<R extends Record> extends SelectForUpdateStep<
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectForUpdateStep<R> offset(Number offset);
|
||||
|
||||
/**
|
||||
@ -158,6 +158,6 @@ public interface SelectOffsetStep<R extends Record> extends SelectForUpdateStep<
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@NotNull @CheckReturnValue
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
SelectForUpdateStep<R> offset(Field<? extends Number> offset);
|
||||
}
|
||||
|
||||
@ -713,7 +713,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* emulated with a <code>ROW_NUMBER()</code> window function and nested
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addOffset(Number offset);
|
||||
|
||||
/**
|
||||
@ -726,7 +726,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* emulated with a <code>ROW_NUMBER()</code> window function and nested
|
||||
* <code>SELECT</code> statements.
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addOffset(Field<? extends Number> offset);
|
||||
|
||||
/**
|
||||
@ -756,7 +756,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
*
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addLimit(Field<? extends Number> numberOfRows);
|
||||
|
||||
/**
|
||||
@ -773,7 +773,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* @param offset The lowest offset starting at 0
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addLimit(Number offset, Number numberOfRows);
|
||||
|
||||
/**
|
||||
@ -791,7 +791,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* @param offset The lowest offset starting at 0
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addLimit(Field<? extends Number> offset, Number numberOfRows);
|
||||
|
||||
/**
|
||||
@ -809,7 +809,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* @param offset The lowest offset starting at 0
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addLimit(Number offset, Field<? extends Number> numberOfRows);
|
||||
|
||||
/**
|
||||
@ -827,7 +827,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
|
||||
* @param offset The lowest offset starting at 0
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
void addLimit(Field<? extends Number> offset, Field<? extends Number> numberOfRows);
|
||||
|
||||
/**
|
||||
|
||||
@ -1797,7 +1797,7 @@ extends
|
||||
* </code></pre>
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Table<Record> crossJoin(TableLike<?> table);
|
||||
|
||||
/**
|
||||
@ -1819,7 +1819,7 @@ extends
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
Table<Record> crossJoin(SQL sql);
|
||||
|
||||
@ -1842,7 +1842,7 @@ extends
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
Table<Record> crossJoin(String sql);
|
||||
|
||||
@ -1866,7 +1866,7 @@ extends
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
Table<Record> crossJoin(String sql, Object... bindings);
|
||||
|
||||
@ -1890,7 +1890,7 @@ extends
|
||||
* @see SQL
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
@PlainSQL
|
||||
Table<Record> crossJoin(String sql, QueryPart... parts);
|
||||
|
||||
@ -1907,7 +1907,7 @@ extends
|
||||
* @see DSL#table(Name)
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
Table<Record> crossJoin(Name name);
|
||||
|
||||
/**
|
||||
|
||||
@ -16891,7 +16891,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cos(Number value) {
|
||||
return new Cos(Tools.field(value));
|
||||
}
|
||||
@ -16900,7 +16900,7 @@ public class DSL {
|
||||
* The <code>COS</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cos(Field<? extends Number> value) {
|
||||
return new Cos(value);
|
||||
}
|
||||
@ -16911,7 +16911,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cosh(Number value) {
|
||||
return new Cosh(Tools.field(value));
|
||||
}
|
||||
@ -16920,7 +16920,7 @@ public class DSL {
|
||||
* The <code>COSH</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cosh(Field<? extends Number> value) {
|
||||
return new Cosh(value);
|
||||
}
|
||||
@ -16931,7 +16931,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cot(Number value) {
|
||||
return new Cot(Tools.field(value));
|
||||
}
|
||||
@ -16940,7 +16940,7 @@ public class DSL {
|
||||
* The <code>COT</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> cot(Field<? extends Number> value) {
|
||||
return new Cot(value);
|
||||
}
|
||||
@ -16951,7 +16951,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> coth(Number value) {
|
||||
return new Coth(Tools.field(value));
|
||||
}
|
||||
@ -16960,7 +16960,7 @@ public class DSL {
|
||||
* The <code>COTH</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> coth(Field<? extends Number> value) {
|
||||
return new Coth(value);
|
||||
}
|
||||
@ -17008,7 +17008,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> exp(Number value) {
|
||||
return new Exp(Tools.field(value));
|
||||
}
|
||||
@ -17017,7 +17017,7 @@ public class DSL {
|
||||
* The <code>EXP</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> exp(Field<? extends Number> value) {
|
||||
return new Exp(value);
|
||||
}
|
||||
@ -17054,7 +17054,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> ln(Number value) {
|
||||
return new Ln(Tools.field(value));
|
||||
}
|
||||
@ -17065,7 +17065,7 @@ public class DSL {
|
||||
* Get the natural logarithm of a value.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> ln(Field<? extends Number> value) {
|
||||
return new Ln(value);
|
||||
}
|
||||
@ -17079,7 +17079,7 @@ public class DSL {
|
||||
* @param base is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log(Number value, int base) {
|
||||
return new Log(Tools.field(value), Tools.field(base));
|
||||
}
|
||||
@ -17092,7 +17092,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log(Number value, Field<? extends Number> base) {
|
||||
return new Log(Tools.field(value), base);
|
||||
}
|
||||
@ -17105,7 +17105,7 @@ public class DSL {
|
||||
* @param base is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log(Field<? extends Number> value, int base) {
|
||||
return new Log(value, Tools.field(base));
|
||||
}
|
||||
@ -17116,7 +17116,7 @@ public class DSL {
|
||||
* Get the logarithm of a value for a base.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log(Field<? extends Number> value, Field<? extends Number> base) {
|
||||
return new Log(value, base);
|
||||
}
|
||||
@ -17129,7 +17129,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log10(Number value) {
|
||||
return new Log10(Tools.field(value));
|
||||
}
|
||||
@ -17140,7 +17140,7 @@ public class DSL {
|
||||
* Get the logarithm of a value for base 10.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> log10(Field<? extends Number> value) {
|
||||
return new Log10(value);
|
||||
}
|
||||
@ -17163,7 +17163,7 @@ public class DSL {
|
||||
* @param exponent is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> power(Number base, Number exponent) {
|
||||
return new Power(Tools.field(base), Tools.field(exponent));
|
||||
}
|
||||
@ -17174,7 +17174,7 @@ public class DSL {
|
||||
* @param base is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> power(Number base, Field<? extends Number> exponent) {
|
||||
return new Power(Tools.field(base), exponent);
|
||||
}
|
||||
@ -17185,7 +17185,7 @@ public class DSL {
|
||||
* @param exponent is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> power(Field<? extends Number> base, Number exponent) {
|
||||
return new Power(base, Tools.field(exponent));
|
||||
}
|
||||
@ -17194,7 +17194,7 @@ public class DSL {
|
||||
* The <code>POWER</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> power(Field<? extends Number> base, Field<? extends Number> exponent) {
|
||||
return new Power(base, exponent);
|
||||
}
|
||||
@ -17231,7 +17231,7 @@ public class DSL {
|
||||
* Get a random numeric value.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> rand() {
|
||||
return new Rand();
|
||||
}
|
||||
@ -17460,7 +17460,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sin(Number value) {
|
||||
return new Sin(Tools.field(value));
|
||||
}
|
||||
@ -17469,7 +17469,7 @@ public class DSL {
|
||||
* The <code>SIN</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sin(Field<? extends Number> value) {
|
||||
return new Sin(value);
|
||||
}
|
||||
@ -17480,7 +17480,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sinh(Number value) {
|
||||
return new Sinh(Tools.field(value));
|
||||
}
|
||||
@ -17489,7 +17489,7 @@ public class DSL {
|
||||
* The <code>SINH</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sinh(Field<? extends Number> value) {
|
||||
return new Sinh(value);
|
||||
}
|
||||
@ -17500,7 +17500,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sqrt(Number value) {
|
||||
return new Sqrt(Tools.field(value));
|
||||
}
|
||||
@ -17509,7 +17509,7 @@ public class DSL {
|
||||
* The <code>SQRT</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> sqrt(Field<? extends Number> value) {
|
||||
return new Sqrt(value);
|
||||
}
|
||||
@ -17540,7 +17540,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> tan(Number value) {
|
||||
return new Tan(Tools.field(value));
|
||||
}
|
||||
@ -17549,7 +17549,7 @@ public class DSL {
|
||||
* The <code>TAN</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> tan(Field<? extends Number> value) {
|
||||
return new Tan(value);
|
||||
}
|
||||
@ -17560,7 +17560,7 @@ public class DSL {
|
||||
* @param value is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> tanh(Number value) {
|
||||
return new Tanh(Tools.field(value));
|
||||
}
|
||||
@ -17569,7 +17569,7 @@ public class DSL {
|
||||
* The <code>TANH</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<BigDecimal> tanh(Field<? extends Number> value) {
|
||||
return new Tanh(value);
|
||||
}
|
||||
@ -18271,7 +18271,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, @Stringly.Param String search, int startIndex) {
|
||||
return new Position(Tools.field(in), Tools.field(search), Tools.field(startIndex));
|
||||
}
|
||||
@ -18286,7 +18286,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, @Stringly.Param String search, Field<? extends Number> startIndex) {
|
||||
return new Position(Tools.field(in), Tools.field(search), startIndex);
|
||||
}
|
||||
@ -18301,7 +18301,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, Field<String> search, int startIndex) {
|
||||
return new Position(Tools.field(in), search, Tools.field(startIndex));
|
||||
}
|
||||
@ -18316,7 +18316,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, Field<String> search, Field<? extends Number> startIndex) {
|
||||
return new Position(Tools.field(in), search, startIndex);
|
||||
}
|
||||
@ -18331,7 +18331,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, @Stringly.Param String search, int startIndex) {
|
||||
return new Position(in, Tools.field(search), Tools.field(startIndex));
|
||||
}
|
||||
@ -18346,7 +18346,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, @Stringly.Param String search, Field<? extends Number> startIndex) {
|
||||
return new Position(in, Tools.field(search), startIndex);
|
||||
}
|
||||
@ -18361,7 +18361,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, Field<String> search, int startIndex) {
|
||||
return new Position(in, search, Tools.field(startIndex));
|
||||
}
|
||||
@ -18376,7 +18376,7 @@ public class DSL {
|
||||
* @param startIndex The start index (1-based) from which to start looking for the substring.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, Field<String> search, Field<? extends Number> startIndex) {
|
||||
return new Position(in, search, startIndex);
|
||||
}
|
||||
@ -18390,7 +18390,7 @@ public class DSL {
|
||||
* @param search The substring to search for.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, @Stringly.Param String search) {
|
||||
return new Position(Tools.field(in), Tools.field(search));
|
||||
}
|
||||
@ -18404,7 +18404,7 @@ public class DSL {
|
||||
* @param search The substring to search for.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(@Stringly.Param String in, Field<String> search) {
|
||||
return new Position(Tools.field(in), search);
|
||||
}
|
||||
@ -18418,7 +18418,7 @@ public class DSL {
|
||||
* @param search The substring to search for.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, @Stringly.Param String search) {
|
||||
return new Position(in, Tools.field(search));
|
||||
}
|
||||
@ -18432,7 +18432,7 @@ public class DSL {
|
||||
* @param search The substring to search for.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static Field<Integer> position(Field<String> in, Field<String> search) {
|
||||
return new Position(in, search);
|
||||
}
|
||||
@ -21864,7 +21864,7 @@ public class DSL {
|
||||
* The <code>COUNT_DISTINCT</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, IGNITE, MARIADB, MYSQL, POSTGRES, SQLITE, TRINO, YUGABYTEDB })
|
||||
public static AggregateFunction<Integer> countDistinct(Field<?> field) {
|
||||
return new Count(field, true);
|
||||
}
|
||||
|
||||
@ -46,6 +46,7 @@ package org.jooq.impl;
|
||||
import static org.jooq.SQLDialect.CUBRID;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.DERBY;
|
||||
import static org.jooq.SQLDialect.DUCKDB;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.FIREBIRD;
|
||||
import static org.jooq.SQLDialect.H2;
|
||||
@ -93,13 +94,13 @@ import org.jooq.Geography;
|
||||
import org.jooq.Geometry;
|
||||
import org.jooq.JSON;
|
||||
import org.jooq.JSONB;
|
||||
// ...
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.RowId;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.SQLDialectCategory;
|
||||
import org.jooq.XML;
|
||||
import org.jooq.impl.SQLDataTypes.DuckDBDataType;
|
||||
import org.jooq.impl.SQLDataTypes.TrinoDataType;
|
||||
import org.jooq.types.DayToSecond;
|
||||
import org.jooq.types.UByte;
|
||||
@ -851,6 +852,9 @@ public final class SQLDataType {
|
||||
Class.forName(DerbyDataType.class.getName());
|
||||
initJSR310Types(DERBY);
|
||||
|
||||
Class.forName(DuckDBDataType.class.getName());
|
||||
initJSR310Types(DUCKDB);
|
||||
|
||||
Class.forName(FirebirdDataType.class.getName());
|
||||
initJSR310Types(FIREBIRD);
|
||||
|
||||
|
||||
@ -51,7 +51,16 @@ import java.util.UUID;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.JSON;
|
||||
import org.jooq.JSONB;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.types.DayToSecond;
|
||||
import org.jooq.types.UByte;
|
||||
import org.jooq.types.UInteger;
|
||||
import org.jooq.types.ULong;
|
||||
import org.jooq.types.UShort;
|
||||
import org.jooq.types.YearToMonth;
|
||||
import org.jooq.types.YearToSecond;
|
||||
|
||||
/**
|
||||
* A wrapper for dialect specific, internal data types.
|
||||
@ -63,6 +72,87 @@ final class SQLDataTypes {
|
||||
|
||||
private SQLDataTypes() {}
|
||||
|
||||
static class DuckDBDataType {
|
||||
|
||||
private static final SQLDialect FAMILY = SQLDialect.DUCKDB;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Default SQL data types and synonyms thereof
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
public static final DataType<Byte> TINYINT = new BuiltInDataType<>(FAMILY, SQLDataType.TINYINT, "tinyint");
|
||||
public static final DataType<Short> SMALLINT = new BuiltInDataType<>(FAMILY, SQLDataType.SMALLINT, "smallint");
|
||||
public static final DataType<Integer> INT = new BuiltInDataType<>(FAMILY, SQLDataType.INTEGER, "int");
|
||||
public static final DataType<Integer> INTEGER = new BuiltInDataType<>(FAMILY, SQLDataType.INTEGER, "integer");
|
||||
public static final DataType<Long> BIGINT = new BuiltInDataType<>(FAMILY, SQLDataType.BIGINT, "bigint");
|
||||
public static final DataType<Double> DOUBLE = new BuiltInDataType<>(FAMILY, SQLDataType.DOUBLE, "double");
|
||||
public static final DataType<Double> DOUBLEPRECISION = new BuiltInDataType<>(FAMILY, SQLDataType.DOUBLE, "double precision");
|
||||
public static final DataType<Double> FLOAT = new BuiltInDataType<>(FAMILY, SQLDataType.FLOAT, "float");
|
||||
public static final DataType<Float> REAL = new BuiltInDataType<>(FAMILY, SQLDataType.REAL, "real");
|
||||
public static final DataType<Boolean> BOOLEAN = new BuiltInDataType<>(FAMILY, SQLDataType.BOOLEAN, "boolean");
|
||||
public static final DataType<Boolean> BIT = new BuiltInDataType<>(FAMILY, SQLDataType.BIT, "bit");
|
||||
public static final DataType<BigDecimal> DECIMAL = new BuiltInDataType<>(FAMILY, SQLDataType.DECIMAL, "decimal(p, s)");
|
||||
public static final DataType<BigDecimal> NUMERIC = new BuiltInDataType<>(FAMILY, SQLDataType.NUMERIC, "numeric(p, s)");
|
||||
public static final DataType<String> VARCHAR = new BuiltInDataType<>(FAMILY, SQLDataType.VARCHAR, "varchar(l)", "varchar(32672)");
|
||||
public static final DataType<String> LONGVARCHAR = new BuiltInDataType<>(FAMILY, SQLDataType.LONGVARCHAR, "longvarchar(l)");
|
||||
public static final DataType<String> CHAR = new BuiltInDataType<>(FAMILY, SQLDataType.CHAR, "char(l)");
|
||||
public static final DataType<String> CHARACTER = new BuiltInDataType<>(FAMILY, SQLDataType.CHAR, "character(l)");
|
||||
public static final DataType<String> CHARACTERVARYING = new BuiltInDataType<>(FAMILY, SQLDataType.VARCHAR, "character varying(l)", "character varying(32672)");
|
||||
public static final DataType<String> CLOB = new BuiltInDataType<>(FAMILY, SQLDataType.CLOB, "clob");
|
||||
public static final DataType<String> CHARLARGEOBJECT = new BuiltInDataType<>(FAMILY, SQLDataType.CLOB, "char large object", "clob");
|
||||
public static final DataType<String> CHARACTERLARGEOBJECT = new BuiltInDataType<>(FAMILY, SQLDataType.CLOB, "character large object", "clob");
|
||||
public static final DataType<Date> DATE = new BuiltInDataType<>(FAMILY, SQLDataType.DATE, "date");
|
||||
public static final DataType<Time> TIME = new BuiltInDataType<>(FAMILY, SQLDataType.TIME, "time(p)");
|
||||
public static final DataType<Time> TIMEWITHOUTTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIME, "time(p) without time zone");
|
||||
public static final DataType<OffsetTime> TIMEWITHTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIMEWITHTIMEZONE, "time(p) with time zone");
|
||||
public static final DataType<Timestamp> TIMESTAMP = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMP, "timestamp(p)");
|
||||
public static final DataType<Timestamp> TIMESTAMPWITHOUTTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMP, "timestamp(p) without time zone");
|
||||
public static final DataType<Timestamp> DATETIME = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMP, "datetime(p)");
|
||||
public static final DataType<OffsetDateTime> TIMESTAMPWITHTIMEZONE = new BuiltInDataType<>(FAMILY, SQLDataType.TIMESTAMPWITHTIMEZONE, "timestamp(p) with time zone");
|
||||
public static final DataType<Instant> INSTANT = new BuiltInDataType<>(FAMILY, SQLDataType.INSTANT, "timestamp(p) with time zone");
|
||||
public static final DataType<byte[]> LONGVARBINARY = new BuiltInDataType<>(FAMILY, SQLDataType.LONGVARBINARY, "longvarbinary(l)");
|
||||
public static final DataType<byte[]> VARBINARY = new BuiltInDataType<>(FAMILY, SQLDataType.VARBINARY, "varbinary(l)", "varbinary(32672)");
|
||||
public static final DataType<byte[]> BINARY = new BuiltInDataType<>(FAMILY, SQLDataType.BINARY, "binary(l)");
|
||||
public static final DataType<byte[]> BLOB = new BuiltInDataType<>(FAMILY, SQLDataType.BLOB, "blob");
|
||||
public static final DataType<byte[]> BINARYLARGEOBJECT = new BuiltInDataType<>(FAMILY, SQLDataType.BLOB, "binary large object", "blob");
|
||||
public static final DataType<Object> OTHER = new BuiltInDataType<>(FAMILY, SQLDataType.OTHER, "other");
|
||||
public static final DataType<YearToSecond> INTERVAL = new BuiltInDataType<>(FAMILY, SQLDataType.INTERVAL, "interval");
|
||||
public static final DataType<YearToMonth> INTERVALYEARTOMONTH = new BuiltInDataType<>(FAMILY, SQLDataType.INTERVALYEARTOMONTH, "interval year to month");
|
||||
public static final DataType<DayToSecond> INTERVALDAYTOSECOND = new BuiltInDataType<>(FAMILY, SQLDataType.INTERVALDAYTOSECOND, "interval day to second", "interval day(9) to second");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Compatibility types for supported SQLDialect.HSQLDB, SQLDataTypes
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
protected static final DataType<String> __NCHAR = new BuiltInDataType<>(FAMILY, SQLDataType.NCHAR, "char(l)");
|
||||
protected static final DataType<String> __NCLOB = new BuiltInDataType<>(FAMILY, SQLDataType.NCLOB, "clob");
|
||||
protected static final DataType<String> __LONGNVARCHAR = new BuiltInDataType<>(FAMILY, SQLDataType.LONGNVARCHAR, "longvarchar(l)");
|
||||
protected static final DataType<String> __NVARCHAR = new BuiltInDataType<>(FAMILY, SQLDataType.NVARCHAR, "varchar(l)", "varchar(32672)");
|
||||
protected static final DataType<UByte> __TINYINTUNSIGNED = new BuiltInDataType<>(FAMILY, SQLDataType.TINYINTUNSIGNED, "smallint");
|
||||
protected static final DataType<UShort> __SMALLINTUNSIGNED = new BuiltInDataType<>(FAMILY, SQLDataType.SMALLINTUNSIGNED, "int");
|
||||
protected static final DataType<UInteger> __INTEGERUNSIGNED = new BuiltInDataType<>(FAMILY, SQLDataType.INTEGERUNSIGNED, "bigint");
|
||||
protected static final DataType<ULong> __BIGINTUNSIGNED = new BuiltInDataType<>(FAMILY, SQLDataType.BIGINTUNSIGNED, "decimal(p, s)");
|
||||
protected static final DataType<JSON> __JSON = new BuiltInDataType<>(FAMILY, SQLDataType.JSON, "clob");
|
||||
protected static final DataType<JSONB> __JSONB = new BuiltInDataType<>(FAMILY, SQLDataType.JSONB, "blob");
|
||||
protected static final DataType<Year> __YEAR = new BuiltInDataType<>(FAMILY, SQLDataType.YEAR, "smallint");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Compatibility types for supported Java types
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
protected static final DataType<BigInteger> __BIGINTEGER = new BuiltInDataType<>(FAMILY, SQLDataType.DECIMAL_INTEGER, "decimal(p, s)");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Dialect-specific data types and synonyms thereof
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
public static final DataType<UUID> UUID = new BuiltInDataType<>(FAMILY, SQLDataType.UUID, "uuid");
|
||||
public static final DataType<String> VARCHARIGNORECASE = new BuiltInDataType<>(FAMILY, SQLDataType.VARCHAR, "varchar_ignorecase(l)", "varchar_ignorecase(32672)");
|
||||
public static final DataType<Object> OBJECT = new BuiltInDataType<>(FAMILY, SQLDataType.OTHER, "object");
|
||||
public static final DataType<Result<Record>> ROW = new BuiltInDataType<>(FAMILY, SQLDataType.RESULT, "row");
|
||||
}
|
||||
|
||||
|
||||
static class TrinoDataType {
|
||||
|
||||
private static final SQLDialect FAMILY = SQLDialect.TRINO;
|
||||
|
||||
@ -452,6 +452,8 @@ public class JDBCUtils {
|
||||
return CUBRID;
|
||||
else if (url.contains(":derby:"))
|
||||
return DERBY;
|
||||
else if (url.contains(":duckdb:"))
|
||||
return DUCKDB;
|
||||
else if (url.contains(":firebirdsql:"))
|
||||
return FIREBIRD;
|
||||
else if (url.contains(":h2:"))
|
||||
@ -523,6 +525,8 @@ public class JDBCUtils {
|
||||
return "cubrid.jdbc.driver.CUBRIDDriver";
|
||||
case DERBY:
|
||||
return "org.apache.derby.jdbc.ClientDriver";
|
||||
case DUCKDB:
|
||||
return "org.duckdb.DuckDBDriver";
|
||||
case FIREBIRD:
|
||||
return "org.firebirdsql.jdbc.FBDriver";
|
||||
case H2:
|
||||
|
||||
6
pom.xml
6
pom.xml
@ -23,6 +23,7 @@
|
||||
<!-- These in-memory DBs are used by jOOQ-meta-extensions and a variety of integration tests -->
|
||||
<h2.version>2.1.214</h2.version>
|
||||
<sqlite.version>3.39.4.1</sqlite.version>
|
||||
<duckdb.version>0.7.1</duckdb.version>
|
||||
<derby.version>10.14.2.0</derby.version>
|
||||
<hsqldb.version>2.7.1</hsqldb.version>
|
||||
|
||||
@ -404,6 +405,11 @@
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>${sqlite.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.duckdb</groupId>
|
||||
<artifactId>duckdb_jdbc</artifactId>
|
||||
<version>${duckdb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user