filterWhere(Boolean field);
+
+ /**
+ * Add a FILTER clause to the aggregate function.
*
* NOTE: When inserting plain SQL into jOOQ objects, you must
* guarantee syntax integrity. You may also create the possibility of
@@ -89,8 +93,7 @@ public interface AggregateFilterStep extends WindowBeforeOverStep {
WindowBeforeOverStep filterWhere(String sql);
/**
- * Add a FILTER clause to the aggregate function, connecting
- * conditions with each other with {@link Operator#AND}.
+ * Add a FILTER clause to the aggregate function.
*
* NOTE: When inserting plain SQL into jOOQ objects, you must
* guarantee syntax integrity. You may also create the possibility of
@@ -104,8 +107,7 @@ public interface AggregateFilterStep extends WindowBeforeOverStep {
WindowBeforeOverStep filterWhere(String sql, Object... bindings);
/**
- * Add a FILTER clause to the aggregate function, connecting
- * conditions with each other with {@link Operator#AND}.
+ * Add a FILTER clause to the aggregate function.
*
* NOTE: When inserting plain SQL into jOOQ objects, you must
* guarantee syntax integrity. You may also create the possibility of
diff --git a/jOOQ/src/main/java/org/jooq/Condition.java b/jOOQ/src/main/java/org/jooq/Condition.java
index bc8decc1bb..e7a61d60e7 100644
--- a/jOOQ/src/main/java/org/jooq/Condition.java
+++ b/jOOQ/src/main/java/org/jooq/Condition.java
@@ -71,6 +71,16 @@ public interface Condition extends QueryPart {
@Support
Condition and(Field other);
+ /**
+ * Combine this condition with another one using the {@link Operator#AND}
+ * operator.
+ *
+ * @param other The other condition
+ * @return The combined condition
+ */
+ @Support
+ Condition and(Boolean other);
+
/**
* Combine this condition with another one using the {@link Operator#AND}
* operator.
@@ -146,6 +156,16 @@ public interface Condition extends QueryPart {
@Support
Condition andNot(Field other);
+ /**
+ * Combine this condition with a negated other one using the
+ * {@link Operator#AND} operator.
+ *
+ * @param other The other condition
+ * @return The combined condition
+ */
+ @Support
+ Condition andNot(Boolean other);
+
/**
* Combine this condition with an EXISTS clause using the
* {@link Operator#AND} operator.
@@ -186,6 +206,16 @@ public interface Condition extends QueryPart {
@Support
Condition or(Field other);
+ /**
+ * Combine this condition with another one using the {@link Operator#OR}
+ * operator.
+ *
+ * @param other The other condition
+ * @return The combined condition
+ */
+ @Support
+ Condition or(Boolean other);
+
/**
* Combine this condition with another one using the {@link Operator#OR}
* operator.
@@ -261,6 +291,16 @@ public interface Condition extends QueryPart {
@Support
Condition orNot(Field other);
+ /**
+ * Combine this condition with a negated other one using the
+ * {@link Operator#OR} operator.
+ *
+ * @param other The other condition
+ * @return The combined condition
+ */
+ @Support
+ Condition orNot(Boolean other);
+
/**
* Combine this condition with an EXISTS clause using the
* {@link Operator#OR} operator.
diff --git a/jOOQ/src/main/java/org/jooq/CreateTableAsStep.java b/jOOQ/src/main/java/org/jooq/CreateTableAsStep.java
index 59a5ee61d8..f25f40b18c 100644
--- a/jOOQ/src/main/java/org/jooq/CreateTableAsStep.java
+++ b/jOOQ/src/main/java/org/jooq/CreateTableAsStep.java
@@ -53,6 +53,7 @@ import static org.jooq.SQLDialect.MARIADB;
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
+// ...
import static org.jooq.SQLDialect.SQLITE;
// ...
diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java
index adfce9d23b..2cde94ded1 100644
--- a/jOOQ/src/main/java/org/jooq/DSLContext.java
+++ b/jOOQ/src/main/java/org/jooq/DSLContext.java
@@ -55,6 +55,7 @@ import static org.jooq.SQLDialect.MARIADB;
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
+// ...
import static org.jooq.SQLDialect.SQLITE;
// ...
// ...
diff --git a/jOOQ/src/main/java/org/jooq/DeleteConditionStep.java b/jOOQ/src/main/java/org/jooq/DeleteConditionStep.java
index c9cbaa5e62..02134421a1 100644
--- a/jOOQ/src/main/java/org/jooq/DeleteConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/DeleteConditionStep.java
@@ -72,6 +72,13 @@ public interface DeleteConditionStep extends DeleteFinalStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator
+ */
+ @Support
+ DeleteConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator
@@ -131,6 +138,13 @@ public interface DeleteConditionStep extends DeleteFinalStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator
+ */
+ @Support
+ DeleteConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator
@@ -158,6 +172,13 @@ public interface DeleteConditionStep extends DeleteFinalStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator
+ */
+ @Support
+ DeleteConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator
@@ -217,6 +238,13 @@ public interface DeleteConditionStep extends DeleteFinalStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator
+ */
+ @Support
+ DeleteConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator
diff --git a/jOOQ/src/main/java/org/jooq/DeleteWhereStep.java b/jOOQ/src/main/java/org/jooq/DeleteWhereStep.java
index 749c16171e..81e245788f 100644
--- a/jOOQ/src/main/java/org/jooq/DeleteWhereStep.java
+++ b/jOOQ/src/main/java/org/jooq/DeleteWhereStep.java
@@ -79,6 +79,12 @@ public interface DeleteWhereStep extends DeleteFinalStep {
@Support
DeleteConditionStep where(Field condition);
+ /**
+ * Add conditions to the query.
+ */
+ @Support
+ DeleteConditionStep where(Boolean condition);
+
/**
* Add conditions to the query.
*
diff --git a/jOOQ/src/main/java/org/jooq/DivideByOnConditionStep.java b/jOOQ/src/main/java/org/jooq/DivideByOnConditionStep.java
index 549d1d2cf6..fe00738a36 100644
--- a/jOOQ/src/main/java/org/jooq/DivideByOnConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/DivideByOnConditionStep.java
@@ -64,6 +64,13 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
@Support
DivideByOnConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator.
+ */
+ @Support
+ DivideByOnConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator.
@@ -123,6 +130,13 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
@Support
DivideByOnConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator.
+ */
+ @Support
+ DivideByOnConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS
* clause using the {@link Operator#AND} operator.
@@ -151,6 +165,13 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
@Support
DivideByOnConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator.
+ */
+ @Support
+ DivideByOnConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator.
@@ -210,6 +231,13 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
@Support
DivideByOnConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator.
+ */
+ @Support
+ DivideByOnConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS
* clause using the {@link Operator#OR} operator.
diff --git a/jOOQ/src/main/java/org/jooq/DivideByOnStep.java b/jOOQ/src/main/java/org/jooq/DivideByOnStep.java
index 7125a6f13a..b38932c08e 100644
--- a/jOOQ/src/main/java/org/jooq/DivideByOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/DivideByOnStep.java
@@ -63,6 +63,12 @@ public interface DivideByOnStep {
@Support
DivideByOnConditionStep on(Field condition);
+ /**
+ * Add a division condition to the DIVIDE BY clause
+ */
+ @Support
+ DivideByOnConditionStep on(Boolean condition);
+
/**
* Add a division condition to the DIVIDE BY clause
*
diff --git a/jOOQ/src/main/java/org/jooq/MergeMatchedDeleteStep.java b/jOOQ/src/main/java/org/jooq/MergeMatchedDeleteStep.java
index 826c736478..cf106067fd 100644
--- a/jOOQ/src/main/java/org/jooq/MergeMatchedDeleteStep.java
+++ b/jOOQ/src/main/java/org/jooq/MergeMatchedDeleteStep.java
@@ -93,4 +93,19 @@ public interface MergeMatchedDeleteStep extends MergeNotMatche
*/
@Support({ CUBRID })
MergeNotMatchedStep deleteWhere(Field condition);
+
+ /**
+ * Add an additional DELETE WHERE clause to the preceding
+ * WHEN MATCHED THEN UPDATE clause.
+ *
+ * Note: This syntax is only available for the
+ * {@link SQLDialect#CUBRID} and {@link SQLDialect#ORACLE} databases!
+ *
+ * See http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9016.
+ * htm for a full definition of the Oracle MERGE statement
+ */
+ @Support({ CUBRID })
+ MergeNotMatchedStep deleteWhere(Boolean condition);
}
diff --git a/jOOQ/src/main/java/org/jooq/MergeMatchedWhereStep.java b/jOOQ/src/main/java/org/jooq/MergeMatchedWhereStep.java
index 823e9fc3e2..30362129d7 100644
--- a/jOOQ/src/main/java/org/jooq/MergeMatchedWhereStep.java
+++ b/jOOQ/src/main/java/org/jooq/MergeMatchedWhereStep.java
@@ -93,4 +93,19 @@ public interface MergeMatchedWhereStep extends MergeNotMatched
*/
@Support({ CUBRID })
MergeMatchedDeleteStep where(Field condition);
+
+ /**
+ * Add an additional WHERE clause to the preceding
+ * WHEN MATCHED THEN UPDATE clause.
+ *
+ * Note: This syntax is only available for the
+ * {@link SQLDialect#CUBRID} and {@link SQLDialect#ORACLE} databases!
+ *
+ * See http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9016.
+ * htm for a full definition of the Oracle MERGE statement
+ */
+ @Support({ CUBRID })
+ MergeMatchedDeleteStep where(Boolean condition);
}
diff --git a/jOOQ/src/main/java/org/jooq/MergeNotMatchedWhereStep.java b/jOOQ/src/main/java/org/jooq/MergeNotMatchedWhereStep.java
index 85d9b7e46e..34e66ce8ad 100644
--- a/jOOQ/src/main/java/org/jooq/MergeNotMatchedWhereStep.java
+++ b/jOOQ/src/main/java/org/jooq/MergeNotMatchedWhereStep.java
@@ -93,4 +93,19 @@ public interface MergeNotMatchedWhereStep extends MergeFinalSt
*/
@Support({ CUBRID })
MergeFinalStep where(Field condition);
+
+ /**
+ * Add an additional WHERE clause to the preceding
+ * WHEN NOT MATCHED THEN INSERT clause.
+ *
+ * Note: This syntax is only available for the
+ * {@link SQLDialect#CUBRID} and {@link SQLDialect#ORACLE} databases!
+ *
+ * See http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9016.
+ * htm for a full definition of the Oracle MERGE statement
+ */
+ @Support({ CUBRID })
+ MergeFinalStep where(Boolean condition);
}
diff --git a/jOOQ/src/main/java/org/jooq/MergeOnConditionStep.java b/jOOQ/src/main/java/org/jooq/MergeOnConditionStep.java
index 83bfe22fd8..e1d45db87d 100644
--- a/jOOQ/src/main/java/org/jooq/MergeOnConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/MergeOnConditionStep.java
@@ -84,6 +84,13 @@ public interface MergeOnConditionStep extends MergeMatchedStep
@Support({ CUBRID, HSQLDB })
MergeOnConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support({ CUBRID, HSQLDB })
+ MergeOnConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
@@ -143,6 +150,13 @@ public interface MergeOnConditionStep extends MergeMatchedStep
@Support({ CUBRID, HSQLDB })
MergeOnConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support({ CUBRID, HSQLDB })
+ MergeOnConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
@@ -171,6 +185,13 @@ public interface MergeOnConditionStep extends MergeMatchedStep
@Support({ CUBRID, HSQLDB })
MergeOnConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support({ CUBRID, HSQLDB })
+ MergeOnConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator and proceed to the next step.
@@ -230,6 +251,13 @@ public interface MergeOnConditionStep extends MergeMatchedStep
@Support({ CUBRID, HSQLDB })
MergeOnConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support({ CUBRID, HSQLDB })
+ MergeOnConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
diff --git a/jOOQ/src/main/java/org/jooq/MergeOnStep.java b/jOOQ/src/main/java/org/jooq/MergeOnStep.java
index 77d483fdec..5e7c6e4c0c 100644
--- a/jOOQ/src/main/java/org/jooq/MergeOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/MergeOnStep.java
@@ -83,6 +83,12 @@ public interface MergeOnStep {
@Support({ CUBRID, HSQLDB })
MergeOnConditionStep on(Field condition);
+ /**
+ * Provide join conditions and proceed to the next step
+ */
+ @Support({ CUBRID, HSQLDB })
+ MergeOnConditionStep on(Boolean condition);
+
/**
* Provide join conditions and proceed to the next step
*
diff --git a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java
index c5d4daf2e2..75ed066030 100644
--- a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java
+++ b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java
@@ -50,6 +50,7 @@ import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
+// ...
import java.util.Collection;
diff --git a/jOOQ/src/main/java/org/jooq/SelectConditionStep.java b/jOOQ/src/main/java/org/jooq/SelectConditionStep.java
index d846511c84..4fdcd4d2b2 100644
--- a/jOOQ/src/main/java/org/jooq/SelectConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectConditionStep.java
@@ -101,6 +101,13 @@ public interface SelectConditionStep extends SelectConnectBySt
@Support
SelectConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
@@ -160,6 +167,13 @@ public interface SelectConditionStep extends SelectConnectBySt
@Support
SelectConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
@@ -188,6 +202,13 @@ public interface SelectConditionStep extends SelectConnectBySt
@Support
SelectConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator and proceed to the next step.
@@ -247,6 +268,13 @@ public interface SelectConditionStep extends SelectConnectBySt
@Support
SelectConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
diff --git a/jOOQ/src/main/java/org/jooq/SelectConnectByConditionStep.java b/jOOQ/src/main/java/org/jooq/SelectConnectByConditionStep.java
index b3c423910f..caac4953b8 100644
--- a/jOOQ/src/main/java/org/jooq/SelectConnectByConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectConnectByConditionStep.java
@@ -103,6 +103,13 @@ public interface SelectConnectByConditionStep extends SelectSt
@Support({ CUBRID })
SelectConnectByConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support({ CUBRID })
+ SelectConnectByConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
diff --git a/jOOQ/src/main/java/org/jooq/SelectConnectByStep.java b/jOOQ/src/main/java/org/jooq/SelectConnectByStep.java
index 75178370c7..d73536f12d 100644
--- a/jOOQ/src/main/java/org/jooq/SelectConnectByStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectConnectByStep.java
@@ -102,6 +102,12 @@ public interface SelectConnectByStep extends SelectGroupByStep
@Support({ CUBRID })
SelectConnectByConditionStep connectBy(Field condition);
+ /**
+ * Add an Oracle-specific CONNECT BY clause to the query
+ */
+ @Support({ CUBRID })
+ SelectConnectByConditionStep connectBy(Boolean condition);
+
/**
* Add an Oracle-specific CONNECT BY clause to the query
*
@@ -158,6 +164,13 @@ public interface SelectConnectByStep extends SelectGroupByStep
@Support({ CUBRID })
SelectConnectByConditionStep connectByNoCycle(Field condition);
+ /**
+ * Add an Oracle-specific CONNECT BY NOCYCLE clause to the
+ * query
+ */
+ @Support({ CUBRID })
+ SelectConnectByConditionStep connectByNoCycle(Boolean condition);
+
/**
* Add an Oracle-specific CONNECT BY NOCYCLE clause to the
* query
diff --git a/jOOQ/src/main/java/org/jooq/SelectHavingConditionStep.java b/jOOQ/src/main/java/org/jooq/SelectHavingConditionStep.java
index 5ec80cffac..1f64f08077 100644
--- a/jOOQ/src/main/java/org/jooq/SelectHavingConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectHavingConditionStep.java
@@ -101,6 +101,13 @@ public interface SelectHavingConditionStep extends SelectWindo
@Support
SelectHavingConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectHavingConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
@@ -160,6 +167,13 @@ public interface SelectHavingConditionStep extends SelectWindo
@Support
SelectHavingConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectHavingConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
@@ -188,6 +202,13 @@ public interface SelectHavingConditionStep extends SelectWindo
@Support
SelectHavingConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectHavingConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator and proceed to the next step.
@@ -247,6 +268,13 @@ public interface SelectHavingConditionStep extends SelectWindo
@Support
SelectHavingConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectHavingConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
diff --git a/jOOQ/src/main/java/org/jooq/SelectHavingStep.java b/jOOQ/src/main/java/org/jooq/SelectHavingStep.java
index 73a9e4f3d7..352750cfe8 100644
--- a/jOOQ/src/main/java/org/jooq/SelectHavingStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectHavingStep.java
@@ -108,6 +108,12 @@ public interface SelectHavingStep extends SelectWindowStep
@Support
SelectHavingConditionStep having(Field condition);
+ /**
+ * Add a HAVING clause to the query.
+ */
+ @Support
+ SelectHavingConditionStep having(Boolean condition);
+
/**
* Add a HAVING clause to the query.
*
diff --git a/jOOQ/src/main/java/org/jooq/SelectOnConditionStep.java b/jOOQ/src/main/java/org/jooq/SelectOnConditionStep.java
index 4e89ba08bb..bc9b81204f 100644
--- a/jOOQ/src/main/java/org/jooq/SelectOnConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectOnConditionStep.java
@@ -101,6 +101,13 @@ public interface SelectOnConditionStep extends SelectJoinStep<
@Support
SelectOnConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectOnConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
@@ -160,6 +167,13 @@ public interface SelectOnConditionStep extends SelectJoinStep<
@Support
SelectOnConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator and proceed to the next step.
+ */
+ @Support
+ SelectOnConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
@@ -188,6 +202,13 @@ public interface SelectOnConditionStep extends SelectJoinStep<
@Support
SelectOnConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectOnConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator and proceed to the next step.
@@ -247,6 +268,13 @@ public interface SelectOnConditionStep extends SelectJoinStep<
@Support
SelectOnConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator and proceed to the next step.
+ */
+ @Support
+ SelectOnConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
diff --git a/jOOQ/src/main/java/org/jooq/SelectOnStep.java b/jOOQ/src/main/java/org/jooq/SelectOnStep.java
index 67ff45ce80..3535188e6d 100644
--- a/jOOQ/src/main/java/org/jooq/SelectOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectOnStep.java
@@ -102,6 +102,12 @@ public interface SelectOnStep {
@Support
SelectOnConditionStep on(Field condition);
+ /**
+ * Add an ON clause to the previous JOIN.
+ */
+ @Support
+ SelectOnConditionStep on(Boolean condition);
+
/**
* Add an ON clause to the previous JOIN.
*
diff --git a/jOOQ/src/main/java/org/jooq/SelectStartWithStep.java b/jOOQ/src/main/java/org/jooq/SelectStartWithStep.java
index d6d8f69558..8a60fa564c 100644
--- a/jOOQ/src/main/java/org/jooq/SelectStartWithStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectStartWithStep.java
@@ -104,6 +104,13 @@ public interface SelectStartWithStep extends SelectGroupByStep
@Support({ CUBRID })
SelectGroupByStep startWith(Field condition);
+ /**
+ * Add an Oracle-specific START WITH clause to the query's
+ * CONNECT BY clause.
+ */
+ @Support({ CUBRID })
+ SelectGroupByStep startWith(Boolean condition);
+
/**
* Add an Oracle-specific START WITH clause to the query's
* CONNECT BY clause.
diff --git a/jOOQ/src/main/java/org/jooq/SelectWhereStep.java b/jOOQ/src/main/java/org/jooq/SelectWhereStep.java
index a7e4d064c9..5489e24c6f 100644
--- a/jOOQ/src/main/java/org/jooq/SelectWhereStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectWhereStep.java
@@ -108,6 +108,12 @@ public interface SelectWhereStep extends SelectConnectByStep where(Field field);
+ /**
+ * Add a WHERE clause to the query.
+ */
+ @Support
+ SelectConditionStep where(Boolean field);
+
/**
* Add a WHERE clause to the query.
*
diff --git a/jOOQ/src/main/java/org/jooq/TableOnConditionStep.java b/jOOQ/src/main/java/org/jooq/TableOnConditionStep.java
index 8ee90e9cc8..1d5dcbb346 100644
--- a/jOOQ/src/main/java/org/jooq/TableOnConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/TableOnConditionStep.java
@@ -67,6 +67,13 @@ public interface TableOnConditionStep extends Table {
@Support
TableOnConditionStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator.
+ */
+ @Support
+ TableOnConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator.
@@ -126,6 +133,13 @@ public interface TableOnConditionStep extends Table {
@Support
TableOnConditionStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator.
+ */
+ @Support
+ TableOnConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS
* clause using the {@link Operator#AND} operator.
@@ -154,6 +168,13 @@ public interface TableOnConditionStep extends Table {
@Support
TableOnConditionStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator.
+ */
+ @Support
+ TableOnConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator.
@@ -213,6 +234,13 @@ public interface TableOnConditionStep extends Table {
@Support
TableOnConditionStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator.
+ */
+ @Support
+ TableOnConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS
* clause using the {@link Operator#OR} operator.
diff --git a/jOOQ/src/main/java/org/jooq/TableOnStep.java b/jOOQ/src/main/java/org/jooq/TableOnStep.java
index 0ed735103a..d02e7c63d8 100644
--- a/jOOQ/src/main/java/org/jooq/TableOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/TableOnStep.java
@@ -68,6 +68,12 @@ public interface TableOnStep {
@Support
TableOnConditionStep on(Field condition);
+ /**
+ * Add an ON clause to the JOIN.
+ */
+ @Support
+ TableOnConditionStep on(Boolean condition);
+
/**
* Add an ON clause to the JOIN.
*
diff --git a/jOOQ/src/main/java/org/jooq/UpdateConditionStep.java b/jOOQ/src/main/java/org/jooq/UpdateConditionStep.java
index 57b2a2c992..5c0c1dce57 100644
--- a/jOOQ/src/main/java/org/jooq/UpdateConditionStep.java
+++ b/jOOQ/src/main/java/org/jooq/UpdateConditionStep.java
@@ -74,6 +74,13 @@ public interface UpdateConditionStep extends UpdateFinalStep and(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#AND} operator
+ */
+ @Support
+ UpdateConditionStep and(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator
@@ -133,6 +140,13 @@ public interface UpdateConditionStep extends UpdateFinalStep andNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#AND} operator
+ */
+ @Support
+ UpdateConditionStep andNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator
@@ -161,6 +175,13 @@ public interface UpdateConditionStep extends UpdateFinalStep or(Field condition);
+ /**
+ * Combine the currently assembled conditions with another one using the
+ * {@link Operator#OR} operator
+ */
+ @Support
+ UpdateConditionStep or(Boolean condition);
+
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator
@@ -220,6 +241,13 @@ public interface UpdateConditionStep extends UpdateFinalStep orNot(Field condition);
+ /**
+ * Combine the currently assembled conditions with a negated other one using
+ * the {@link Operator#OR} operator
+ */
+ @Support
+ UpdateConditionStep orNot(Boolean condition);
+
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator
diff --git a/jOOQ/src/main/java/org/jooq/UpdateWhereStep.java b/jOOQ/src/main/java/org/jooq/UpdateWhereStep.java
index be65cf7277..66bcc14a26 100644
--- a/jOOQ/src/main/java/org/jooq/UpdateWhereStep.java
+++ b/jOOQ/src/main/java/org/jooq/UpdateWhereStep.java
@@ -81,6 +81,12 @@ public interface UpdateWhereStep extends UpdateFinalStep, U
@Support
UpdateConditionStep where(Field condition);
+ /**
+ * Add conditions to the query
+ */
+ @Support
+ UpdateConditionStep where(Boolean condition);
+
/**
* Add conditions to the query
*
diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java b/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java
index 8818d083b2..0692793e6d 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java
@@ -84,6 +84,11 @@ abstract class AbstractCondition extends AbstractQueryPart implements Condition
return and(condition(other));
}
+ @Override
+ public Condition and(Boolean other) {
+ return and(condition(other));
+ }
+
@Override
public final Condition or(Condition other) {
return DSL.or(this, other);
@@ -94,6 +99,11 @@ abstract class AbstractCondition extends AbstractQueryPart implements Condition
return or(condition(other));
}
+ @Override
+ public final Condition or(Boolean other) {
+ return or(condition(other));
+ }
+
@Override
public final Condition and(String sql) {
return and(condition(sql));
@@ -134,6 +144,11 @@ abstract class AbstractCondition extends AbstractQueryPart implements Condition
return andNot(condition(other));
}
+ @Override
+ public final Condition andNot(Boolean other) {
+ return andNot(condition(other));
+ }
+
@Override
public final Condition orNot(Condition other) {
return or(other.not());
@@ -144,6 +159,11 @@ abstract class AbstractCondition extends AbstractQueryPart implements Condition
return orNot(condition(other));
}
+ @Override
+ public final Condition orNot(Boolean other) {
+ return orNot(condition(other));
+ }
+
@Override
public final Condition andExists(Select> select) {
return and(exists(select));
diff --git a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java
index a49133e1f7..efde2c61f1 100644
--- a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java
@@ -140,6 +140,11 @@ class ConditionProviderImpl extends AbstractQueryPart implements ConditionProvid
return getWhere().and(other);
}
+ @Override
+ public final Condition and(Boolean other) {
+ return getWhere().and(other);
+ }
+
@Override
public final Condition and(String sql) {
return getWhere().and(sql);
@@ -165,6 +170,11 @@ class ConditionProviderImpl extends AbstractQueryPart implements ConditionProvid
return getWhere().andNot(other);
}
+ @Override
+ public final Condition andNot(Boolean other) {
+ return getWhere().andNot(other);
+ }
+
@Override
public final Condition andExists(Select> select) {
return getWhere().andExists(select);
@@ -185,6 +195,11 @@ class ConditionProviderImpl extends AbstractQueryPart implements ConditionProvid
return getWhere().or(other);
}
+ @Override
+ public final Condition or(Boolean other) {
+ return getWhere().or(other);
+ }
+
@Override
public final Condition or(String sql) {
return getWhere().or(sql);
@@ -210,6 +225,11 @@ class ConditionProviderImpl extends AbstractQueryPart implements ConditionProvid
return getWhere().orNot(other);
}
+ @Override
+ public final Condition orNot(Boolean other) {
+ return getWhere().orNot(other);
+ }
+
@Override
public final Condition orExists(Select> select) {
return getWhere().orExists(select);
diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java
index 96c1f68321..37de1b5720 100644
--- a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java
@@ -52,6 +52,7 @@ import static org.jooq.SQLDialect.FIREBIRD;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
+// ...
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.name;
import static org.jooq.impl.Utils.DATA_SELECT_INTO_TABLE;
@@ -245,7 +246,7 @@ class CreateTableImpl extends AbstractQuery implements
.sql(' ');
if (temporary)
- if (ctx.family() == POSTGRES)
+ if (asList(POSTGRES).contains(ctx.family()))
ctx.keyword("temporary").sql(' ');
else
ctx.keyword("global temporary").sql(' ');
diff --git a/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java b/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java
index f4d22db767..035ff4e5ab 100644
--- a/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java
+++ b/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java
@@ -75,6 +75,7 @@ class CurrentUser extends AbstractFunction {
xxxx xxxx
xxxx xxxxx
xxxx xxxxxxx
+ xxxx xxxxxxxxx
xxxx xxxxxxxxxx
xxxx xxxxxxx
xx [/pro] */
diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 1e3bd4e901..030c7ab0e1 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -3476,7 +3476,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep1 mergeInto(Table table, Field field1) {
- return using(new DefaultConfiguration()).mergeInto(table, field1);
+ return using(new DefaultConfiguration()).mergeInto(table, field1);
}
/**
@@ -3508,7 +3508,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep2 mergeInto(Table table, Field field1, Field field2) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2);
}
/**
@@ -3540,7 +3540,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep3 mergeInto(Table table, Field field1, Field field2, Field field3) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3);
}
/**
@@ -3572,7 +3572,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep4 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4);
}
/**
@@ -3604,7 +3604,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep5 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5);
}
/**
@@ -3636,7 +3636,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep6 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5, field6);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5, field6);
}
/**
@@ -3668,7 +3668,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep7 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) {
- return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5, field6, field7);
+ return using(new DefaultConfiguration()).mergeInto(table, field1, field2, field3, field4, field5, field6, field7);
}
/**
@@ -3700,7 +3700,7 @@ public class DSL {
@Generated("This method was generated using jOOQ-tools")
@Support({ CUBRID, H2, HSQLDB })
public static MergeKeyStep8 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field