@@ -749,22 +749,20 @@ def _do_save_datasets(self, datasets): #override
749749 # speedup - fetch all blocks and files of updated datasets
750750 # if size, num_file, or is_open of a block or a file is updated, its dataset also is
751751
752- pool = [did for did , dataset in datasets_to_update if dataset .blocks is not None ]
753- block_entries = dict ((i , []) for i in pool )
752+ block_entries = dict ((i , []) for i in did for did , dataset in datasets_to_update if dataset .blocks is not None )
754753
755754 _dataset_id = 0
756- for entry in self ._mysql .select_many ('blocks' , ('dataset_id' , 'id' , 'name' , 'size' , 'num_files' , 'is_open' ), 'dataset_id' , pool , order_by = '`dataset_id`' ):
755+ for entry in self ._mysql .select_many ('blocks' , ('dataset_id' , 'id' , 'name' , 'size' , 'num_files' , 'is_open' ), 'dataset_id' , block_entries . iterkeys () , order_by = '`dataset_id`' ):
757756 if entry [0 ] != _dataset_id :
758757 _dataset_id = entry [0 ]
759758 entry_list = block_entries [entry [0 ]] = []
760759
761760 entry_list .append (entry [1 :])
762761
763- pool = [did for did , dataset in datasets_to_update if dataset .files is not None ]
764- file_entries = dict ((i , []) for i in pool )
762+ file_entries = dict ((i , []) for i in did for did , dataset in datasets_to_update if dataset .files is not None )
765763
766764 _dataset_id = 0
767- for entry in self ._mysql .select_many ('files' , ('dataset_id' , 'id' , 'size' , 'name' ), 'dataset_id' , pool , order_by = '`dataset_id`' ):
765+ for entry in self ._mysql .select_many ('files' , ('dataset_id' , 'id' , 'size' , 'name' ), 'dataset_id' , file_entries . iterkeys () , order_by = '`dataset_id`' ):
768766 if entry [0 ] != _dataset_id :
769767 _dataset_id = entry [0 ]
770768 entry_list = file_entries [entry [0 ]] = []
@@ -1153,7 +1151,7 @@ def _do_delete_datasets(self, datasets): #override
11531151 """
11541152 Delete everything related to the datasets
11551153 """
1156- dataset_ids = self ._mysql .select_many ('datasets' , 'id' , 'name' , [ d .name for d in datasets ] )
1154+ dataset_ids = self ._mysql .select_many ('datasets' , 'id' , 'name' , ( d .name for d in datasets ) )
11571155
11581156 ids_str = ',' .join (['%d' % i for i in dataset_ids ])
11591157
@@ -1179,9 +1177,9 @@ def _do_delete_block(self, block): #override
11791177 def _do_delete_datasetreplicas (self , site , datasets , delete_blockreplicas ): #override
11801178 site_id = self ._mysql .query ('SELECT `id` FROM `sites` WHERE `name` LIKE %s' , site .name )[0 ]
11811179
1182- dataset_ids = self ._mysql .select_many ('datasets' , 'id' , 'name' , [ d .name for d in datasets ] )
1180+ dataset_ids = self ._mysql .select_many ('datasets' , 'id' , 'name' , ( d .name for d in datasets ) )
11831181
1184- self ._mysql .delete_in ('dataset_replicas' , 'dataset_id' , dataset_ids , additional_conditions = ['site_id = %d' % site_id ])
1182+ self ._mysql .delete_many ('dataset_replicas' , 'dataset_id' , dataset_ids , additional_conditions = ['site_id = %d' % site_id ])
11851183
11861184 if delete_blockreplicas :
11871185 ids_str = ',' .join (['%d' % i for i in dataset_ids ])
0 commit comments