This is an automated email from the ASF dual-hosted git repository.
capistrant 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 99390cfd87a Register RestrictedInputNumberDataSource as DataSource
subtype (#17941)
99390cfd87a is described below
commit 99390cfd87a5c55dd58927015bcac785e8acc9fa
Author: Lucas Capistrant <[email protected]>
AuthorDate: Tue Apr 22 09:44:05 2025 -0500
Register RestrictedInputNumberDataSource as DataSource subtype (#17941)
* Register RestrictedInputNumberDataSource as DataSource subtype
This fixes runtime query object serde issues when using MSQ extension
* remove duplicate UT from RestrictedInputNumberDataSourceTest
---
.../apache/druid/msq/guice/MSQIndexingModule.java | 2 ++
.../RestrictedInputNumberDataSourceTest.java | 31 +++++++++++++---------
2 files changed, 21 insertions(+), 12 deletions(-)
diff --git
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQIndexingModule.java
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQIndexingModule.java
index 341496f7842..84ef9a762cb 100644
---
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQIndexingModule.java
+++
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQIndexingModule.java
@@ -87,6 +87,7 @@ import org.apache.druid.msq.input.table.SegmentsInputSlice;
import org.apache.druid.msq.input.table.TableInputSpec;
import org.apache.druid.msq.kernel.NilExtraInfoHolder;
import org.apache.druid.msq.querykit.InputNumberDataSource;
+import org.apache.druid.msq.querykit.RestrictedInputNumberDataSource;
import org.apache.druid.msq.querykit.WindowOperatorQueryFrameProcessorFactory;
import org.apache.druid.msq.querykit.common.OffsetLimitFrameProcessorFactory;
import org.apache.druid.msq.querykit.common.SortMergeJoinFrameProcessorFactory;
@@ -169,6 +170,7 @@ public class MSQIndexingModule implements DruidModule
// DataSource classes (note: ExternalDataSource is in MSQSqlModule)
InputNumberDataSource.class,
+ RestrictedInputNumberDataSource.class,
// TaskReport classes
MSQTaskReport.class,
diff --git
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/RestrictedInputNumberDataSourceTest.java
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/RestrictedInputNumberDataSourceTest.java
index 11c921c0da8..848e2b0eb48 100644
---
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/RestrictedInputNumberDataSourceTest.java
+++
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/RestrictedInputNumberDataSourceTest.java
@@ -22,6 +22,8 @@ package org.apache.druid.msq.querykit;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
import nl.jqno.equalsverifier.EqualsVerifier;
+import org.apache.druid.msq.guice.MSQIndexingModule;
+import org.apache.druid.query.DataSource;
import org.apache.druid.query.TableDataSource;
import org.apache.druid.query.filter.TrueDimFilter;
import org.apache.druid.query.policy.NoRestrictionPolicy;
@@ -103,18 +105,6 @@ public class RestrictedInputNumberDataSourceTest
.verify();
}
- @Test
- public void test_serde_roundTrip() throws Exception
- {
- final ObjectMapper jsonMapper = TestHelper.makeJsonMapper();
- final RestrictedInputNumberDataSource deserialized = jsonMapper.readValue(
- jsonMapper.writeValueAsString(restrictedFooDataSource),
- RestrictedInputNumberDataSource.class
- );
-
- Assert.assertEquals(restrictedFooDataSource, deserialized);
- }
-
@Test
public void test_deserialize_fromObject() throws Exception
{
@@ -147,4 +137,21 @@ public class RestrictedInputNumberDataSourceTest
{
Assert.assertNotEquals(restrictedFooDataSource.toString(),
restrictedBarDataSource.toString());
}
+
+ @Test
+ public void testSerde() throws Exception
+ {
+ final ObjectMapper mapper = TestHelper.makeJsonMapper()
+ .registerModules(new
MSQIndexingModule().getJacksonModules());
+
+ final RestrictedInputNumberDataSource dataSource = new
RestrictedInputNumberDataSource(
+ 0,
+ RowFilterPolicy.from(TrueDimFilter.instance())
+ );
+
+ Assert.assertEquals(
+ dataSource,
+ mapper.readValue(mapper.writeValueAsString(dataSource),
DataSource.class)
+ );
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]