>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/+/21333?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,
Verified-1 by Jenkins
Change subject: [ ASTERIXDB-3781][STO] Support geometry type in columnar
storage format
......................................................................
[ ASTERIXDB-3781][STO] Support geometry type in columnar storage format
- user model changes: yes. The geometry type is now accepted in
datasets with the columnar storage format, and RTREE indexes can
be created on geometry fields of columnar datasets.
- storage format changes: yes (additive). Columnar components may
now contain GEOMETRY columns, encoded with Parquet delta
byte-array as an opaque [int32 length][WKB] payload with a no-op
(NoOp) column filter.
- interface changes: no
Details:
- New GeometryColumnValuesWriter, GeometryValueReader and
GeometryValueGetter; GEOMETRY wired into all columnar type
dispatch sites (schema nodes, flush metadata, reader/writer
factories, supported-types validator)
- Allow RTREE secondary indexes on columnar datasets only when all
key field types are geometry; point/line/rectangle RTrees remain
rejected with ASX1194 since those types are not storable in
columnar primaries
- Fix SecondaryRTreeOperationsHelper bulk load to use the
column-aware tuple projector so CREATE INDEX over existing
columnar components opens leaf frames with QueryColumnTupleReader
instead of MergeColumnTupleReader, which would throw NPE on
lastTupleReached() without an endOfPageCallBack
- Geometry remains disallowed as a primary key (ASX1022)
- Include the geojson suite in testsuite_sqlpp_column.xml so all
geo tests (functions, rtree index, CRS) also run under forced
columnar storage;
- Tests: columnar geometry round-trip (closed, nested, array, open
field, large multi-KB WKB), rtree creation before and after data
exists, index maintenance with deletes/upserts, CRS transform on
columnar, negative tests; optimizer test asserting RTREE_SEARCH
on a columnar dataset
Some parts of this commit were Generated-by: Claude code
Change-Id: Ia6e37080a581292744ddc9020c814917612d15ac
---
M .gitignore
A
asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-geometry-column/rtree-sidx-column-01.sqlpp
A
asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-geometry-column/rtree-sidx-column-01.plan
A
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/rtree-index-geometry-column/rtree-sidx-column-01.plan
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.003.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.004.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.005.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/001/001.006.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/002/002.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/002/002.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/002/002.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/003/003.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/003/003.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/003/003.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/004/004.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/005/005.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/005/005.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/005/005.003.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/005/005.004.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.003.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.004.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.005.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/006/006.006.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/007/007.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/007/007.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/007/007.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/008/008.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/008/008.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/008/008.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/009/009.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/009/009.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/009/009.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/010/010.001.ddl.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/010/010.002.update.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/geometry/010/010.003.query.sqlpp
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/001/001.006.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/002/002.003.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/003/003.003.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/005/005.004.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/006/006.004.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/006/006.006.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/007/007.003.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/008/008.003.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/009/009.003.adm
A
asterixdb/asterix-app/src/test/resources/runtimets/results/column/geometry/010/010.003.adm
M asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
M
asterixdb/asterix-app/src/test/resources/runtimets/testsuite_single_partition_sqlpp.xml
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_column.xml
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/value/GeometryValueGetter.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/value/ValueGetterFactory.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/AbstractSchemaNode.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnMetadata.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/NoWriteFlushColumnMetadata.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/validation/ColumnSupportedTypesValidator.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/ColumnValueReaderFactory.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/value/GeometryValueReader.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/ColumnValuesWriterFactory.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/GeometryColumnValuesWriter.java
M asterixdb/asterix-doc/src/site/markdown/geo/functions.md
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/SecondaryIndexOperationsHelper.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/SecondaryRTreeOperationsHelper.java
65 files changed, 1,562 insertions(+), 10 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/33/21333/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21333?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: Ia6e37080a581292744ddc9020c814917612d15ac
Gerrit-Change-Number: 21333
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]>