Skip to content

Columnar faceting: COLUMNAR index and GROUP BY acceleration in the native and JVM builds #292

Closed

Description

@robfrank

Part of #289 (columnar faceting in the Python bindings).

Scope

  • Create and drop a COLUMNAR index from Python (CREATE INDEX ON Type (prop) COLUMNAR, BY ITEM for multi-valued properties) and check the projection works in the native build: the background apply, flush and merge threads and the maintenance pool must run inside the GraalVM shared library, and the native image needs the reflection and resource metadata for the new engine classes (upstream has a NativeImageReflectionMetadataTest for this). Verify both packages on all four platforms the CI covers.
  • Closing and reopening a database that has a COLUMNAR index (clean close, and an unclean one) keeps facets exact or rebuilds the projection by itself.
  • GROUP BY acceleration is on by default for types with a COLUMNAR index: expose the database setting arcadedb.columnar.groupByAcceleration (and the other arcadedb.columnar.* settings) through the existing configuration API, and test that results with and without it match.

Tests

Native and JVM lanes: create the index, ingest, query facets and GROUP BY, close and reopen, drop the index.

Metadata

Metadata

Assignees

Labels

concurrencyThreads, transactions and conflictsenhancementNew feature or requestin progressThe team is actively working on this issuepythonPull requests that update python code

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions