diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 35ed5a19e2..7e6badbda9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -15613,6 +15613,24 @@ public class DSL { return new Sign(number); } + /** + * The SPACE function. + */ + @NotNull + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field space(Number count) { + return new Space(Tools.field(count)); + } + + /** + * The SPACE function. + */ + @NotNull + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field space(Field count) { + return new Space(count); + } + /** * The SUBSTRING function. */ @@ -15889,36 +15907,6 @@ public class DSL { return lpad(field, length, Character.toString(character)); } - /** - * Get the SQL Server specific SPACE() function. - *

- * This function can be emulated using {@link #repeat(String, int)} in - * dialects that do not ship with a native SPACE() function. - * - * @see http://technet.microsoft.com/en-us/library/ms187950.aspx - */ - @NotNull - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field space(int value) { - return space(Tools.field(value)); - } - - /** - * Get the SQL Server specific SPACE() function. - *

- * This function can be emulated using {@link #repeat(String, int)} in - * dialects that do not ship with a native SPACE() function. - * - * @see http://technet.microsoft.com/en-us/library/ms187950.aspx - */ - @NotNull - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field space(Field value) { - return new Space(value); - } - /** * Convenience method for {@link #replace(Field, String, String)} to escape * data for use with {@link Field#like(Field, char)}. diff --git a/jOOQ/src/main/java/org/jooq/impl/Space.java b/jOOQ/src/main/java/org/jooq/impl/Space.java index 5df65d4313..454811e917 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Space.java +++ b/jOOQ/src/main/java/org/jooq/impl/Space.java @@ -37,29 +37,47 @@ */ package org.jooq.impl; -import static org.jooq.impl.Names.N_SPACE; -import static org.jooq.impl.SQLDataType.INTEGER; -import static org.jooq.impl.SQLDataType.VARCHAR; -import static org.jooq.impl.Tools.nullSafeNotNull; +import static org.jooq.impl.DSL.*; +import static org.jooq.impl.Internal.*; +import static org.jooq.impl.Keywords.*; +import static org.jooq.impl.Names.*; +import static org.jooq.impl.SQLDataType.*; +import static org.jooq.impl.Tools.*; +import static org.jooq.impl.Tools.BooleanDataKey.*; +import static org.jooq.SQLDialect.*; -import org.jooq.Context; -import org.jooq.Field; +import org.jooq.*; +import org.jooq.impl.*; -final class Space extends AbstractField { +import java.util.*; - /** - * Generated UID - */ - private static final long serialVersionUID = -4239524454814412161L; +/** + * The SPACE statement. + */ +@SuppressWarnings({ "rawtypes", "unchecked", "unused" }) +final class Space +extends + AbstractField +{ - private final Field count; + private static final long serialVersionUID = 1L; - Space(Field count) { - super(N_SPACE, VARCHAR.nullable(count == null || count.getDataType().nullable())); + private final Field count; + + Space( + Field count + ) { + super(N_SPACE, allNotNull(VARCHAR, count)); this.count = nullSafeNotNull(count, INTEGER); } + // ------------------------------------------------------------------------- + // XXX: QueryPart API + // ------------------------------------------------------------------------- + + + @Override public final void accept(Context ctx) { switch (ctx.family()) { @@ -111,4 +129,5 @@ final class Space extends AbstractField { } } + }