From 567cc904e53ce98fe456cd0e4e8ed2aa813a2b28 Mon Sep 17 00:00:00 2001 From: Victor Barua Date: Wed, 12 Feb 2025 11:52:04 -0800 Subject: [PATCH 1/2] build: update to Calcite 1.38.0 --- gradle.properties | 2 +- .../src/main/java/io/substrait/isthmus/SubstraitRelVisitor.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index d0612a751..802d78209 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ com.github.vlsi.vlsi-release-plugins.version=1.74 # library version antlr.version=4.13.1 -calcite.version=1.37.0 +calcite.version=1.38.0 guava.version=32.1.3-jre immutables.version=2.10.1 jackson.version=2.16.1 diff --git a/isthmus/src/main/java/io/substrait/isthmus/SubstraitRelVisitor.java b/isthmus/src/main/java/io/substrait/isthmus/SubstraitRelVisitor.java index a367e0217..d4e34cc15 100644 --- a/isthmus/src/main/java/io/substrait/isthmus/SubstraitRelVisitor.java +++ b/isthmus/src/main/java/io/substrait/isthmus/SubstraitRelVisitor.java @@ -179,6 +179,8 @@ public Rel visit(org.apache.calcite.rel.core.Join join) { case FULL -> Join.JoinType.OUTER; case SEMI -> Join.JoinType.SEMI; case ANTI -> Join.JoinType.ANTI; + case ASOF -> throw new RuntimeException("ASOF join not supported"); + case LEFT_ASOF -> throw new RuntimeException("LEFT ASOF join not supported"); }; if (joinType == Join.JoinType.INNER From 8853480fd78efa7d6868cfb37a6ee49e16f8da43 Mon Sep 17 00:00:00 2001 From: Victor Barua Date: Thu, 13 Feb 2025 11:02:19 -0800 Subject: [PATCH 2/2] build: pull in net-minidev:json-smart:2.5.2 --- isthmus/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/isthmus/build.gradle.kts b/isthmus/build.gradle.kts index 820467242..3a243439e 100644 --- a/isthmus/build.gradle.kts +++ b/isthmus/build.gradle.kts @@ -81,6 +81,10 @@ val PROTOBUF_VERSION = properties.get("protobuf.version") dependencies { implementation(project(":core")) implementation("org.apache.calcite:calcite-core:${CALCITE_VERSION}") + // calcite-core 1.38.0 brings in net.minidev:json-smart:2.5.0 which has a CVE associated with it. + // See: https://osv.dev/vulnerability/GHSA-pq2g-wx69-c263 + // This causes the build to fail. Pull in the fixed version until Calcite updates itself. + implementation("net.minidev:json-smart:2.5.2") implementation("org.apache.calcite:calcite-server:${CALCITE_VERSION}") testImplementation("org.junit.jupiter:junit-jupiter:${JUNIT_VERSION}") implementation("org.reflections:reflections:0.9.12")