This is an automated email from the ASF dual-hosted git repository.

FrankChen021 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 c19312c248d build(deps): bump net.thisptr:jackson-jq from 0.0.10 to 
1.6.2 (#20039)
c19312c248d is described below

commit c19312c248d52629a3c7d0ab44fd718755d5f92a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Aug 19 09:46:52 2026 +0800

    build(deps): bump net.thisptr:jackson-jq from 0.0.10 to 1.6.2 (#20039)
    
    * build(deps): bump net.thisptr:jackson-jq from 0.0.10 to 1.6.2
    
    Bumps [net.thisptr:jackson-jq](https://github.com/eiiches/jackson-jq) from 
0.0.10 to 1.6.2.
    - [Release notes](https://github.com/eiiches/jackson-jq/releases)
    - 
[Commits](https://github.com/eiiches/jackson-jq/compare/jackson-jq-parent-0.0.10...1.6.2)
    
    ---
    updated-dependencies:
    - dependency-name: net.thisptr:jackson-jq
      dependency-version: 1.6.2
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    * build(deps): migrate jackson-jq 1.6.2 consumers
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Frank Chen <[email protected]>
---
 .../data/input/protobuf/ProtobufFlattenerMaker.java    | 18 ++++++++++++++++--
 licenses.yaml                                          |  6 +++---
 pom.xml                                                |  4 ++--
 .../java/util/common/parsers/JSONFlattenerMaker.java   | 17 +++++++++++++++--
 4 files changed, 36 insertions(+), 9 deletions(-)

diff --git 
a/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufFlattenerMaker.java
 
b/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufFlattenerMaker.java
index a3d69226fd4..e5bb2a3acb7 100644
--- 
a/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufFlattenerMaker.java
+++ 
b/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufFlattenerMaker.java
@@ -26,7 +26,10 @@ import com.jayway.jsonpath.Configuration;
 import com.jayway.jsonpath.JsonPath;
 import com.jayway.jsonpath.Option;
 import com.jayway.jsonpath.spi.json.JsonProvider;
+import net.thisptr.jackson.jq.BuiltinFunctionLoader;
 import net.thisptr.jackson.jq.JsonQuery;
+import net.thisptr.jackson.jq.Scope;
+import net.thisptr.jackson.jq.Versions;
 import net.thisptr.jackson.jq.exception.JsonQueryException;
 import org.apache.druid.java.util.common.parsers.JSONFlattenerMaker;
 import org.apache.druid.java.util.common.parsers.NotImplementedMappingProvider;
@@ -34,6 +37,7 @@ import 
org.apache.druid.java.util.common.parsers.ObjectFlatteners;
 
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
@@ -47,6 +51,7 @@ public class ProtobufFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<M
 {
   private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
   private static final ProtobufJsonProvider JSON_PROVIDER = new 
ProtobufJsonProvider();
+  private static final Scope JSON_QUERY_SCOPE = createJsonQueryScope();
 
   private static final Configuration CONFIG = Configuration.builder()
                                                            
.jsonProvider(JSON_PROVIDER)
@@ -54,6 +59,13 @@ public class ProtobufFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<M
                                                            
.options(EnumSet.of(Option.SUPPRESS_EXCEPTIONS))
                                                            .build();
 
+  private static Scope createJsonQueryScope()
+  {
+    final Scope scope = Scope.newEmptyScope();
+    BuiltinFunctionLoader.getInstance().loadFunctions(Versions.JQ_1_6, scope);
+    return scope;
+  }
+
   private final CharsetEncoder enc = StandardCharsets.UTF_8.newEncoder();
 
   private final boolean discoverNestedFields;
@@ -105,15 +117,17 @@ public class ProtobufFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<M
   {
     final JsonQuery jsonQuery;
     try {
-      jsonQuery = JsonQuery.compile(expr);
+      jsonQuery = JsonQuery.compile(expr, Versions.JQ_1_6);
     }
     catch (JsonQueryException e) {
       throw new RuntimeException(e);
     }
     return map -> {
       try {
+        final List<JsonNode> output = new ArrayList<>();
+        jsonQuery.apply(JSON_QUERY_SCOPE, (JsonNode) 
OBJECT_MAPPER.valueToTree(map), output::add);
         return JSONFlattenerMaker.convertJsonNode(
-            jsonQuery.apply((JsonNode) OBJECT_MAPPER.valueToTree(map)).get(0),
+            output.get(0),
             enc
         );
       }
diff --git a/licenses.yaml b/licenses.yaml
index 1790abda63b..43a3852eab8 100644
--- a/licenses.yaml
+++ b/licenses.yaml
@@ -1887,7 +1887,7 @@ name: jackson-jq
 license_category: binary
 module: java-core
 license_name: Apache License version 2.0
-version: 0.0.10
+version: 1.6.2
 libraries:
   - net.thisptr: jackson-jq
 
@@ -3730,7 +3730,7 @@ name: JCodings
 license_category: binary
 module: java-core
 license_name: MIT License
-version: 1.0.50
+version: 1.0.63
 copyright: JRuby Team
 license_file_path: licenses/bin/jcodings.MIT
 libraries:
@@ -3742,7 +3742,7 @@ name: Joni
 license_category: binary
 module: java-core
 license_name: MIT License
-version: 2.1.34
+version: 2.2.6
 copyright: JRuby Team
 license_file_path: licenses/bin/joni.MIT
 libraries:
diff --git a/pom.xml b/pom.xml
index e3ed3c31570..d037f0f5b35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1108,7 +1108,7 @@
             <dependency>
                 <groupId>net.thisptr</groupId>
                 <artifactId>jackson-jq</artifactId>
-                <version>0.0.10</version>
+                <version>1.6.2</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
@@ -1548,7 +1548,7 @@
           <dependency>
               <groupId>org.jruby.joni</groupId>
               <artifactId>joni</artifactId>
-              <version>2.1.34</version>
+              <version>2.2.6</version>
           </dependency>
             <dependency>
                 <groupId>org.testcontainers</groupId>
diff --git 
a/processing/src/main/java/org/apache/druid/java/util/common/parsers/JSONFlattenerMaker.java
 
b/processing/src/main/java/org/apache/druid/java/util/common/parsers/JSONFlattenerMaker.java
index 94e4a6fe646..a1729c3f011 100644
--- 
a/processing/src/main/java/org/apache/druid/java/util/common/parsers/JSONFlattenerMaker.java
+++ 
b/processing/src/main/java/org/apache/druid/java/util/common/parsers/JSONFlattenerMaker.java
@@ -27,7 +27,10 @@ import com.jayway.jsonpath.JsonPath;
 import com.jayway.jsonpath.Option;
 import com.jayway.jsonpath.spi.json.JsonProvider;
 import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
+import net.thisptr.jackson.jq.BuiltinFunctionLoader;
 import net.thisptr.jackson.jq.JsonQuery;
+import net.thisptr.jackson.jq.Scope;
+import net.thisptr.jackson.jq.Versions;
 import net.thisptr.jackson.jq.exception.JsonQueryException;
 import org.apache.druid.data.input.impl.FastJacksonJsonNodeJsonProvider;
 import org.apache.druid.java.util.common.StringUtils;
@@ -46,6 +49,7 @@ import java.util.function.Function;
 public class JSONFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<JsonNode>
 {
   private static final JsonProvider JSON_PROVIDER = new 
FastJacksonJsonNodeJsonProvider();
+  private static final Scope JSON_QUERY_SCOPE = createJsonQueryScope();
 
   private static final Configuration JSONPATH_CONFIGURATION =
       Configuration.builder()
@@ -54,6 +58,13 @@ public class JSONFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<JsonN
                    .options(EnumSet.of(Option.SUPPRESS_EXCEPTIONS))
                    .build();
 
+  private static Scope createJsonQueryScope()
+  {
+    final Scope scope = Scope.newEmptyScope();
+    BuiltinFunctionLoader.getInstance().loadFunctions(Versions.JQ_1_6, scope);
+    return scope;
+  }
+
   private final CharsetEncoder enc = StandardCharsets.UTF_8.newEncoder();
   private final boolean keepNullValues;
 
@@ -102,10 +113,12 @@ public class JSONFlattenerMaker implements 
ObjectFlatteners.FlattenerMaker<JsonN
   public Function<JsonNode, Object> makeJsonQueryExtractor(final String expr)
   {
     try {
-      final JsonQuery jsonQuery = JsonQuery.compile(expr);
+      final JsonQuery jsonQuery = JsonQuery.compile(expr, Versions.JQ_1_6);
       return jsonNode -> {
         try {
-          return finalizeConversionForMap(jsonQuery.apply(jsonNode).get(0));
+          final List<JsonNode> output = new ArrayList<>();
+          jsonQuery.apply(JSON_QUERY_SCOPE, jsonNode, output::add);
+          return finalizeConversionForMap(output.get(0));
         }
         catch (JsonQueryException e) {
           throw new RuntimeException(e);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to