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]