|
28 | 28 | from .engine import PostgresEngine |
29 | 29 | from .indexes import ( |
30 | 30 | DEFAULT_DISTANCE_STRATEGY, |
31 | | - DEFAULT_INDEX_NAME, |
| 31 | + DEFAULT_INDEX_NAME_SUFFIX, |
32 | 32 | BaseIndex, |
33 | 33 | DistanceStrategy, |
34 | 34 | ExactNearestNeighbor, |
@@ -902,31 +902,37 @@ async def aapply_vector_index( |
902 | 902 | filter = f"WHERE ({index.partial_indexes})" if index.partial_indexes else "" |
903 | 903 | params = "WITH " + index.index_options() |
904 | 904 | function = index.distance_strategy.index_function |
905 | | - name = name or index.name |
| 905 | + if name is None: |
| 906 | + if index.name == None: |
| 907 | + index.name = self.table_name + DEFAULT_INDEX_NAME_SUFFIX |
| 908 | + name = index.name |
906 | 909 | stmt = f'CREATE INDEX {"CONCURRENTLY" if concurrently else ""} {name} ON "{self.table_name}" USING {index.index_type} ({self.embedding_column} {function}) {params} {filter};' |
907 | 910 | if concurrently: |
908 | 911 | await self.engine._aexecute_outside_tx(stmt) |
909 | 912 | else: |
910 | 913 | await self.engine._aexecute(stmt) |
911 | 914 |
|
912 | | - async def areindex(self, index_name: str = DEFAULT_INDEX_NAME) -> None: |
| 915 | + async def areindex(self, index_name: Optional[str] = None) -> None: |
913 | 916 | """Re-index the vector store table.""" |
| 917 | + index_name = index_name or self.table_name + DEFAULT_INDEX_NAME_SUFFIX |
914 | 918 | query = f"REINDEX INDEX {index_name};" |
915 | 919 | await self.engine._aexecute(query) |
916 | 920 |
|
917 | 921 | async def adrop_vector_index( |
918 | 922 | self, |
919 | | - index_name: str = DEFAULT_INDEX_NAME, |
| 923 | + index_name: Optional[str] = None, |
920 | 924 | ) -> None: |
921 | 925 | """Drop the vector index.""" |
| 926 | + index_name = index_name or self.table_name + DEFAULT_INDEX_NAME_SUFFIX |
922 | 927 | query = f"DROP INDEX IF EXISTS {index_name};" |
923 | 928 | await self.engine._aexecute(query) |
924 | 929 |
|
925 | 930 | async def is_valid_index( |
926 | 931 | self, |
927 | | - index_name: str = DEFAULT_INDEX_NAME, |
| 932 | + index_name: Optional[str] = None, |
928 | 933 | ) -> bool: |
929 | 934 | """Check if index exists in the table.""" |
| 935 | + index_name = index_name or self.table_name + DEFAULT_INDEX_NAME_SUFFIX |
930 | 936 | query = f""" |
931 | 937 | SELECT tablename, indexname |
932 | 938 | FROM pg_indexes |
|
0 commit comments