Skip to content

v1.5.2 — Composite Index for CONTAINS Auto-Link

Choose a tag to compare

@github-actions github-actions released this 11 Jul 16:47

Release Notes

Performance

  • Composite index (repo_name, fqn) on :Entity — the CONTAINS
    auto-link query no longer degrades to O(n²) per-row label scans on
    every entity in the repository. Large repos (~50K entities) no
    longer timeout at the end of indexing. The index is created with
    IF NOT EXISTS so it migrates automatically into existing
    deployments.

Internal

  • Extracted index_statements() from ensure_indexes() for unit
    testing (same pattern already used by build_contains_auto_link_cypher()).
  • Added unit tests covering the new composite index, idempotency of
    IF NOT EXISTS, and preservation of all existing index statements.
  • Added integration test (#[ignore]) that verifies the index appears
    in SHOW INDEXES and that EXPLAIN of the auto-link Cypher succeeds.
  • Added e2e regression script (run_contains_autolink_index_e2e.sh)
    with a synthetic Java fixture of 5,200 entities, verifying index
    presence, plan index-seek, correct CONTAINS edge counts, and a time
    budget canary against O(n²) regression.

Install knot 1.5.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/raultov/knot/releases/download/v1.5.2/knot-installer.sh | sh

Download knot 1.5.2

File Platform Checksum
knot-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
knot-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum