You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2022/10/03 17:56:02 UTC

[ignite-3] 01/01: WIP. Drop geometry dependency for spatial queries.

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

amashenkov pushed a commit to branch ignite-17810
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit c06ed82b07e115065b659dbabea1dcb24706cd95
Author: amashenkov <an...@gmail.com>
AuthorDate: Mon Oct 3 20:55:52 2022 +0300

    WIP. Drop geometry dependency for spatial queries.
---
 gradle/libs.versions.toml                                        | 5 +----
 modules/sql-engine/build.gradle                                  | 1 -
 modules/sql-engine/pom.xml                                       | 5 -----
 .../ignite/internal/sql/engine/exec/exp/RexToLixTranslator.java  | 7 +------
 .../ignite/internal/sql/engine/type/IgniteTypeFactory.java       | 5 ++---
 parent/pom.xml                                                   | 9 +--------
 6 files changed, 5 insertions(+), 27 deletions(-)

diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e084d3cded..c9ccae48c4 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -50,14 +50,13 @@ hamcrest = "2.2"
 hamcrestOptional = "2.0.0"
 hamcrestPath = "1.0.1"
 scalecube = "2.6.12"
-calcite = "1.31.0"
+calcite = "1.32.0"
 value = "2.8.8"
 janino = "3.1.6"
 avatica = "1.22.0"
 jsonpath = "2.4.0"
 classgraph = "4.8.110"
 javassist = "3.28.0-GA"
-geometry = "2.2.0"
 checker = "3.10.0"
 rocksdb = "7.3.1"
 disruptor = "3.3.7"
@@ -220,6 +219,4 @@ janino-compiler = { module = "org.codehaus.janino:commons-compiler", version.ref
 
 javassist = { module = "org.javassist:javassist", version.ref = "javassist" }
 
-esri-geometry = { module = "com.esri.geometry:esri-geometry-api", version.ref = "geometry" }
-
 checker-qual = { module = "org.checkerframework:checker-qual", version.ref = "checker" }
diff --git a/modules/sql-engine/build.gradle b/modules/sql-engine/build.gradle
index cef4ef5bf6..d19fa830dd 100644
--- a/modules/sql-engine/build.gradle
+++ b/modules/sql-engine/build.gradle
@@ -45,7 +45,6 @@ dependencies {
     implementation libs.jsonpath.core
     implementation libs.classgraph
     implementation libs.javassist
-    implementation libs.esri.geometry
     implementation libs.checker.qual
 
     annotationProcessor project(':ignite-network-annotation-processor')
diff --git a/modules/sql-engine/pom.xml b/modules/sql-engine/pom.xml
index b2ee90dcd3..7eb4eca49f 100644
--- a/modules/sql-engine/pom.xml
+++ b/modules/sql-engine/pom.xml
@@ -122,11 +122,6 @@
             <artifactId>javassist</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>com.esri.geometry</groupId>
-            <artifactId>esri-geometry-api</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.checkerframework</groupId>
             <artifactId>checker-qual</artifactId>
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/exp/RexToLixTranslator.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/exp/RexToLixTranslator.java
index 195fae4bc6..7a851311d2 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/exp/RexToLixTranslator.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/exp/RexToLixTranslator.java
@@ -62,8 +62,6 @@ import org.apache.calcite.rex.RexTableInputRef;
 import org.apache.calcite.rex.RexUtil;
 import org.apache.calcite.rex.RexVariable;
 import org.apache.calcite.rex.RexVisitor;
-import org.apache.calcite.runtime.GeoFunctions;
-import org.apache.calcite.runtime.Geometries;
 import org.apache.calcite.sql.SqlIntervalQualifier;
 import org.apache.calcite.sql.SqlOperator;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
@@ -775,10 +773,7 @@ public class RexToLixTranslator implements RexVisitor<RexToLixTranslator.Result>
                                 literal.getValueAs(byte[].class),
                                 byte[].class));
             case GEOMETRY:
-                final Geometries.Geom geom = literal.getValueAs(Geometries.Geom.class);
-                final String wkt = GeoFunctions.ST_AsWKT(geom);
-                return Expressions.call(null, BuiltInMethod.ST_GEOM_FROM_TEXT.method,
-                        Expressions.constant(wkt));
+                throw new IllegalStateException("Unsupported data type: " + literal.getType());
             case SYMBOL:
                 value2 = literal.getValueAs(Enum.class);
                 javaClass = value2.getClass();
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
index 703b917e99..56bc8895a4 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
@@ -38,7 +38,6 @@ import org.apache.calcite.avatica.util.TimeUnit;
 import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
 import org.apache.calcite.rel.type.RelDataType;
 import org.apache.calcite.rel.type.RelDataTypeSystem;
-import org.apache.calcite.runtime.Geometries;
 import org.apache.calcite.sql.SqlIntervalQualifier;
 import org.apache.calcite.sql.SqlUtil;
 import org.apache.calcite.sql.parser.SqlParserPos;
@@ -136,7 +135,7 @@ public class IgniteTypeFactory extends JavaTypeFactoryImpl {
                 case VARBINARY:
                     return ByteString.class;
                 case GEOMETRY:
-                    return Geometries.Geom.class;
+                    throw new IllegalArgumentException("Type is not supported.");
                 case SYMBOL:
                     return Enum.class;
                 case ANY:
@@ -295,7 +294,7 @@ public class IgniteTypeFactory extends JavaTypeFactoryImpl {
                 case VARBINARY:
                     return byte[].class;
                 case GEOMETRY:
-                    return Geometries.Geom.class;
+                    throw new IllegalArgumentException("Type is not supported.");
                 case SYMBOL:
                     return Enum.class;
                 case ANY:
diff --git a/parent/pom.xml b/parent/pom.xml
index 4854d0361f..faac5327ef 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -85,14 +85,13 @@
         <hamcrest.optional.version>2.0.0</hamcrest.optional.version>
         <hamcrest.path.version>1.0.1</hamcrest.path.version>
         <scalecube.version>2.6.12</scalecube.version>
-        <calcite.version>1.31.0</calcite.version>
+        <calcite.version>1.32.0</calcite.version>
         <immutables.version>2.8.8</immutables.version>
         <janino.version>3.1.6</janino.version>
         <avatica.version>1.22.0</avatica.version>
         <jsonpath.version>2.4.0</jsonpath.version>
         <classgraph.version>4.8.110</classgraph.version>
         <javassist.version>3.28.0-GA</javassist.version>
-        <esri.geometry.version>2.2.0</esri.geometry.version>
         <checker.version>3.10.0</checker.version>
         <rocksdb.version>7.3.1</rocksdb.version>
         <disruptor.version>3.3.7</disruptor.version>
@@ -548,12 +547,6 @@
                 <version>${javassist.version}</version>
             </dependency>
 
-            <dependency>
-                <groupId>com.esri.geometry</groupId>
-                <artifactId>esri-geometry-api</artifactId>
-                <version>${esri.geometry.version}</version>
-            </dependency>
-
             <dependency>
                 <groupId>org.checkerframework</groupId>
                 <artifactId>checker-qual</artifactId>