fix(vector-stores): scope Pinecone delete_col()/reset() to namespace (#6287)

This commit is contained in:
Kartik
2026-07-21 12:24:57 +05:30
committed by GitHub
parent d0c23a5950
commit fec2fe6a2c
4 changed files with 71 additions and 9 deletions
+9 -6
View File
@@ -358,12 +358,16 @@ class PineconeDB(VectorStoreBase):
return self.client.list_indexes()
def delete_col(self):
"""Delete an index/collection."""
"""Delete the index, or clear only the configured namespace if one is set."""
try:
self.client.delete_index(self.collection_name)
logger.info(f"Index {self.collection_name} deleted successfully")
if self.namespace is not None:
self.index.delete(delete_all=True, namespace=self.namespace)
logger.info(f"Namespace {self.namespace} in index {self.collection_name} cleared successfully")
else:
self.client.delete_index(self.collection_name)
logger.info(f"Index {self.collection_name} deleted successfully")
except Exception as e:
logger.error(f"Error deleting index {self.collection_name}: {e}")
logger.error(f"Error deleting index {self.collection_name} (namespace={self.namespace}): {e}")
def col_info(self) -> Dict:
"""
@@ -419,8 +423,7 @@ class PineconeDB(VectorStoreBase):
int: Total number of vectors.
"""
stats = self.index.describe_index_stats()
if self.namespace:
# Safely get the namespace stats and return vector_count, defaulting to 0 if not found
if self.namespace is not None:
namespace_summary = (stats.namespaces or {}).get(self.namespace)
if namespace_summary:
return namespace_summary.vector_count or 0