Skip to content

fix(vector_store): remove leftover sync placeholders shadowing async search in 6 backends - #102

Open
Anai-Guo wants to merge 1 commit into
multimindlab:developfrom
Anai-Guo:fix/vector-store-search-shadow
Open

Anai-Guo wants to merge 1 commit into
multimindlab:developfrom
Anai-Guo:fix/vector-store-search-shadow

Conversation

@Anai-Guo

Copy link
Copy Markdown

Problem

Six stub vector-store backends each carry a trailing block of synchronous add / search / delete placeholder methods appended after their proper async implementations:

  • bageldb.py, clarifai.py, dashvector.py, databricks_vector_search.py, dingo.py, epsilla.py

Because the sync def search(...) comes last, it shadows the already-present async def search(...) earlier in the same class. The live search therefore:

  1. No longer matches the async VectorStoreBackend.search interface (base.py), so await backend.search(...) no longer awaits a coroutine.
  2. Drops the accurate "…is not implemented: use an implemented backend such as FAISS, Chroma, Qdrant, …" message in favor of the cruder "…is a placeholder. Integrate with … SDK.".

pyflakes flags the shadow directly, e.g.:

multimind/vector_store/bageldb.py:135:5: redefinition of unused 'search' from line 53

The accompanying add / delete placeholders are not part of the backend interface either — it defines add_vectors / delete_vectors (both already implemented as async in these files) — and are not referenced anywhere in the codebase.

Fix

Remove the redundant trailing placeholder blocks so the proper async stub methods are the live ones again. No behavior is lost (both variants only raise NotImplementedError); the interface-conformant async search and its accurate guidance message are restored.

+0 / −104, six files. pyflakes no longer reports any redefinition in these modules and all six still compile.

🤖 Generated with Claude Code

… async backends

Six stub backends (BagelDB, Clarifai, DashVector, Databricks Vector
Search, DingoDB, Epsilla) each carried a trailing block of synchronous
`add`/`search`/`delete` placeholder methods appended after their proper
async implementations. The sync `search` placeholder shadowed the
already-present `async def search(...)`, so the live method no longer
matched the async VectorStoreBackend interface and dropped the accurate
NotImplementedError guidance. `add`/`delete` are not part of the backend
interface (it defines add_vectors/delete_vectors) and are unused.

Remove the redundant trailing blocks so the async stubs are the live
methods again.

Signed-off-by: Tai An <antai12232931@outlook.com>

This branch has not been deployed

No deployments
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.

1 participant