This is an automated email from the ASF dual-hosted git repository.
karan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 14e16cf5471 Adding support for big decimal aggregations via MSQ
(#18164)
14e16cf5471 is described below
commit 14e16cf5471b27c9b33972e4e25dffb77cc1373c
Author: Karan Kumar <[email protected]>
AuthorDate: Tue Jul 1 22:01:11 2025 +0530
Adding support for big decimal aggregations via MSQ (#18164)
* * Adding support for big decimal aggregations via MSQ
* Minor refactoring to move classes into separate packages.
* * Adding quidem test.
* Review comments
* Adding big decimal pom to quidem UT.
---
.../extensions-contrib/compressed-big-decimal.md | 27 +++++++++++++++++++++-
.../ArrayCompressedBigDecimal.java | 4 ++--
.../ByteBufferCompressedBigDecimal.java | 4 ++--
.../compressedbigdecimal/CompressedBigDecimal.java | 6 ++---
.../CompressedBigDecimalModule.java | 8 +++++++
.../CompressedBigDecimalAggregateCombinerBase.java | 3 ++-
.../CompressedBigDecimalAggregatorBase.java | 3 ++-
.../CompressedBigDecimalAggregatorFactoryBase.java | 5 +++-
...mpressedBigDecimalAggregatorFactoryCreator.java | 2 +-
.../CompressedBigDecimalBufferAggregatorBase.java | 5 +++-
.../CompressedBigDecimalSqlAggregatorBase.java | 2 +-
.../CompressedBigDecimalMaxAggregateCombiner.java | 5 +++-
.../max}/CompressedBigDecimalMaxAggregator.java | 6 ++++-
.../CompressedBigDecimalMaxAggregatorFactory.java | 11 ++++++++-
.../CompressedBigDecimalMaxBufferAggregator.java | 7 +++++-
.../max}/CompressedBigDecimalMaxSqlAggregator.java | 4 +++-
.../CompressedBigDecimalMinAggregateCombiner.java | 5 +++-
.../min}/CompressedBigDecimalMinAggregator.java | 6 ++++-
.../CompressedBigDecimalMinAggregatorFactory.java | 11 ++++++++-
.../CompressedBigDecimalMinBufferAggregator.java | 7 +++++-
.../min}/CompressedBigDecimalMinSqlAggregator.java | 4 +++-
.../CompressedBigDecimalSumAggregateCombiner.java | 5 +++-
.../sum}/CompressedBigDecimalSumAggregator.java | 6 ++++-
.../CompressedBigDecimalSumAggregatorFactory.java | 11 ++++++++-
.../CompressedBigDecimalSumBufferAggregator.java | 6 ++++-
.../sum}/CompressedBigDecimalSumSqlAggregator.java | 4 +++-
.../CompressedBigDecimalJsonSerializer.java | 3 ++-
.../CompressedBigDecimalLongColumnSerializer.java | 4 +++-
.../CompressedBigDecimalMetricSerde.java | 7 +++++-
.../ArrayCompressedBigDecimalTest.java | 1 +
.../CompressedBigDecimalCachingTest.java | 3 +++
.../CompressedBigDecimalFactoryTestBase.java | 1 +
.../CompressedBigDecimalMaxFactoryTest.java | 4 ++++
.../CompressedBigDecimalMinFactoryTest.java | 5 ++++
.../CompressedBigDecimalSumFactoryTest.java | 5 ++++
...pressedBigDecimalAggregatorGroupByTestBase.java | 5 +++-
.../CompressedBigDecimalAggregatorTestBase.java | 2 +-
...ssedBigDecimalAggregatorTimeseriesTestBase.java | 4 +++-
.../CompressedBigDecimalSqlAggregatorTestBase.java | 5 ++--
...mpressedBigDecimalMaxAggregatorGroupByTest.java | 4 +++-
.../CompressedBigDecimalMaxAggregatorTest.java | 3 ++-
...essedBigDecimalMaxAggregatorTimeseriesTest.java | 4 +++-
.../CompressedBigDecimalMaxSqlAggregatorTest.java | 3 ++-
...mpressedBigDecimalMinAggregatorGroupByTest.java | 4 +++-
.../CompressedBigDecimalMinAggregatorTest.java | 3 ++-
...essedBigDecimalMinAggregatorTimeseriesTest.java | 4 +++-
.../CompressedBigDecimalMinSqlAggregatorTest.java | 3 ++-
...mpressedBigDecimalSumAggregatorGroupByTest.java | 4 +++-
.../CompressedBigDecimalSumAggregatorTest.java | 4 +++-
...essedBigDecimalSumAggregatorTimeseriesTest.java | 4 +++-
.../CompressedBigDecimalSumSqlAggregatorTest.java | 3 ++-
extensions-core/multi-stage-query/pom.xml | 6 +++++
.../test/AbstractMSQComponentSupplierDelegate.java | 4 +++-
.../dart.iq | 15 ++++++++++++
.../msq1.iq | 15 ++++++++++++
quidem-ut/pom.xml | 5 ++++
56 files changed, 254 insertions(+), 50 deletions(-)
diff --git a/docs/development/extensions-contrib/compressed-big-decimal.md
b/docs/development/extensions-contrib/compressed-big-decimal.md
index b95f06ef7c3..28a52185fd9 100644
--- a/docs/development/extensions-contrib/compressed-big-decimal.md
+++ b/docs/development/extensions-contrib/compressed-big-decimal.md
@@ -105,7 +105,7 @@ IngestionSpec syntax:
},
"metricsSpec": [{
"name": "saleAmount",
- "type": *"compressedBigDecimal"*,
+ "type": "compressedBigDecimalSum",
"fieldName": "saleAmount"
}],
"transformSpec": {
@@ -144,6 +144,31 @@ IngestionSpec syntax:
}
}
```
+
+SQL-based ingestion sample query:
+```sql
+
+REPLACE INTO "bigdecimal" OVERWRITE ALL
+WITH "ext" AS (
+ SELECT *
+ FROM TABLE(
+ EXTERN(
+
'{"type":"local","baseDir":""/home/user/sales/data/staging/invoice-data","filter":"invoice-001.20201208.txt"}',
+
'{"type":"csv","findColumnsFromHeader":false,"columns":["timestamp","itemName","saleAmount"]}',
+
'[{"name":"timestamp","type":"string"},{"name":"itemName","type":"string"},{"name":"saleAmount","type":"double"}]'
+ )
+ )
+)
+SELECT
+ TIME_PARSE(TRIM("timestamp")) AS "__time",
+ "itemName",
+ BIG_SUM("saleAmount") as amount
+FROM "ext"
+group by TIME_PARSE(TRIM("timestamp")) , itemName
+PARTITIONED BY DAY
+```
+
+
### Group By Query example
Calculating sales groupBy all.
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimal.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimal.java
index 440f20e0d64..c294efd9d73 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimal.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimal.java
@@ -205,7 +205,7 @@ public class ArrayCompressedBigDecimal extends
CompressedBigDecimal
* @return the entry
*/
@Override
- protected int getArrayEntry(int idx)
+ public int getArrayEntry(int idx)
{
return array[idx];
}
@@ -223,7 +223,7 @@ public class ArrayCompressedBigDecimal extends
CompressedBigDecimal
}
@Override
- protected void setValue(CompressedBigDecimal rhs)
+ public void setValue(CompressedBigDecimal rhs)
{
Preconditions.checkArgument(
rhs.getArraySize() <= array.length,
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ByteBufferCompressedBigDecimal.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ByteBufferCompressedBigDecimal.java
index e2d6e6b7815..1cc0f8153fa 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ByteBufferCompressedBigDecimal.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ByteBufferCompressedBigDecimal.java
@@ -119,7 +119,7 @@ public class ByteBufferCompressedBigDecimal extends
CompressedBigDecimal
* @return the entry
*/
@Override
- protected int getArrayEntry(int idx)
+ public int getArrayEntry(int idx)
{
return buf.getInt(position + idx * Integer.BYTES);
}
@@ -137,7 +137,7 @@ public class ByteBufferCompressedBigDecimal extends
CompressedBigDecimal
}
@Override
- protected void setValue(CompressedBigDecimal rhs)
+ public void setValue(CompressedBigDecimal rhs)
{
Preconditions.checkArgument(
rhs.getArraySize() <= getArraySize(),
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimal.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimal.java
index 3b3fdb7719e..2c3612e901d 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimal.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimal.java
@@ -114,7 +114,7 @@ public abstract class CompressedBigDecimal extends Number
implements Comparable<
*
* @param rhs a {@link CompressedBigDecimal} object
*/
- protected abstract void setValue(CompressedBigDecimal rhs);
+ public abstract void setValue(CompressedBigDecimal rhs);
/**
* Clear any value, resetting to zero. Scale is preserved at its original
value.
@@ -261,7 +261,7 @@ public abstract class CompressedBigDecimal extends Number
implements Comparable<
*
* @return the array size
*/
- protected abstract int getArraySize();
+ public abstract int getArraySize();
/**
* Get value from the array.
@@ -269,7 +269,7 @@ public abstract class CompressedBigDecimal extends Number
implements Comparable<
* @param idx the index
* @return value from the array at that index
*/
- protected abstract int getArrayEntry(int idx);
+ public abstract int getArrayEntry(int idx);
/**
* Set value in the array.
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalModule.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalModule.java
index 5f4c844426e..28e440fd74f 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalModule.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalModule.java
@@ -24,6 +24,14 @@ import com.fasterxml.jackson.databind.jsontype.NamedType;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.google.common.collect.ImmutableList;
import com.google.inject.Binder;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxSqlAggregator;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinSqlAggregator;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumSqlAggregator;
+import
org.apache.druid.compressedbigdecimal.serde.CompressedBigDecimalJsonSerializer;
+import
org.apache.druid.compressedbigdecimal.serde.CompressedBigDecimalMetricSerde;
import org.apache.druid.initialization.DruidModule;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.sql.guice.SqlBindings;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregateCombinerBase.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregateCombinerBase.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregateCombinerBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregateCombinerBase.java
index 377d150b733..9246d9ad33e 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregateCombinerBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregateCombinerBase.java
@@ -17,9 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.segment.ColumnValueSelector;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorBase.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorBase.java
similarity index 95%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorBase.java
index 03388278152..bc835fb386b 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorBase.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
import org.apache.druid.query.aggregation.Aggregator;
import org.apache.druid.segment.ColumnValueSelector;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryBase.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryBase.java
similarity index 96%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryBase.java
index da1dd19cfaa..cb444316c1b 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryBase.java
@@ -17,10 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Objects;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
+import org.apache.druid.compressedbigdecimal.Utils;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.query.aggregation.Aggregator;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryCreator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryCreator.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryCreator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryCreator.java
index 0d7269251b9..983c35cf3a1 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactoryCreator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorFactoryCreator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import org.apache.druid.query.aggregation.AggregatorFactory;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalBufferAggregatorBase.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalBufferAggregatorBase.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalBufferAggregatorBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalBufferAggregatorBase.java
index f06fc781d81..b3e3b0eb1d1 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalBufferAggregatorBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalBufferAggregatorBase.java
@@ -17,8 +17,11 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
+import org.apache.druid.compressedbigdecimal.ByteBufferCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
import org.apache.druid.query.aggregation.BufferAggregator;
import org.apache.druid.segment.ColumnValueSelector;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorBase.java
similarity index 99%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorBase.java
index 8ce60b1a5f3..04e21f8540e 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorBase.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.core.AggregateCall;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregateCombiner.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregateCombiner.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregateCombiner.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregateCombiner.java
index 073485f80d3..0e51d098939 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregateCombiner.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregateCombiner.java
@@ -17,9 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregateCombinerBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregator.java
similarity index 85%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregator.java
index de6538f9d5b..ff4a20b33b5 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregator.java
@@ -17,8 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorFactory.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorFactory.java
similarity index 90%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorFactory.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorFactory.java
index bce2bf25708..35ad3b429e3 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorFactory.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorFactory.java
@@ -17,10 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.query.aggregation.Aggregator;
import org.apache.druid.query.aggregation.AggregatorFactory;
@@ -110,6 +113,12 @@ public class CompressedBigDecimalMaxAggregatorFactory
extends CompressedBigDecim
return new CompressedBigDecimalMaxAggregateCombiner();
}
+ @Override
+ public AggregatorFactory withName(String newName)
+ {
+ return new CompressedBigDecimalMaxAggregatorFactory(newName, fieldName,
size, scale, strictNumberParsing);
+ }
+
@Override
public String toString()
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxBufferAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxBufferAggregator.java
similarity index 84%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxBufferAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxBufferAggregator.java
index 59fd281d30b..22bf92ce550 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxBufferAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxBufferAggregator.java
@@ -17,8 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import org.apache.druid.compressedbigdecimal.ByteBufferCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalBufferAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
import java.nio.ByteBuffer;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregator.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregator.java
index 8a941cafdd1..4b52b41d5f2 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregator.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorBase;
public class CompressedBigDecimalMaxSqlAggregator extends
CompressedBigDecimalSqlAggregatorBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregateCombiner.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregateCombiner.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregateCombiner.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregateCombiner.java
index f38e5b80531..f01100f6487 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregateCombiner.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregateCombiner.java
@@ -17,9 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregateCombinerBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregator.java
similarity index 85%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregator.java
index 11aa3c76974..b1f83246e9c 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregator.java
@@ -17,8 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorFactory.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorFactory.java
similarity index 90%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorFactory.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorFactory.java
index 091af345353..4559b0f618d 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorFactory.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorFactory.java
@@ -17,10 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.query.aggregation.Aggregator;
import org.apache.druid.query.aggregation.AggregatorFactory;
@@ -116,6 +119,12 @@ public class CompressedBigDecimalMinAggregatorFactory
extends CompressedBigDecim
return new CompressedBigDecimalMinAggregateCombiner();
}
+ @Override
+ public AggregatorFactory withName(String newName)
+ {
+ return new CompressedBigDecimalMinAggregatorFactory(newName, fieldName,
size, scale, strictNumberParsing);
+ }
+
@Override
public String toString()
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinBufferAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinBufferAggregator.java
similarity index 84%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinBufferAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinBufferAggregator.java
index 3b9e7fb7c48..f71a9ce95f1 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinBufferAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinBufferAggregator.java
@@ -17,8 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import org.apache.druid.compressedbigdecimal.ByteBufferCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalBufferAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
import java.nio.ByteBuffer;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregator.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregator.java
index 520d306c3a3..7fbd06d6eb7 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregator.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorBase;
public class CompressedBigDecimalMinSqlAggregator extends
CompressedBigDecimalSqlAggregatorBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregateCombiner.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregateCombiner.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregateCombiner.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregateCombiner.java
index 03bf84348c9..728af0fb559 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregateCombiner.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregateCombiner.java
@@ -17,9 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregateCombinerBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregator.java
similarity index 85%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregator.java
index 53f7f9fcd1f..677c52266b0 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregator.java
@@ -17,8 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
/**
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorFactory.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorFactory.java
similarity index 91%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorFactory.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorFactory.java
index d7e08a2daf4..d1f5d1f686e 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorFactory.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorFactory.java
@@ -17,10 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.query.aggregation.Aggregator;
import org.apache.druid.query.aggregation.AggregatorFactory;
@@ -116,6 +119,12 @@ public class CompressedBigDecimalSumAggregatorFactory
extends CompressedBigDecim
return new CompressedBigDecimalSumAggregateCombiner();
}
+ @Override
+ public AggregatorFactory withName(String newName)
+ {
+ return new CompressedBigDecimalSumAggregatorFactory(newName, fieldName,
size, scale, strictNumberParsing);
+ }
+
@Override
public String toString()
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumBufferAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumBufferAggregator.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumBufferAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumBufferAggregator.java
index 7b2e3557274..49d77ff2b0c 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumBufferAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumBufferAggregator.java
@@ -17,8 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import org.apache.druid.compressedbigdecimal.ByteBufferCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.Utils;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalBufferAggregatorBase;
import org.apache.druid.segment.ColumnValueSelector;
import java.nio.ByteBuffer;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregator.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregator.java
similarity index 87%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregator.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregator.java
index 5f97f6f6181..1564247bdcc 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregator.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregator.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorBase;
public class CompressedBigDecimalSumSqlAggregator extends
CompressedBigDecimalSqlAggregatorBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalJsonSerializer.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalJsonSerializer.java
similarity index 91%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalJsonSerializer.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalJsonSerializer.java
index 1a3263785bf..f3a07aae33a 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalJsonSerializer.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalJsonSerializer.java
@@ -17,11 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.serde;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
import java.io.IOException;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalLongColumnSerializer.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalLongColumnSerializer.java
similarity index 95%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalLongColumnSerializer.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalLongColumnSerializer.java
index f25c028d904..c76d1dd221a 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalLongColumnSerializer.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalLongColumnSerializer.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.serde;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalColumnPartSupplier;
import org.apache.druid.java.util.common.io.smoosh.FileSmoosher;
import org.apache.druid.segment.ColumnValueSelector;
import org.apache.druid.segment.GenericColumnSerializer;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMetricSerde.java
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalMetricSerde.java
similarity index 88%
rename from
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMetricSerde.java
rename to
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalMetricSerde.java
index 749af8ff380..2122a3e3694 100644
---
a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMetricSerde.java
+++
b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/serde/CompressedBigDecimalMetricSerde.java
@@ -17,8 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.serde;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalColumnPartSupplier;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalObjectStrategy;
+import org.apache.druid.compressedbigdecimal.Utils;
import org.apache.druid.data.input.InputRow;
import org.apache.druid.segment.IndexSpec;
import org.apache.druid.segment.column.ColumnBuilder;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimalTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimalTest.java
index bb69b2b019d..b6791e12da3 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimalTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimalTest.java
@@ -19,6 +19,7 @@
package org.apache.druid.compressedbigdecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryBase;
import org.apache.druid.java.util.common.IAE;
import org.junit.Assert;
import org.junit.Test;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalCachingTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalCachingTest.java
index 70718403f5d..305e28a3e99 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalCachingTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalCachingTest.java
@@ -19,6 +19,9 @@
package org.apache.druid.compressedbigdecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumAggregatorFactory;
import org.apache.druid.query.aggregation.AggregatorFactory;
import org.junit.Assert;
import org.junit.Test;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalFactoryTestBase.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalFactoryTestBase.java
index ca98eb3796f..ab17224a6e3 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalFactoryTestBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalFactoryTestBase.java
@@ -22,6 +22,7 @@ package org.apache.druid.compressedbigdecimal;
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorFactoryCreator;
import org.apache.druid.query.aggregation.AggregateCombiner;
import org.apache.druid.query.aggregation.Aggregator;
import org.apache.druid.query.aggregation.AggregatorFactory;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxFactoryTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxFactoryTest.java
index 9eef55d4ee7..e3dbdc258a0 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxFactoryTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxFactoryTest.java
@@ -19,6 +19,10 @@
package org.apache.druid.compressedbigdecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregateCombiner;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregator;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxBufferAggregator;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
import org.junit.Assert;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinFactoryTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinFactoryTest.java
index 7a9aa0f82b0..b4cc8e54481 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinFactoryTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinFactoryTest.java
@@ -19,6 +19,11 @@
package org.apache.druid.compressedbigdecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinAggregateCombiner;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinAggregator;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.min.CompressedBigDecimalMinBufferAggregator;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
import org.junit.Assert;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumFactoryTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumFactoryTest.java
index 572772507b0..5998e2e11f2 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumFactoryTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumFactoryTest.java
@@ -19,6 +19,11 @@
package org.apache.druid.compressedbigdecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.max.CompressedBigDecimalMaxAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumAggregateCombiner;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumAggregator;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumAggregatorFactory;
+import
org.apache.druid.compressedbigdecimal.aggregator.sum.CompressedBigDecimalSumBufferAggregator;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
import org.junit.Assert;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorGroupByTestBase.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorGroupByTestBase.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorGroupByTestBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorGroupByTestBase.java
index 13d7ac34306..8efefa7dde4 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorGroupByTestBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorGroupByTestBase.java
@@ -17,10 +17,13 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.io.Resources;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalGroupByQueryConfig;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
import org.apache.druid.data.input.MapBasedRow;
import org.apache.druid.java.util.common.granularity.Granularities;
import org.apache.druid.java.util.common.guava.Sequence;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTestBase.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTestBase.java
similarity index 95%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTestBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTestBase.java
index 8ae349605ec..b35e55210fe 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTestBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTestBase.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import org.apache.druid.query.aggregation.Aggregator;
import org.junit.Assert;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTimeseriesTestBase.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTimeseriesTestBase.java
similarity index 96%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTimeseriesTestBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTimeseriesTestBase.java
index f12ebab406e..b2dc3131455 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTimeseriesTestBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregatorTimeseriesTestBase.java
@@ -17,10 +17,12 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import com.google.common.collect.Iterables;
import com.google.common.io.Resources;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
import org.apache.druid.java.util.common.granularity.Granularities;
import org.apache.druid.java.util.common.guava.Sequence;
import org.apache.druid.query.Result;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorTestBase.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorTestBase.java
similarity index 98%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorTestBase.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorTestBase.java
index 7296f001f33..06a6bcb12d5 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorTestBase.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalSqlAggregatorTestBase.java
@@ -17,10 +17,11 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator;
import com.google.common.collect.ImmutableList;
-import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalSqlAggregatorTestBase.CompressedBigDecimalComponentSupplier;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorTestBase.CompressedBigDecimalComponentSupplier;
import org.apache.druid.data.input.InputRow;
import org.apache.druid.data.input.InputRowSchema;
import org.apache.druid.data.input.impl.DimensionsSpec;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorGroupByTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorGroupByTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorGroupByTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorGroupByTest.java
index 55e2ca6ec92..8bb130cff8a 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorGroupByTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorGroupByTest.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalGroupByQueryConfig;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorGroupByTestBase;
import org.apache.druid.query.groupby.GroupByQueryConfig;
import org.apache.druid.query.groupby.GroupByQueryRunnerTest;
import org.junit.runners.Parameterized;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTest.java
similarity index 88%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTest.java
index 63e7f8558ef..d4839c83054 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTest.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTestBase;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
index 14e5ec61f23..d6a2c85dcf0 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxAggregatorTimeseriesTest.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTimeseriesTestBase;
public class CompressedBigDecimalMaxAggregatorTimeseriesTest extends
CompressedBigDecimalAggregatorTimeseriesTestBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregatorTest.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregatorTest.java
index 1223135ab27..5ad53c13f29 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMaxSqlAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/max/CompressedBigDecimalMaxSqlAggregatorTest.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.max;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorTestBase;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorGroupByTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorGroupByTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorGroupByTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorGroupByTest.java
index 1567da9ed02..f27c2bda682 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorGroupByTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorGroupByTest.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalGroupByQueryConfig;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorGroupByTestBase;
import org.apache.druid.query.groupby.GroupByQueryConfig;
import org.apache.druid.query.groupby.GroupByQueryRunnerTest;
import org.junit.runner.RunWith;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTest.java
similarity index 88%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTest.java
index 9f6bf646846..fbf82672616 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTest.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTestBase;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTimeseriesTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTimeseriesTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTimeseriesTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTimeseriesTest.java
index a22c3605af8..a38d4dc9a97 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinAggregatorTimeseriesTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinAggregatorTimeseriesTest.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTimeseriesTestBase;
public class CompressedBigDecimalMinAggregatorTimeseriesTest extends
CompressedBigDecimalAggregatorTimeseriesTestBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregatorTest.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregatorTest.java
index e739b928f2e..693fa984aae 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMinSqlAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/min/CompressedBigDecimalMinSqlAggregatorTest.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.min;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorTestBase;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertThrows;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorGroupByTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorGroupByTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorGroupByTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorGroupByTest.java
index f308665723e..e60cff5382b 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorGroupByTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorGroupByTest.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import
org.apache.druid.compressedbigdecimal.CompressedBigDecimalGroupByQueryConfig;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorGroupByTestBase;
import org.apache.druid.query.groupby.GroupByQueryConfig;
import org.apache.druid.query.groupby.GroupByQueryRunnerTest;
import org.junit.runners.Parameterized;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTest.java
similarity index 85%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTest.java
index dfdf1a348b8..d90b0549aaa 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTest.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import org.apache.druid.compressedbigdecimal.ArrayCompressedBigDecimal;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTestBase;
import org.apache.druid.segment.ColumnValueSelector;
import org.easymock.EasyMock;
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTimeseriesTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTimeseriesTest.java
similarity index 89%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTimeseriesTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTimeseriesTest.java
index 8c67ccc35ed..74ae24ee7e6 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumAggregatorTimeseriesTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumAggregatorTimeseriesTest.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalAggregatorTimeseriesTestBase;
public class CompressedBigDecimalSumAggregatorTimeseriesTest extends
CompressedBigDecimalAggregatorTimeseriesTestBase
{
diff --git
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregatorTest.java
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregatorTest.java
similarity index 94%
rename from
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregatorTest.java
rename to
extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregatorTest.java
index 8970f002ffe..3f2bc448b55 100644
---
a/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSumSqlAggregatorTest.java
+++
b/extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/aggregator/sum/CompressedBigDecimalSumSqlAggregatorTest.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.apache.druid.compressedbigdecimal;
+package org.apache.druid.compressedbigdecimal.aggregator.sum;
+import
org.apache.druid.compressedbigdecimal.aggregator.CompressedBigDecimalSqlAggregatorTestBase;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertThrows;
diff --git a/extensions-core/multi-stage-query/pom.xml
b/extensions-core/multi-stage-query/pom.xml
index 7c9607a6301..0b85650fd76 100644
--- a/extensions-core/multi-stage-query/pom.xml
+++ b/extensions-core/multi-stage-query/pom.xml
@@ -345,6 +345,12 @@
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.druid.extensions.contrib</groupId>
+ <artifactId>druid-compressed-bigdecimal</artifactId>
+ <version>${project.parent.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-testlib</artifactId>
diff --git
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java
index 65634365dd6..4d1fa384e2e 100644
---
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java
+++
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/AbstractMSQComponentSupplierDelegate.java
@@ -19,6 +19,7 @@
package org.apache.druid.msq.test;
+import org.apache.druid.compressedbigdecimal.CompressedBigDecimalModule;
import org.apache.druid.guice.IndexingServiceTuningConfigModule;
import org.apache.druid.guice.JoinableFactoryModule;
import org.apache.druid.initialization.DruidModule;
@@ -53,7 +54,8 @@ public class AbstractMSQComponentSupplierDelegate extends
QueryComponentSupplier
new JoinableFactoryModule(),
new MSQExternalDataSourceModule(),
new MSQIndexingModule(),
- new TestMSQSqlModule()
+ new TestMSQSqlModule(),
+ new CompressedBigDecimalModule()
);
}
diff --git
a/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/dart.iq
b/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/dart.iq
index d232a52ac20..a7520ec0a98 100644
---
a/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/dart.iq
+++
b/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/dart.iq
@@ -44,3 +44,18 @@ select dim2,count(dim3) from foo group by dim2;
(4 rows)
!ok
+
+select dim1,BIG_SUM(dbl1) from numfoo group by 1;
++------+-------------+
+| dim1 | EXPR$1 |
++------+-------------+
+| | 1.000000000 |
+| 1 | |
+| 10.1 | 1.700000000 |
+| 2 | 0 |
+| abc | |
+| def | |
++------+-------------+
+(6 rows)
+
+!ok
diff --git
a/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/msq1.iq
b/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/msq1.iq
index 5f2631aadd5..34d82b745b6 100644
---
a/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/msq1.iq
+++
b/extensions-core/multi-stage-query/src/test/quidem/org.apache.druid.msq.quidem.MSQQuidemTest/msq1.iq
@@ -308,5 +308,20 @@ DruidAggregate(group=[{0}], cnt=[COUNT($1) FILTER $2],
aall=[COUNT()], druid=[lo
}
!nativePlan
+select dim1,BIG_SUM(dbl1) from numfoo group by 1;
++------+-------------+
+| dim1 | EXPR$1 |
++------+-------------+
+| | 1.000000000 |
+| 1 | |
+| 10.1 | 1.700000000 |
+| 2 | 0 |
+| abc | |
+| def | |
++------+-------------+
+(6 rows)
+
+!ok
+
diff --git a/quidem-ut/pom.xml b/quidem-ut/pom.xml
index 7c6a70f88b0..8b5b539928b 100644
--- a/quidem-ut/pom.xml
+++ b/quidem-ut/pom.xml
@@ -246,6 +246,11 @@
<artifactId>druid-server</artifactId>
<version>${project.parent.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.druid.extensions.contrib</groupId>
+ <artifactId>druid-compressed-bigdecimal</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]