mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
- Wrap isatty() in _is_interactive_session() with try/except ValueError so MCP stdio transport shutdown no longer produces noisy tracebacks - Check both search_vector_chunks AND search_vector_embeddings exist before running JOIN queries in get_embedding_status(), fixing OperationalError when only the chunks table is present - Add test for closed-stream scenario Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
@@ -942,19 +942,21 @@ class ProjectService:
|
||||
is_postgres = config.database_backend == DatabaseBackend.POSTGRES
|
||||
|
||||
# --- Check vector table existence ---
|
||||
# Both search_vector_chunks and search_vector_embeddings must exist
|
||||
# for the detailed stats queries (JOINs between them) to work.
|
||||
if is_postgres:
|
||||
table_check_sql = text(
|
||||
"SELECT COUNT(*) FROM information_schema.tables "
|
||||
"WHERE table_name = 'search_vector_chunks'"
|
||||
"WHERE table_name IN ('search_vector_chunks', 'search_vector_embeddings')"
|
||||
)
|
||||
else:
|
||||
table_check_sql = text(
|
||||
"SELECT COUNT(*) FROM sqlite_master "
|
||||
"WHERE type = 'table' AND name = 'search_vector_chunks'"
|
||||
"WHERE type = 'table' AND name IN ('search_vector_chunks', 'search_vector_embeddings')"
|
||||
)
|
||||
|
||||
table_result = await self.repository.execute_query(table_check_sql, {})
|
||||
vector_tables_exist = (table_result.scalar() or 0) > 0
|
||||
vector_tables_exist = (table_result.scalar() or 0) == 2
|
||||
|
||||
if not vector_tables_exist:
|
||||
# Count distinct entities in search index for the recommendation message
|
||||
|
||||
Reference in New Issue
Block a user