Skip to content

Support secondary ART indexes#582

Draft
adsharma wants to merge 6 commits into
mainfrom
feature/secondary-art-indexes
Draft

Support secondary ART indexes#582
adsharma wants to merge 6 commits into
mainfrom
feature/secondary-art-indexes

Conversation

@adsharma

Copy link
Copy Markdown
Contributor

Summary

  • allow ART indexes on non-primary node properties
  • store duplicate offsets in secondary ART leaves and maintain them across insert, update, delete, checkpoint, and reload
  • use secondary ART indexes for simple single-table equality predicates

Validation

  • ninja -C build/release test/runner/e2e_test
  • E2E_TEST_FILES_DIRECTORY=test/test_files build/release/test/runner/e2e_test --gtest_filter="ddl_empty"
  • manual EXPLAIN check confirmed PRIMARY_KEY_SCAN_NODE_TABLE with Index: ART for a secondary name lookup

@adsharma adsharma force-pushed the feature/secondary-art-indexes branch 7 times, most recently from afb4e7b to 67e24f5 Compare June 11, 2026 04:22
@adsharma adsharma force-pushed the feature/secondary-art-indexes branch from 67e24f5 to 31adebb Compare June 11, 2026 05:12
if (!node->overflowOffsets) {
node->overflowOffsets = std::make_unique<std::vector<offset_t>>();
}
if (std::find(node->overflowOffsets->begin(), node->overflowOffsets->end(), offset) ==

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this check needed?

@@ -1 +1 @@
#include "storage/index/art_index.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this file be trimmed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants