Skip to content

Add TiDB storage backend#140

Open
ngaut wants to merge 2 commits into
ExtendDB:mainfrom
ngaut:codex/tidb-backend-native-cleanup
Open

Add TiDB storage backend#140
ngaut wants to merge 2 commits into
ExtendDB:mainfrom
ngaut:codex/tidb-backend-native-cleanup

Conversation

@ngaut
Copy link
Copy Markdown

@ngaut ngaut commented May 28, 2026

Summary

  • Add an optional TiDB storage backend and wire it through workspace, binary, config, bootstrap, serve, backup/restore, TTL, and tests.
  • Make backend defaults and bootstrap options backend-owned instead of passing raw Postgres-shaped CLI arguments through shared code.
  • Leverage TiDB-native capabilities: generated-column secondary indexes, snapshot-consistent reads, native TTL where stream REMOVE records are not required, and BR-backed backup/restore.
  • Update docs, config samples, install scripts, and CLI lifecycle tests for generic --storage-* backend flags and TiDB guidance.

Verification

  • cargo fmt --all -- --check
  • git diff --check HEAD
  • cargo test -j12 -p extenddb-storage-tidb
  • cargo test -j12 -p extenddb --no-default-features --features tidb --all-targets
  • cargo test -j12 -p extenddb --all-targets
  • cargo test -j12 -p extenddb-storage-postgres
  • cargo clippy -j12 -p extenddb --no-default-features --features tidb --all-targets -- -D warnings
  • /tmp/extenddb-docs-venv/bin/python docs/build-docs.py

Known Existing Issue

  • cargo clippy -j12 -p extenddb --all-targets -- -D warnings still fails on crates/storage-postgres/src/data/update_item.rs:168 (clippy::collapsible_else_if). This is an unrelated pre-existing Postgres data-plane lint left untouched.

@LeeroyHannigan
Copy link
Copy Markdown
Collaborator

Thanks for your PR. Can you please submit an RFC for this, defined in the contribution guide.

We are currently discussing how best to accompany multiple different backend storage engines which you may have seen from other PRs like this. For that reason, I'll mark this as deferred for now. However I am interested in reviewing the RFC.

@LeeroyHannigan LeeroyHannigan added the deferred Valid contribution, but blocked on prerequisite work or architectural decisions label May 28, 2026
This was referenced May 28, 2026
@ngaut
Copy link
Copy Markdown
Author

ngaut commented May 28, 2026

Thanks, addressed by opening tracking issue #141 and the RFC-only PR #142: #142. I will keep the implementation PR deferred until the RFC discussion resolves, and use the RFC thread for design review.

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

Labels

deferred Valid contribution, but blocked on prerequisite work or architectural decisions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants