diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
index 1f403190a8..06054d7d3e 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
@@ -113,11 +113,11 @@ implements
// ------------------------------------------------------------------------
/**
- * [#10179] [#14665] Subclasses may override this method to indicate that
- * the condition may produce TRUE, FALSE, or
- * NULL.
+ * [#10179] [#11757] [#14665] Subclasses may override this method to
+ * indicate that the condition may produce TRUE,
+ * FALSE, or NULL.
*/
- boolean isNullable() {
+ /* non-final */ boolean isNullable() {
return true;
}
@@ -129,10 +129,6 @@ implements
return CLAUSES;
}
- /* non-final */ boolean isPossiblyNullable() {
- return true;
- }
-
/* non-final */ int projectionSize() {
return 1;
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java b/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java
index d233652f9e..103b5754c3 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java
@@ -91,7 +91,7 @@ abstract class AbstractParam extends AbstractParamX implements SimpleQuery
}
@Override
- final boolean isPossiblyNullable() {
+ final boolean isNullable() {
return !inline || value == null;
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/Array.java b/jOOQ/src/main/java/org/jooq/impl/Array.java
index a5803d5b01..697d1ee008 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Array.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Array.java
@@ -66,7 +66,12 @@ import org.jooq.impl.QOM.UnmodifiableList;
/**
* @author Lukas Eder
*/
-final class Array extends AbstractField implements QOM.Array {
+final class Array
+extends
+ AbstractField
+implements
+ QOM.Array
+{
static final Set REQUIRES_CAST = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
static final Set NO_SUPPORT_SQUARE_BRACKETS = SQLDialect.supportedBy(CLICKHOUSE);
@@ -79,6 +84,15 @@ final class Array extends AbstractField implements QOM.Array {
this.fields = new FieldsImpl<>(fields);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+ @Override
+ final boolean isNullable() {
+ return false;
+ }
+
@SuppressWarnings({ "rawtypes", "unchecked" })
private static DataType type(Collection extends Field> fields) {
if (fields == null || fields.isEmpty())
diff --git a/jOOQ/src/main/java/org/jooq/impl/Coerce.java b/jOOQ/src/main/java/org/jooq/impl/Coerce.java
index 0c922db7b2..8693388d5e 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Coerce.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Coerce.java
@@ -86,8 +86,8 @@ implements
}
@Override
- boolean isPossiblyNullable() {
- return field.isPossiblyNullable();
+ final boolean isNullable() {
+ return field.isNullable();
}
@Override
diff --git a/jOOQ/src/main/java/org/jooq/impl/Patterns.java b/jOOQ/src/main/java/org/jooq/impl/Patterns.java
index 751ff8f0ea..c2b8444378 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Patterns.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Patterns.java
@@ -2696,6 +2696,14 @@ package org.jooq.impl;
+
+
+
+
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java
index 2389ac316f..ec49744d23 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Tools.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java
@@ -4069,8 +4069,8 @@ final class Tools {
return part instanceof SeparatedQueryPart && ((SeparatedQueryPart) part).rendersSeparator();
}
- static final boolean isPossiblyNullable(Field> f) {
- return f instanceof AbstractField && ((AbstractField>) f).isPossiblyNullable();
+ static final boolean isNullable(Field> f) {
+ return f instanceof AbstractField && ((AbstractField>) f).isNullable();
}
static final Val> extractVal(Field> field) {