diff --git a/jOOQ/src/main/java/org/jooq/Clause.java b/jOOQ/src/main/java/org/jooq/Clause.java index 632437cc67..6edab3bae6 100644 --- a/jOOQ/src/main/java/org/jooq/Clause.java +++ b/jOOQ/src/main/java/org/jooq/Clause.java @@ -36,25 +36,10 @@ package org.jooq; /** - * TODO [#2667] + * A listing of clauses that emit events {@link VisitListener}. */ public enum Clause { - /** - * A placeholder clause for cases where the behaviour was not yet specified. - * This will not go public, and is meant to be a placeholder during - * development. - */ - @Deprecated - DUMMY, - - // ------------------------------------------------------------------------- - // Clauses used in a any type of statement to model package references - // ------------------------------------------------------------------------- - - PACKAGE, - PACKAGE_REFERENCE, - // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model catalog references // ------------------------------------------------------------------------- @@ -130,8 +115,6 @@ public enum Clause { * */ TABLE_VALUES, - TABLE_FLASHBACK, - TABLE_PIVOT, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model column references @@ -166,6 +149,7 @@ public enum Clause { FIELD_VALUE, FIELD_CASE, FIELD_ROW, + FIELD_FUNCTION, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model condition references diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 39f77a84a9..1933150bbc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -35,7 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.Utils.DATA_OMIT_CLAUSE_EVENT_EMISSION; import java.util.ArrayDeque; @@ -172,7 +171,7 @@ abstract class AbstractContext> implements Context { @Override public final C start(Clause clause) { - if (clause != null && clause != DUMMY) { + if (clause != null) { visitClauses.addLast(clause); for (VisitListener listener : visitListeners) { @@ -185,7 +184,7 @@ abstract class AbstractContext> implements Context { @Override public final C end(Clause clause) { - if (clause != null && clause != DUMMY) { + if (clause != null) { for (VisitListener listener : visitListeners) { listener.clauseEnd(visitContext); } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java index 1560e7b02f..1136211740 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java @@ -35,7 +35,8 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; +import static org.jooq.Clause.FIELD; +import static org.jooq.Clause.FIELD_FUNCTION; import static org.jooq.SQLDialect.POSTGRES; import static org.jooq.SQLDialect.SQLSERVER; import static org.jooq.impl.DSL.function; @@ -90,6 +91,7 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro * Generated UID */ private static final long serialVersionUID = 6330037113167106443L; + private static final Clause[] CLAUSES = { FIELD, FIELD_FUNCTION }; // ------------------------------------------------------------------------ // Meta-data attributes (the same for every call) @@ -295,7 +297,7 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro @Override public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; + return CLAUSES; } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java b/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java index 89d441756e..a6e4144069 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java @@ -35,7 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.DSL.fieldByName; import java.util.ArrayList; @@ -43,9 +42,7 @@ import java.util.List; import org.jooq.ArrayRecord; import org.jooq.BindContext; -import org.jooq.Clause; import org.jooq.Configuration; -import org.jooq.Context; import org.jooq.Field; import org.jooq.Param; import org.jooq.Record; @@ -176,11 +173,6 @@ class ArrayTable extends AbstractTable { ctx.visit(table(ctx.configuration())); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - private final Table table(Configuration configuration) { switch (configuration.dialect().family()) { case ORACLE: { @@ -301,11 +293,6 @@ class ArrayTable extends AbstractTable { context.visit(array); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override final Fields fields0() { return ArrayTable.this.fields0(); diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayTableSimulation.java b/jOOQ/src/main/java/org/jooq/impl/ArrayTableSimulation.java index fe8c7558f8..62a72ca386 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayTableSimulation.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayTableSimulation.java @@ -35,16 +35,13 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.DSL.falseCondition; import static org.jooq.impl.DSL.fieldByName; import static org.jooq.impl.DSL.one; import static org.jooq.impl.DSL.using; import org.jooq.BindContext; -import org.jooq.Clause; import org.jooq.Configuration; -import org.jooq.Context; import org.jooq.Field; import org.jooq.Record; import org.jooq.RenderContext; @@ -129,11 +126,6 @@ class ArrayTableSimulation extends AbstractTable { ctx.visit(table(ctx.configuration())); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override final Fields fields0() { return field; diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java index 01ee8055c6..00c2e10217 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java @@ -35,14 +35,11 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.DSL.condition; import static org.jooq.impl.DSL.inline; import org.jooq.BindContext; -import org.jooq.Clause; import org.jooq.Configuration; -import org.jooq.Context; import org.jooq.Field; import org.jooq.QueryPartInternal; import org.jooq.RenderContext; @@ -72,11 +69,6 @@ class FieldCondition extends AbstractCondition { delegate(ctx.configuration()).bind(ctx); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - private final QueryPartInternal delegate(Configuration configuration) { switch (configuration.dialect().family()) { diff --git a/jOOQ/src/main/java/org/jooq/impl/FlashbackTable.java b/jOOQ/src/main/java/org/jooq/impl/FlashbackTable.java index 579db209df..8762f03d5c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FlashbackTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/FlashbackTable.java @@ -35,13 +35,10 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.DSL.keyword; import static org.jooq.impl.DSL.val; import org.jooq.BindContext; -import org.jooq.Clause; -import org.jooq.Context; import org.jooq.Field; import org.jooq.QueryPart; import org.jooq.Record; @@ -146,11 +143,6 @@ implements VersionsBetweenAndStep { } } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override public final boolean declaresTables() { return true; diff --git a/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java b/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java index 6df4231b18..11e62c0a13 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java @@ -35,11 +35,7 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; - import org.jooq.BindContext; -import org.jooq.Clause; -import org.jooq.Context; import org.jooq.Field; import org.jooq.Record; import org.jooq.RenderContext; @@ -105,11 +101,6 @@ class FunctionTable extends AbstractTable { } } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override final Fields fields0() { return new Fields(); diff --git a/jOOQ/src/main/java/org/jooq/impl/Limit.java b/jOOQ/src/main/java/org/jooq/impl/Limit.java index fb6d412b36..8d4357d683 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Limit.java +++ b/jOOQ/src/main/java/org/jooq/impl/Limit.java @@ -35,7 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.RenderContext.CastMode.NEVER; import static org.jooq.conf.ParamType.INLINED; import static org.jooq.impl.DSL.inline; @@ -324,7 +323,7 @@ class Limit extends AbstractQueryPart { @Override public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; + return null; } /** diff --git a/jOOQ/src/main/java/org/jooq/impl/PackageImpl.java b/jOOQ/src/main/java/org/jooq/impl/PackageImpl.java index 9b85dc6f63..c442075e81 100644 --- a/jOOQ/src/main/java/org/jooq/impl/PackageImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/PackageImpl.java @@ -35,9 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.PACKAGE; -import static org.jooq.Clause.PACKAGE_REFERENCE; - import org.jooq.BindContext; import org.jooq.Clause; import org.jooq.Context; @@ -63,7 +60,6 @@ public class PackageImpl extends AbstractQueryPart implements Package { * Generated UID */ private static final long serialVersionUID = 7466890004995197675L; - private static final Clause[] CLAUSES = { PACKAGE, PACKAGE_REFERENCE }; private final Schema schema; private final String name; @@ -93,7 +89,7 @@ public class PackageImpl extends AbstractQueryPart implements Package { @Override public final Clause[] clauses(Context ctx) { - return CLAUSES; + return null; } // ------------------------------------------------------------------------ diff --git a/jOOQ/src/main/java/org/jooq/impl/Pivot.java b/jOOQ/src/main/java/org/jooq/impl/Pivot.java index 85323c98ce..5a0152516d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Pivot.java +++ b/jOOQ/src/main/java/org/jooq/impl/Pivot.java @@ -35,7 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.conf.ParamType.INLINED; import static org.jooq.impl.DSL.trueCondition; import static org.jooq.impl.DSL.using; @@ -45,10 +44,8 @@ import java.util.Collection; import java.util.List; import org.jooq.BindContext; -import org.jooq.Clause; import org.jooq.Condition; import org.jooq.Configuration; -import org.jooq.Context; import org.jooq.Field; import org.jooq.PivotForStep; import org.jooq.PivotInStep; @@ -148,11 +145,6 @@ implements .declareTables(false); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - private Table select(Configuration configuration) { List> groupingFields = new ArrayList>(); List> aliasedGroupingFields = new ArrayList>(); @@ -269,11 +261,6 @@ implements .visit(table) .declareTables(declareTables); } - - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } } /** @@ -330,11 +317,6 @@ implements context.visit(pivot(context.configuration())); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override public final Table as(String alias) { return new TableAlias(this, alias, true); diff --git a/jOOQ/src/main/java/org/jooq/impl/SortFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/SortFieldImpl.java index 275db09f99..c58d4694f9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SortFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SortFieldImpl.java @@ -35,7 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; import static org.jooq.impl.DSL.nvl2; import static org.jooq.impl.DSL.one; import static org.jooq.impl.DSL.zero; @@ -168,6 +167,6 @@ class SortFieldImpl extends AbstractQueryPart implements SortField { @Override public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; + return null; } } diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTImpl.java index 035e5d9ed2..f82cd93edc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTImpl.java @@ -35,8 +35,6 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; - import org.jooq.BindContext; import org.jooq.Clause; import org.jooq.Context; @@ -142,7 +140,7 @@ public class UDTImpl> extends AbstractQueryPart implement @Override public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; + return null; } /** diff --git a/jOOQ/src/main/java/org/jooq/impl/WithTable.java b/jOOQ/src/main/java/org/jooq/impl/WithTable.java index 26118f6442..f5c4128b85 100644 --- a/jOOQ/src/main/java/org/jooq/impl/WithTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/WithTable.java @@ -35,11 +35,7 @@ */ package org.jooq.impl; -import static org.jooq.Clause.DUMMY; - import org.jooq.BindContext; -import org.jooq.Clause; -import org.jooq.Context; import org.jooq.Record; import org.jooq.RenderContext; import org.jooq.Table; @@ -82,11 +78,6 @@ class WithTable extends AbstractTable { context.visit(delegate); } - @Override - public final Clause[] clauses(Context ctx) { - return new Clause[] { DUMMY }; - } - @Override public final Class getRecordType() { return delegate.getRecordType(); diff --git a/jOOQ/src/test/java/org/jooq/test/VisitContextTest.java b/jOOQ/src/test/java/org/jooq/test/VisitContextTest.java index f8153b1455..66bc3bf79c 100644 --- a/jOOQ/src/test/java/org/jooq/test/VisitContextTest.java +++ b/jOOQ/src/test/java/org/jooq/test/VisitContextTest.java @@ -175,9 +175,6 @@ public class VisitContextTest extends AbstractTest { @Override public void clauseStart(VisitContext context) { - if (context.clause() == Clause.DUMMY) - return; - clause = context.clause(); indent += 2; System.out.println(leftPad("+-", indent, "| ") + context.clause()); @@ -185,9 +182,6 @@ public class VisitContextTest extends AbstractTest { @Override public void clauseEnd(VisitContext context) { - if (context.clause() == Clause.DUMMY) - return; - if (clause == SELECT_WHERE) { if (context.renderContext() != null) { context.renderContext()