RIGHT OUTER JOIN two tables.
*/
- @Support
+ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
RIGHT_OUTER_JOIN("right outer join", true),
/**
* FULL OUTER JOIN two tables.
*/
- @Support
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
FULL_OUTER_JOIN("full outer join", true),
/**
@@ -97,9 +116,15 @@ public enum JoinType {
/**
* NATURAL RIGHT OUTER JOIN two tables.
*/
- @Support
+ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
NATURAL_RIGHT_OUTER_JOIN("natural right outer join", false),
+ /**
+ * NATURAL FULL OUTER JOIN two tables.
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ NATURAL_FULL_OUTER_JOIN("natural full outer join", false),
+
/**
* CROSS APPLY two tables.
*/
diff --git a/jOOQ/src/main/java/org/jooq/SelectJoinStep.java b/jOOQ/src/main/java/org/jooq/SelectJoinStep.java
index bbbd9e3264..180398eff1 100644
--- a/jOOQ/src/main/java/org/jooq/SelectJoinStep.java
+++ b/jOOQ/src/main/java/org/jooq/SelectJoinStep.java
@@ -1449,6 +1449,119 @@ public interface SelectJoinStepNATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(TableLike)}
+ *
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * @see Table#naturalFullOuterJoin(TableLike)
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ SelectJoinStep
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(SQL)
+ * @see Table#naturalFullOuterJoin(SQL)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ SelectJoinStep
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String)
+ * @see Table#naturalFullOuterJoin(String)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ SelectJoinStep
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String, Object...)
+ * @see DSL#sql(String, Object...)
+ * @see Table#naturalFullOuterJoin(String, Object...)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ SelectJoinStep
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String, QueryPart...)
+ * @see DSL#sql(String, QueryPart...)
+ * @see Table#naturalFullOuterJoin(String, QueryPart...)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ SelectJoinStep
+ * Natural joins are supported by most RDBMS. If they aren't supported, they
+ * are emulated if jOOQ has enough information.
+ *
+ * @see DSL#table(Name)
+ * @see Table#naturalFullOuterJoin(Name)
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ SelectJoinStep
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ Table
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(SQL)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ Table
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ Table
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String, Object...)
+ * @see DSL#sql(String, Object...)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ Table
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ *
+ * NOTE: When inserting plain SQL into jOOQ objects, you must
+ * guarantee syntax integrity. You may also create the possibility of
+ * malicious SQL injection. Be sure to properly use bind variables and/or
+ * escape literals when concatenated into SQL clauses!
+ *
+ * @see DSL#table(String, QueryPart...)
+ * @see DSL#sql(String, QueryPart...)
+ * @see SQL
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ @PlainSQL
+ Table
+ * If this is not supported by your RDBMS, then jOOQ will try to emulate
+ * this behaviour using the information provided in this query.
+ *
+ * @see DSL#table(Name)
+ */
+ @Support({ FIREBIRD, HSQLDB, POSTGRES })
+ TableNATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(String)}
+ * NATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(String)}
+ * NATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(String, Object...)}
+ * NATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(String, QueryPart...)}
+ * NATURAL FULL OUTER JOIN a table to
+ * the last table added to the FROM clause using
+ * {@link Table#naturalFullOuterJoin(Name)}
+ * NATURAL FULL OUTER JOIN a table to this table.
+ * NATURAL FULL OUTER JOIN a table to this table.
+ * NATURAL FULL OUTER JOIN a table to this table.
+ * NATURAL FULL OUTER JOIN a table to this table.
+ * NATURAL FULL OUTER JOIN a table to this table.
+ * NATURAL FULL OUTER JOIN a table to this table.
+ *