diff --git a/jOOQ/src/main/java/org/jooq/CreateSchemaFinalStep.java b/jOOQ/src/main/java/org/jooq/CreateSchemaFinalStep.java index fd688ec8c2..7bf3c2dca0 100644 --- a/jOOQ/src/main/java/org/jooq/CreateSchemaFinalStep.java +++ b/jOOQ/src/main/java/org/jooq/CreateSchemaFinalStep.java @@ -37,8 +37,12 @@ */ package org.jooq; +import static org.jooq.SQLDialect.*; + +import java.util.*; + /** - * A {@link Query} that can create schemas. + * A step in the construction of the CREATE SCHEMA statement. *
*
XYZ*Step types directly from client code@@ -57,9 +61,7 @@ package org.jooq; *
CREATE SCHEMA statement.
+ *
+ * @see DSL#createSchema(String)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchema(String schema);
+
+ /**
+ * The CREATE SCHEMA statement.
+ *
+ * @see DSL#createSchema(Name)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchema(Name schema);
+
+ /**
+ * The CREATE SCHEMA statement.
+ *
+ * @see DSL#createSchema(Schema)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchema(Schema schema);
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSL#createSchemaIfNotExists(String)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchemaIfNotExists(String schema);
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSL#createSchemaIfNotExists(Name)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchemaIfNotExists(Name schema);
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSL#createSchemaIfNotExists(Schema)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ CreateSchemaFinalStep createSchemaIfNotExists(Schema schema);
+
/**
* The ALTER DATABASE statement.
*
@@ -9100,54 +9148,6 @@ public interface DSLContext extends Scope , AutoCloseable {
@Support({ FIREBIRD, H2, HSQLDB, MARIADB, POSTGRES })
CommentOnIsStep commentOnColumn(Field> field);
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchema(String)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchema(String schema);
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchema(Name)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchema(Name schema);
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchema(Schema)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchema(Schema schema);
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchemaIfNotExists(String)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchemaIfNotExists(String schema);
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchemaIfNotExists(Name)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchemaIfNotExists(Name schema);
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSL#createSchemaIfNotExists(Schema)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- CreateSchemaFinalStep createSchemaIfNotExists(Schema schema);
-
/**
* Create a new DSL CREATE TABLE statement.
*
diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterDatabaseImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterDatabaseImpl.java
index 876c17272a..fd89c1ec3b 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AlterDatabaseImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AlterDatabaseImpl.java
@@ -62,7 +62,7 @@ implements
private final Catalog database;
private final boolean ifExists;
- private final Catalog renameTo;
+ private Catalog renameTo;
AlterDatabaseImpl(
Configuration configuration,
@@ -90,6 +90,10 @@ implements
this.renameTo = renameTo;
}
+ final Catalog $database() { return database; }
+ final boolean $ifExists() { return ifExists; }
+ final Catalog $renameTo() { return renameTo; }
+
// -------------------------------------------------------------------------
// XXX: DSL API
// -------------------------------------------------------------------------
@@ -106,12 +110,8 @@ implements
@Override
public final AlterDatabaseImpl renameTo(Catalog renameTo) {
- return new AlterDatabaseImpl(
- configuration(),
- this.database,
- this.ifExists,
- renameTo
- );
+ this.renameTo = renameTo;
+ return this;
}
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterDomainImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterDomainImpl.java
index c6c914b1e0..223d3c3817 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AlterDomainImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AlterDomainImpl.java
@@ -64,18 +64,18 @@ implements
private final DomainCREATE SCHEMA IF NOT EXISTS statement.
*/
-final class CreateSchemaImpl extends AbstractRowCountQuery implements
+@SuppressWarnings({ "unused" })
+final class CreateSchemaImpl
+extends
+ AbstractRowCountQuery
+implements
+ CreateSchemaFinalStep
+{
+
+ private static final long serialVersionUID = 1L;
- // Cascading interface implementations for CREATE SCHEMA behaviour
- CreateSchemaFinalStep {
-
-
- /**
- * Generated UID
- */
- private static final long serialVersionUID = 8904572826501186329L;
- private static final Clause[] CLAUSES = { CREATE_SCHEMA };
- private static final SetCREATE SCHEMA statement.
+ *
+ * @see DSLContext#createSchema(String)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchema(String schema) {
+ return dsl().createSchema(schema);
+ }
+
+ /**
+ * The CREATE SCHEMA statement.
+ *
+ * @see DSLContext#createSchema(Name)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchema(Name schema) {
+ return dsl().createSchema(schema);
+ }
+
+ /**
+ * The CREATE SCHEMA statement.
+ *
+ * @see DSLContext#createSchema(Schema)
+ */
+ @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchema(Schema schema) {
+ return dsl().createSchema(schema);
+ }
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSLContext#createSchemaIfNotExists(String)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(String schema) {
+ return dsl().createSchemaIfNotExists(schema);
+ }
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSLContext#createSchemaIfNotExists(Name)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(Name schema) {
+ return dsl().createSchemaIfNotExists(schema);
+ }
+
+ /**
+ * The CREATE SCHEMA IF NOT EXISTS statement.
+ *
+ * @see DSLContext#createSchemaIfNotExists(Schema)
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES })
+ public static org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(Schema schema) {
+ return dsl().createSchemaIfNotExists(schema);
+ }
+
/**
* The ALTER DATABASE statement.
*
@@ -7184,66 +7243,6 @@ public class DSL {
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchema(String)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchema(String schema) {
- return dsl().createSchema(schema);
- }
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchema(Name)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchema(Name schema) {
- return dsl().createSchema(schema);
- }
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchema(Schema)
- */
- @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchema(Schema schema) {
- return dsl().createSchema(schema);
- }
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchemaIfNotExists(String)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchemaIfNotExists(String schema) {
- return dsl().createSchemaIfNotExists(schema);
- }
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchemaIfNotExists(Name)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchemaIfNotExists(Name schema) {
- return dsl().createSchemaIfNotExists(schema);
- }
-
- /**
- * Create a new DSL CREATE SCHEMA statement.
- *
- * @see DSLContext#createSchemaIfNotExists(Schema)
- */
- @Support({ H2, MARIADB, MYSQL, POSTGRES })
- public static CreateSchemaFinalStep createSchemaIfNotExists(Schema schema) {
- return dsl().createSchemaIfNotExists(schema);
- }
-
/**
* Create a new DSL CREATE TABLE statement.
*
@@ -10232,6 +10231,24 @@ public class DSL {
return new CatalogImpl(name);
}
+ /**
+ * Create a qualified schema, given its schema name.
+ * + * This constructs a schema reference given the schema's qualified name. + *
+ * Example:
+ */
+ @Support
+ public static Schema schema(String name) {
+ return schema(name(name));
+ }
+
/**
* Create a qualified schema, given its schema name.
*
+ * // This schema...
+ * schema(name("MY_CATALOG", "MY_SCHEMA"));
+ *
+ * // ... will render this SQL by default, using the SQL Server dialect
+ * [MY_CATALOG].[MY_SCHEMA]
+ *
diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 1edb750c66..d4eb947fb2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -115,7 +115,6 @@ import org.jooq.ConnectionRunnable; import org.jooq.ContextTransactionalCallable; import org.jooq.ContextTransactionalRunnable; import org.jooq.CreateIndexStep; -import org.jooq.CreateSchemaFinalStep; import org.jooq.CreateSequenceFlagsStep; import org.jooq.CreateTableColumnStep; import org.jooq.CreateTypeStep; @@ -2979,6 +2978,36 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return new CreateDomainImpl<>(configuration(), domain, true); } + @Override + public org.jooq.CreateSchemaFinalStep createSchema(String schema) { + return new CreateSchemaImpl(configuration(), DSL.schema(schema), false); + } + + @Override + public org.jooq.CreateSchemaFinalStep createSchema(Name schema) { + return new CreateSchemaImpl(configuration(), DSL.schema(schema), false); + } + + @Override + public org.jooq.CreateSchemaFinalStep createSchema(Schema schema) { + return new CreateSchemaImpl(configuration(), schema, false); + } + + @Override + public org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(String schema) { + return new CreateSchemaImpl(configuration(), DSL.schema(schema), true); + } + + @Override + public org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(Name schema) { + return new CreateSchemaImpl(configuration(), DSL.schema(schema), true); + } + + @Override + public org.jooq.CreateSchemaFinalStep createSchemaIfNotExists(Schema schema) { + return new CreateSchemaImpl(configuration(), schema, true); + } + @Override public org.jooq.AlterDatabaseStep alterDatabase(String database) { return new AlterDatabaseImpl(configuration(), DSL.catalog(database), false); @@ -3396,36 +3425,6 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri } - @Override - public CreateSchemaFinalStep createSchema(String schema) { - return createSchema(name(schema)); - } - - @Override - public CreateSchemaFinalStep createSchema(Name schema) { - return createSchema(schema(schema)); - } - - @Override - public CreateSchemaFinalStep createSchema(Schema schema) { - return new CreateSchemaImpl(configuration(), schema, false); - } - - @Override - public CreateSchemaFinalStep createSchemaIfNotExists(String schema) { - return createSchemaIfNotExists(name(schema)); - } - - @Override - public CreateSchemaFinalStep createSchemaIfNotExists(Name schema) { - return createSchemaIfNotExists(schema(schema)); - } - - @Override - public CreateSchemaFinalStep createSchemaIfNotExists(Schema schema) { - return new CreateSchemaImpl(configuration(), schema, true); - } - @Override public CreateTableColumnStep createTable(String table) { return createTable(name(table)); diff --git a/jOOQ/src/main/java/org/jooq/impl/DropDatabaseImpl.java b/jOOQ/src/main/java/org/jooq/impl/DropDatabaseImpl.java index e3a9f500e1..df99bea50b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DropDatabaseImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DropDatabaseImpl.java @@ -74,6 +74,9 @@ implements this.ifExists = ifExists; } + final Catalog $database() { return database; } + final boolean $ifExists() { return ifExists; } + // ------------------------------------------------------------------------- // XXX: QueryPart API // ------------------------------------------------------------------------- diff --git a/jOOQ/src/main/java/org/jooq/impl/DropDomainImpl.java b/jOOQ/src/main/java/org/jooq/impl/DropDomainImpl.java index 7492689d2e..d1b4588fcc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DropDomainImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DropDomainImpl.java @@ -62,7 +62,7 @@ implements private final Domain> domain; private final boolean ifExists; - private final Boolean cascade; + private Boolean cascade; DropDomainImpl( Configuration configuration, @@ -90,28 +90,24 @@ implements this.cascade = cascade; } + final Domain> $domain() { return domain; } + final boolean $ifExists() { return ifExists; } + final Boolean $cascade() { return cascade; } + // ------------------------------------------------------------------------- // XXX: DSL API // ------------------------------------------------------------------------- @Override public final DropDomainImpl cascade() { - return new DropDomainImpl( - configuration(), - this.domain, - this.ifExists, - true - ); + this.cascade = true; + return this; } @Override public final DropDomainImpl restrict() { - return new DropDomainImpl( - configuration(), - this.domain, - this.ifExists, - false - ); + this.cascade = false; + return this; } // -------------------------------------------------------------------------