Skip to content

Commit 46a7b83

Browse files
committed
reset changes to age_rules.py and graph_traversers.py
1 parent c1cdb81 commit 46a7b83

File tree

2 files changed

+7
-36
lines changed

2 files changed

+7
-36
lines changed

src/aiida/tools/graph/age_rules.py

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -221,30 +221,10 @@ def _load_results(self, target_set, operational_set):
221221
target_set.empty()
222222

223223
if primkeys:
224-
primkeys_list = list(primkeys)
225-
batch_size = 10000 # Stay well under 65535 parameter limit
226-
227-
# If we have fewer keys than the batch size, use the original approach
228-
if len(primkeys_list) <= batch_size:
229-
self._querybuilder.add_filter(
230-
self._first_tag, {operational_set[self._entity_from].identifier: {'in': primkeys}}
231-
)
232-
qres = self._querybuilder.dict()
233-
else:
234-
# Batch the queries for large datasets
235-
all_results = []
236-
for i in range(0, len(primkeys_list), batch_size):
237-
batch_primkeys = primkeys_list[i:i + batch_size]
238-
239-
# Use deepcopy only when we need to batch
240-
batch_qb = deepcopy(self._querybuilder)
241-
batch_qb.add_filter(
242-
self._first_tag, {operational_set[self._entity_from].identifier: {'in': batch_primkeys}}
243-
)
244-
batch_results = batch_qb.dict()
245-
all_results.extend(batch_results)
246-
247-
qres = all_results
224+
self._querybuilder.add_filter(
225+
self._first_tag, {operational_set[self._entity_from].identifier: {'in': primkeys}}
226+
)
227+
qres = self._querybuilder.dict()
248228

249229
# These are the new results returned by the query
250230
target_set[self._entity_to].add_entities(

src/aiida/tools/graph/graph_traversers.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -240,17 +240,9 @@ def traverse_graph(
240240
return {'nodes': set(), 'links': set()}
241241
return {'nodes': set(), 'links': None}
242242

243-
# Batch the query to avoid parameter limits
244-
existing_pks = set()
245-
operational_list = list(operational_set)
246-
batch_size = 10000 # Stay well under 65535 parameter limit
247-
248-
for i in range(0, len(operational_list), batch_size):
249-
batch_ids = operational_list[i:i + batch_size]
250-
query_nodes = orm.QueryBuilder(backend=backend)
251-
query_nodes.append(orm.Node, project=['id'], filters={'id': {'in': batch_ids}})
252-
existing_pks.update(query_nodes.all(flat=True))
253-
243+
query_nodes = orm.QueryBuilder(backend=backend)
244+
query_nodes.append(orm.Node, project=['id'], filters={'id': {'in': operational_set}})
245+
existing_pks = set(query_nodes.all(flat=True))
254246
missing_pks = operational_set.difference(existing_pks)
255247
if missing_pks and missing_callback is None:
256248
raise exceptions.NotExistent(
@@ -302,4 +294,3 @@ def traverse_graph(
302294
output['links'] = results['nodes_nodes'].keyset
303295

304296
return output
305-

0 commit comments

Comments
 (0)