diff --git a/jOOQ/src/main/java/org/jooq/Sequence.java b/jOOQ/src/main/java/org/jooq/Sequence.java index 54efedad5b..a126c31d04 100644 --- a/jOOQ/src/main/java/org/jooq/Sequence.java +++ b/jOOQ/src/main/java/org/jooq/Sequence.java @@ -52,14 +52,12 @@ import static org.jooq.SQLDialect.POSTGRES; // ... // ... -import java.io.Serializable; - /** * A type representing sequences in databases that support this. * * @author Lukas Eder */ -public interface Sequence extends Serializable { +public interface Sequence extends QueryPart { /** * Get the sequence name diff --git a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java index 017a841d0c..ed99ce6c0e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java @@ -46,7 +46,10 @@ import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.impl.DSL.field; import static org.jooq.impl.DSL.select; +import org.jooq.BindContext; +import org.jooq.Clause; import org.jooq.Configuration; +import org.jooq.Context; import org.jooq.DataType; import org.jooq.Field; import org.jooq.RenderContext; @@ -62,7 +65,7 @@ import org.jooq.exception.SQLDialectNotSupportedException; * * @author Lukas Eder */ -public class SequenceImpl implements Sequence { +public class SequenceImpl extends AbstractQueryPart implements Sequence { /** * Generated UID @@ -197,18 +200,35 @@ public class SequenceImpl implements Sequence { private final String getQualifiedName(Configuration configuration) { RenderContext local = create(configuration).renderContext(); - Schema mappedSchema = Utils.getMappedSchema(configuration, schema); - - if (mappedSchema != null && configuration.dialect() != CUBRID) { - local.visit(mappedSchema); - local.sql("."); - } - - local.literal(name); + SequenceImpl.this.toSQL(local); return local.render(); } } + // ------------------------------------------------------------------------ + // XXX: QueryPart API + // ------------------------------------------------------------------------ + + @Override + public final void toSQL(RenderContext ctx) { + Schema mappedSchema = Utils.getMappedSchema(ctx.configuration(), schema); + + if (mappedSchema != null && ctx.configuration().dialect() != CUBRID) { + ctx.visit(mappedSchema); + ctx.sql("."); + } + + ctx.literal(name); + } + + @Override + public final void bind(BindContext ctx) {} + + @Override + public final Clause[] clauses(Context ctx) { + return null; + } + // ------------------------------------------------------------------------ // XXX: Object API // ------------------------------------------------------------------------