>From Suryaa Charan Shivakumar <[email protected]>:
Attention is currently required from: Suryaa Charan Shivakumar.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20968?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Contrib-2 by Anon. E. Moose #1000171, Integration-Tests-1 by Jenkins
Change subject: [ASTERIXDB-3542] Added Coordinate Reference System support at
Metadata and ST Transform function
......................................................................
[ASTERIXDB-3542] Added Coordinate Reference System support at Metadata and ST
Transform function
- New metadata entity: CoordinateReferenceSystem (SRID, name, WKT)
backed by a dedicated metadata index and tuple translator
- DDL: CREATE CRS, DROP CRS, LOAD CRS (bulk-load from a directory of
EPSG-CRS-<srid>.wkt files, with partial-failure warnings)
- SQL++ parser (SQLPP.jj): grammar rules for CREATE/DROP/LOAD CRS
- ST_Transform(geom, fromSRID, toSRID): compile-time WKT lookup via
metadata, runtime coordinate transformation via Apache SIS
- ST_Distance_Spheroid(geom1, geom2): geodesic distance on WGS-84
ellipsoid using SIS GeodeticCalculator
- Metadata lock support: acquireCRSReadLock / acquireCRSWriteLock
- Error codes 1244-1252 covering CRS DDL and function failure modes
- Test suite: 17 test cases covering DDL lifecycle, bulk-load (including
partial-failure warnings), ST_Transform, ST_Distance_Spheroid,
and negative cases
- Documentation: DDL reference and geo-functions markdown updated
- Apache SIS + GeoAPI dependencies added (asterix-geo, asterix-app)
Some parts of this commit were Generated-by: Claude code
Change-Id: Ia6e37080a581292744ddc9020b214926412c16ac
---
M asterixdb/asterix-app/pom.xml
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
A
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/handlers/CRSStatementHandler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/GeoJSONQueries.xml
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.02.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.08.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.09.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.10.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.11.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/functions/crs.99.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-neg/crs-load-invalid-path/crs-load-invalid-path.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-neg/crs-load-invalid-srid/crs-load-invalid-srid.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-neg/crs-load-invalid-wkt/crs-load-invalid-wkt.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-neg/invalid-srid-dir/EPSG-CRS-0.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-neg/invalid-wkt-dir/EPSG-CRS-99990.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-warn/crs-load-warn.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-warn/crs-load-warn.02.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-warn/crs-load-warn.03.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load-warn/crs-load-warn.99.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load/crs-load.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load/crs-load.02.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/load/crs-load.99.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-distance-spheroid-srid/crs-distance-spheroid-srid.01.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-drop-not-found/crs-drop-not-found.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-duplicate/crs-duplicate.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-invalid-wkt/crs-invalid-wkt.01.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-transform-not-found/crs-transform-not-found.00.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-transform-not-found/crs-transform-not-found.01.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-transform-not-found/crs-transform-not-found.99.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-transform-srid-too-large/crs-transform-srid-too-large.01.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/negative/crs-transform-srid-zero/crs-transform-srid-zero.01.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/test-data/test-epsg-dir/EPSG-CRS-32601.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/test-data/test-epsg-dir/EPSG-CRS-32602.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/test-data/test-epsg-dir/EPSG-CRS-32603.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/crs/test-data/test-epsg-dir/EPSG-Transformation-1234.wkt
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/functions/result.08.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/functions/result.09.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/functions/result.10.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/load-warn/crs-load-warn.03.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/load/crs-load.02.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/negative-fractional/crs-fractional-srid.01.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/negative-srid-fromtext/crs-negative-srid-fromtext.01.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/negative-srid/crs-negative-srid.01.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/crs/negative/crs-distance-spheroid-srid.01.adm
M
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IMetadataLockManager.java
M
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/IMetadataLockUtil.java
M
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/MetadataConstants.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M asterixdb/asterix-doc/src/main/markdown/sqlpp/7_ddl_dml.md
M asterixdb/asterix-doc/src/site/markdown/geo/functions.md
M asterixdb/asterix-geo/pom.xml
M
asterixdb/asterix-geo/src/main/java/org/apache/asterix/geo/evaluators/GeoFunctionRegistrant.java
M
asterixdb/asterix-geo/src/main/java/org/apache/asterix/geo/evaluators/GeoFunctionTypeInferers.java
M
asterixdb/asterix-geo/src/main/java/org/apache/asterix/geo/evaluators/functions/AbstractSTDoubleGeometryDescriptor.java
A
asterixdb/asterix-geo/src/main/java/org/apache/asterix/geo/evaluators/functions/STDistanceSpheroidDescriptor.java
A
asterixdb/asterix-geo/src/main/java/org/apache/asterix/geo/evaluators/functions/STTransformDescriptor.java
M
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java
A
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/crs/CRSCreateStatement.java
A
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/crs/CRSDropStatement.java
A
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/crs/CRSLoadStatement.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataCache.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataTransactionContext.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataNode.java
A
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/CRSEntity.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndexesProvider.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataPrimaryIndexes.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataRecordTypes.java
A
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/CoordinateReferenceSystemEntity.java
A
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/CRSTupleTranslator.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/MetadataTupleTranslatorProvider.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/lock/MetadataLockKey.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/lock/MetadataLockManager.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-server/pom.xml
M asterixdb/pom.xml
A asterixdb/src/main/licenses/content/javax.measure--unit-api--2.1.3_LICENSE.txt
A
asterixdb/src/main/licenses/content/raw.githubusercontent.com_opengeospatial_geoapi_master_LICENSE.txt
85 files changed, 2,672 insertions(+), 8 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/68/20968/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20968?usp=email
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Ia6e37080a581292744ddc9020b214926412c16ac
Gerrit-Change-Number: 20968
Gerrit-PatchSet: 2
Gerrit-Owner: Suryaa Charan Shivakumar <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Attention: Suryaa Charan Shivakumar <[email protected]>