diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
index 38d49bbcfaa7..17c3b48033ec 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
@@ -111,11 +111,6 @@ void aggregateGroupByMV(int length, int[][] groupKeysArray, GroupByResultHolder
*/
IntermediateResult merge(IntermediateResult intermediateResult1, IntermediateResult intermediateResult2);
- /**
- * Returns whether the intermediate result is comparable.
- */
- boolean isIntermediateResultComparable();
-
/**
* Returns the {@link ColumnDataType} of the intermediate result.
*
This column data type is used for transferring data in data table.
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AvgAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AvgAggregationFunction.java
index 6dad935dba56..8a2af50f4fe2 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AvgAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AvgAggregationFunction.java
@@ -171,11 +171,6 @@ public AvgPair merge(AvgPair intermediateResult1, AvgPair intermediateResult2) {
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
index 0183433d5f12..417579901597 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
@@ -140,11 +140,6 @@ public Long merge(Long intermediateResult1, Long intermediateResult2) {
return intermediateResult1 + intermediateResult2;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.LONG;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
index b3a36341786d..968b91db330f 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
@@ -142,11 +142,6 @@ public Object merge(Object intermediateResult1, Object intermediateResult2) {
throw new UnsupportedOperationException("Operation not supported for DISTINCT aggregation function");
}
- @Override
- public boolean isIntermediateResultComparable() {
- throw new UnsupportedOperationException("Operation not supported for DISTINCT aggregation function");
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
throw new UnsupportedOperationException("Operation not supported for DISTINCT aggregation function");
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountAggregationFunction.java
index 643153092d05..315e2a5bfa3b 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountAggregationFunction.java
@@ -294,11 +294,6 @@ public Set merge(Set intermediateResult1, Set intermediateResult2) {
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountBitmapAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountBitmapAggregationFunction.java
index 92f59b74a8f3..b7ffe02b5749 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountBitmapAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountBitmapAggregationFunction.java
@@ -309,11 +309,6 @@ public RoaringBitmap merge(RoaringBitmap intermediateResult1, RoaringBitmap inte
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountHLLAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountHLLAggregationFunction.java
index 41ca0abce9b8..c1d4f5bae602 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountHLLAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountHLLAggregationFunction.java
@@ -306,11 +306,6 @@ public HyperLogLog merge(HyperLogLog intermediateResult1, HyperLogLog intermedia
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountRawHLLAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountRawHLLAggregationFunction.java
index 2e0244e0563d..d22672c93162 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountRawHLLAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountRawHLLAggregationFunction.java
@@ -93,11 +93,6 @@ public HyperLogLog merge(HyperLogLog intermediateResult1, HyperLogLog intermedia
return _distinctCountHLLAggregationFunction.merge(intermediateResult1, intermediateResult2);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return _distinctCountHLLAggregationFunction.isIntermediateResultComparable();
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return _distinctCountHLLAggregationFunction.getIntermediateResultColumnType();
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountThetaSketchAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountThetaSketchAggregationFunction.java
index bc1c9e84224f..10f88eb70518 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountThetaSketchAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountThetaSketchAggregationFunction.java
@@ -976,11 +976,6 @@ public List merge(List sketches1, List sketches2) {
return mergedSketches;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FastHLLAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FastHLLAggregationFunction.java
index 202e5a8108e1..009ee9897aaa 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FastHLLAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FastHLLAggregationFunction.java
@@ -163,11 +163,6 @@ public HyperLogLog merge(HyperLogLog intermediateResult1, HyperLogLog intermedia
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/IdSetAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/IdSetAggregationFunction.java
index a72882caa4a1..a6e6b34641da 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/IdSetAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/IdSetAggregationFunction.java
@@ -468,11 +468,6 @@ public IdSet merge(IdSet intermediateResult1, IdSet intermediateResult2) {
return IdSets.merge(intermediateResult1, intermediateResult2, _sizeThresholdInBytes, _expectedInsertions, _fpp);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastWithTimeAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastWithTimeAggregationFunction.java
index adc91da5bb0b..cd4b0576a6d6 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastWithTimeAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastWithTimeAggregationFunction.java
@@ -210,11 +210,6 @@ public List getInputExpressions() {
return Arrays.asList(_expression, _timeCol);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxAggregationFunction.java
index dd23df859cc4..7fc41308e59c 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxAggregationFunction.java
@@ -111,11 +111,6 @@ public Double merge(Double intermediateResult1, Double intermediateResult2) {
}
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.DOUBLE;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinAggregationFunction.java
index 27169929bff3..5b820d9b6901 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinAggregationFunction.java
@@ -111,11 +111,6 @@ public Double merge(Double intermediateResult1, Double intermediateResult2) {
}
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.DOUBLE;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinMaxRangeAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinMaxRangeAggregationFunction.java
index 156a244d7515..f0bcf93ff347 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinMaxRangeAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinMaxRangeAggregationFunction.java
@@ -179,11 +179,6 @@ public MinMaxRangePair merge(MinMaxRangePair intermediateResult1, MinMaxRangePai
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/ModeAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/ModeAggregationFunction.java
index fbbca044e1f1..ffc14e4b9d2a 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/ModeAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/ModeAggregationFunction.java
@@ -454,11 +454,6 @@ public Map extends Number, Long> merge(Map extends Number, Long> intermediat
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
index 57f9eb1e48cd..8bfca2eefeb2 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
@@ -138,11 +138,6 @@ public DoubleArrayList merge(DoubleArrayList intermediateResult1, DoubleArrayLis
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
index d7d828a85fa9..ba815c47b8bd 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
@@ -196,11 +196,6 @@ public QuantileDigest merge(QuantileDigest intermediateResult1, QuantileDigest i
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
index dc5d435dc645..1922d74c515b 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
@@ -119,11 +119,6 @@ public QuantileDigest merge(QuantileDigest intermediateResult1, QuantileDigest i
return _percentileEstAggregationFunction.merge(intermediateResult1, intermediateResult2);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return _percentileEstAggregationFunction.isIntermediateResultComparable();
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return _percentileEstAggregationFunction.getIntermediateResultColumnType();
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
index 2724b2187963..0efbef2b4780 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
@@ -120,11 +120,6 @@ public TDigest merge(TDigest intermediateResult1, TDigest intermediateResult2) {
return _percentileTDigestAggregationFunction.merge(intermediateResult1, intermediateResult2);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return _percentileTDigestAggregationFunction.isIntermediateResultComparable();
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return _percentileTDigestAggregationFunction.getIntermediateResultColumnType();
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
index 56eb9c0e487e..9ba510133939 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
@@ -199,11 +199,6 @@ public TDigest merge(TDigest intermediateResult1, TDigest intermediateResult2) {
return intermediateResult1;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SegmentPartitionedDistinctCountAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SegmentPartitionedDistinctCountAggregationFunction.java
index 086d786fed67..f273fa8b615a 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SegmentPartitionedDistinctCountAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SegmentPartitionedDistinctCountAggregationFunction.java
@@ -312,11 +312,6 @@ public Long merge(Long intermediateResult1, Long intermediateResult2) {
return intermediateResult1 + intermediateResult2;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.LONG;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/StUnionAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/StUnionAggregationFunction.java
index a3ef12eaf1a9..0e0ff6f4934e 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/StUnionAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/StUnionAggregationFunction.java
@@ -113,11 +113,6 @@ public Geometry merge(Geometry intermediateResult1, Geometry intermediateResult2
return intermediateResult1.union(intermediateResult2);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return false;
- }
-
@Override
public DataSchema.ColumnDataType getIntermediateResultColumnType() {
return DataSchema.ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumAggregationFunction.java
index 157c5cabb218..b5b3b01c8440 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumAggregationFunction.java
@@ -99,11 +99,6 @@ public Double merge(Double intermediateResult1, Double intermediateResult2) {
return intermediateResult1 + intermediateResult2;
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.DOUBLE;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumPrecisionAggregationFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumPrecisionAggregationFunction.java
index 798ee5064abf..20fb335fc4bb 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumPrecisionAggregationFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SumPrecisionAggregationFunction.java
@@ -239,11 +239,6 @@ public BigDecimal merge(BigDecimal intermediateResult1, BigDecimal intermediateR
return intermediateResult1.add(intermediateResult2);
}
- @Override
- public boolean isIntermediateResultComparable() {
- return true;
- }
-
@Override
public ColumnDataType getIntermediateResultColumnType() {
return ColumnDataType.OBJECT;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingService.java b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingService.java
index 23fdd5938089..d253389df466 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingService.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingService.java
@@ -82,7 +82,8 @@ public List