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]

Reply via email to