Hello Balazs Hevele, Impala Public Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/24547

to look at the new patch set (#7).

Change subject: IMPALA-15154: Copy Hive ESRI geospatial UDFs into Impala
......................................................................

IMPALA-15154: Copy Hive ESRI geospatial UDFs into Impala

Copy the ST_* geospatial functions and their support classes from Hive's
org.apache.hadoop.hive.ql.udf.esri package into Impala under
org.apache.impala.hive.geospatial.esri, changing only the package name.
This decouples Impala from Hive's geospatial code so it can be modified
independently (e.g. to accept WKB serialization in a later commit).

The copy is based on upstream Hive commit
ada31342bbd6465c8fa497cd095cebbeaf291b4c, which brings two behavioral
changes compared to the previous CDP dependency:
- HIVE-29323: ST_ConvexHull no longer wraps its result in MULTIPOLYGON
- HIVE-29352: new ST_DistanceSphere function (great-circle distance)

esri-geometry-api (the underlying geometry library) is added as a direct
fe dependency instead of being picked up transitively through Hive.

Registration is repointed to the copied classes: HiveEsriGeospatialBuiltins
imports the new package and registers ST_DistanceSphere, and
gen_geospatial_udf_wrappers.py generates wrappers for the new package. All
ST_* and utility files are byte-identical to Hive with the exception
of package name.

Change-Id: I7d078e6ee961c76b10915da6be5b86966ad9cefb
Assisted-by: Claude Opus 4.8
---
M bin/jenkins/critique-gerrit-review.py
M common/function-registry/gen_geospatial_udf_wrappers.py
M fe/pom.xml
M 
fe/src/compat-hive-3/java/org/apache/impala/compat/HiveEsriGeospatialBuiltins.java
A java/hive-geospatial-functions/pom.xml
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/BinUtils.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/GeometryUtils.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/Haversine.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/HiveGeometry.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/HiveGeometryOIHelper.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/LogUtils.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/README.md
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Area.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_AsBinary.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_AsGeoJson.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_AsJson.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_AsShape.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_AsText.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Bin.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_BinEnvelope.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Boundary.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Buffer.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Centroid.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Contains.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_ConvexHull.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_CoordDim.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Crosses.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Difference.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Dimension.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Disjoint.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Distance.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_DistanceSphere.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_EndPoint.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_EnvIntersects.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Envelope.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Equals.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_ExteriorRing.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeodesicLengthWGS84.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomCollection.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomFromGeoJson.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomFromJson.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomFromShape.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomFromText.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeomFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Geometry.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeometryAccessor.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeometryN.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeometryProcessing.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeometryRelational.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_GeometryType.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_InteriorRingN.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Intersection.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Intersects.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Is3D.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_IsClosed.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_IsEmpty.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_IsMeasured.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_IsRing.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_IsSimple.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Length.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_LineFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_LineString.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_M.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MLineFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MPointFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MPolyFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MaxM.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MaxX.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MaxY.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MaxZ.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MinM.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MinX.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MinY.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MinZ.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MultiLineString.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MultiPoint.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_MultiPolygon.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_NumGeometries.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_NumInteriorRing.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_NumPoints.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Overlaps.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Point.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_PointFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_PointN.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_PointZ.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_PolyFromWKB.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Polygon.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Relate.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_SRID.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_SetSRID.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_StartPoint.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_SymmetricDiff.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Touches.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Union.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Within.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_X.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Y.java
A 
java/hive-geospatial-functions/src/main/java/org/apache/impala/hive/geospatial/esri/ST_Z.java
M java/pom.xml
M java/shaded-deps/hive-exec/pom.xml
M 
testdata/workloads/functional-query/queries/QueryTest/geospatial-esri-extra.test
M testdata/workloads/functional-query/queries/QueryTest/geospatial-esri.test
102 files changed, 7,573 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/47/24547/7
--
To view, visit http://gerrit.cloudera.org:8080/24547
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I7d078e6ee961c76b10915da6be5b86966ad9cefb
Gerrit-Change-Number: 24547
Gerrit-PatchSet: 7
Gerrit-Owner: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Balazs Hevele <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>

Reply via email to