diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java index a7dd9c813..72bd24966 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java @@ -1182,14 +1182,14 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty { * Returns true if this isLob() or the type will effectively map to a lob. */ @Override - public boolean isDbLob() { + public boolean isLobForPlatform() { if (lob) { return true; } switch (dbType) { case DbPlatformType.JSON: case DbPlatformType.JSONB: - return dbLength == 0 || dbLength > 255; // must be analog to DbPlatformTypeMapping.lookup + return dbLength == 0 || dbLength > 4000; // must be analog to DbPlatformTypeMapping.lookup case DbPlatformType.JSONBlob: case DbPlatformType.JSONClob: return true; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java index 8931819a8..2b9899c56 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java @@ -63,7 +63,7 @@ class DynamicPropertyAggregationFormula extends DynamicPropertyBase { } @Override - public boolean isDbLob() { + public boolean isLobForPlatform() { return false; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/STreeProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/STreeProperty.java index df7ee17d1..e83c7a084 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/STreeProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/STreeProperty.java @@ -33,7 +33,7 @@ public interface STreeProperty extends ScalarDataReader { /** * Returns true, if this is a lob property from db-perspective. */ - boolean isDbLob(); + boolean isLobForPlatform(); /** * Return true if the property is an embedded type. diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java index 8a2465293..25ca77d87 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java @@ -48,7 +48,7 @@ public final class SqlTreeBuilder { private final SpiQuery.TemporalMode temporalMode; private SqlTreeNode rootNode; private boolean sqlDistinct; - private final boolean distinctNoLobs; + private final boolean platformDistinctNoLobs; private final SqlTreeCommon common; /** @@ -63,7 +63,7 @@ public final class SqlTreeBuilder { this.query = null; this.subQuery = false; this.distinctOnPlatform = false; - this.distinctNoLobs = false; + this.platformDistinctNoLobs = false; this.queryDetail = queryDetail; this.predicates = predicates; this.temporalMode = SpiQuery.TemporalMode.CURRENT; @@ -98,7 +98,7 @@ public final class SqlTreeBuilder { this.predicates = predicates; this.alias = new SqlTreeAlias(request.baseTableAlias(), temporalMode); this.distinctOnPlatform = builder.isPlatformDistinctOn(); - this.distinctNoLobs = builder.isPlatformDistinctNoLobs(); + this.platformDistinctNoLobs = builder.isPlatformDistinctNoLobs(); String fromForUpdate = builder.fromForUpdate(query); CQueryHistorySupport historySupport = builder.historySupport(query); CQueryDraftSupport draftSupport = builder.draftSupport(query); @@ -269,8 +269,8 @@ public final class SqlTreeBuilder { if (joinList != null) { joinList.add(selectNode); } - if (sqlDistinct && distinctNoLobs) { - selectNode.unselectLobs(); + if (sqlDistinct && platformDistinctNoLobs) { + selectNode.unselectLobsForPlatform(); } return selectNode; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNode.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNode.java index 5aff65c43..afab4c5cf 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNode.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNode.java @@ -82,6 +82,6 @@ interface SqlTreeNode { /** * Unselect lobs (for distinct queries on DB2 and Oracle). */ - default void unselectLobs() { + default void unselectLobsForPlatform() { } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java index f37715131..e8c11be55 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java @@ -379,16 +379,16 @@ class SqlTreeNodeBean implements SqlTreeNode { @Override - public void unselectLobs() { + public void unselectLobsForPlatform() { if (children != null) { for (SqlTreeNode child : children) { - child.unselectLobs(); + child.unselectLobsForPlatform(); } } if (hasLob()) { List lst = new ArrayList<>(); for (STreeProperty prop : properties) { - if (!prop.isDbLob()) { + if (!prop.isLobForPlatform()) { lst.add(prop); } } @@ -399,7 +399,7 @@ class SqlTreeNodeBean implements SqlTreeNode { private boolean hasLob() { for (STreeProperty prop : properties) { - if (prop.isDbLob()) { + if (prop.isLobForPlatform()) { return true; } }