-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Closed
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeNextSemestermemorymemory connectormsft.ext.vectordataRelated to Microsoft.Extensions.VectorDataRelated to Microsoft.Extensions.VectorData
Description
Most implementation of the abstraction provide thread-safety, i.e. the instances of IVectorStore and IVectorStoreRecordCollection can be used concurrently from multiple threads; but not all.
- PostgresVectorStoreRecordCollection accepts an NpgsqlDataSource, and gets a new (pooled) connection for aech operation. This is a thread-safe design, where multiple threads can use PostgresVectorStoreRecordCollection concurrently.
- In contrast, SqliteVectorStoreRecordCollection gets initialized with a DbConnection, which is not a thread-safe object.
IMHO we should be guaranteeing thread-safety, and fix the SQLite implementation to e.g. accept a connection string (or DbDataSource) instead of a DbConnection.
Metadata
Metadata
Assignees
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeNextSemestermemorymemory connectormsft.ext.vectordataRelated to Microsoft.Extensions.VectorDataRelated to Microsoft.Extensions.VectorData
Type
Projects
Status
Sprint: Done