@@ -695,11 +695,11 @@ def read_additions(
695695 logger .debug (
696696 "Reading additions vectors"
697697 )
698- updates_array = tiledb .open (updates_uri , mode = "r" )
699- q = updates_array .query (attrs = ('vector' ,), coords = True )
700- data = q [:]
701- additions_filter = [len (item ) > 0 for item in data ["vector" ]]
702- return np .vstack (data ["vector" ][additions_filter ]), data ["external_id" ][additions_filter ]
698+ with tiledb .open (updates_uri , mode = "r" ) as updates_array :
699+ q = updates_array .query (attrs = ('vector' ,), coords = True )
700+ data = q [:]
701+ additions_filter = [len (item ) > 0 for item in data ["vector" ]]
702+ return np .vstack (data ["vector" ][additions_filter ]), data ["external_id" ][additions_filter ]
703703
704704 def read_updated_ids (
705705 updates_uri : str ,
@@ -713,10 +713,10 @@ def read_updated_ids(
713713 logger .debug (
714714 "Reading updated vector ids"
715715 )
716- updates_array = tiledb .open (updates_uri , mode = "r" )
717- q = updates_array .query (attrs = ('vector' ,), coords = True )
718- data = q [:]
719- return data ["external_id" ]
716+ with tiledb .open (updates_uri , mode = "r" ) as updates_array :
717+ q = updates_array .query (attrs = ('vector' ,), coords = True )
718+ data = q [:]
719+ return data ["external_id" ]
720720
721721 def read_input_vectors (
722722 source_uri : str ,
@@ -1729,10 +1729,15 @@ def consolidate_and_vacuum(
17291729 config : Optional [Mapping [str , Any ]] = None ,
17301730 ):
17311731 group = tiledb .Group (index_group_uri )
1732- if INPUT_VECTORS_ARRAY_NAME in group :
1733- tiledb .Array .delete_array (group [INPUT_VECTORS_ARRAY_NAME ].uri )
1734- if EXTERNAL_IDS_ARRAY_NAME in group :
1735- tiledb .Array .delete_array (group [EXTERNAL_IDS_ARRAY_NAME ].uri )
1732+ try :
1733+ if INPUT_VECTORS_ARRAY_NAME in group :
1734+ tiledb .Array .delete_array (group [INPUT_VECTORS_ARRAY_NAME ].uri )
1735+ if EXTERNAL_IDS_ARRAY_NAME in group :
1736+ tiledb .Array .delete_array (group [EXTERNAL_IDS_ARRAY_NAME ].uri )
1737+ except tiledb .TileDBError as err :
1738+ message = str (err )
1739+ if "does not exist" not in message :
1740+ raise err
17361741 modes = ["fragment_meta" , "commits" , "array_meta" ]
17371742 for mode in modes :
17381743 conf = tiledb .Config (config )
0 commit comments