fix(set_purchase_receipt_delivery_note_detail): commit after every 100 sql updates (#22016)

diff --git a/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py b/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py
index 6f843cd..52c9a2d 100644
--- a/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py
+++ b/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py
@@ -64,11 +64,13 @@
 
 		return_document_map = make_return_document_map(doctype, return_document_map)
 
+		count = 0
+
 		#iterate through original documents and its return documents
 		for docname in return_document_map:
-			doc_items = frappe.get_doc(doctype, docname).get("items")
+			doc_items = frappe.get_cached_doc(doctype, docname).get("items")
 			for return_doc in return_document_map[docname]:
-				return_doc_items = frappe.get_doc(doctype, return_doc).get("items")
+				return_doc_items = frappe.get_cached_doc(doctype, return_doc).get("items")
 
 				#iterate through return document items and original document items for mapping
 				for return_item in return_doc_items:
@@ -80,9 +82,11 @@
 						else:
 							continue
 
+			# commit after every 100 sql updates
+			count += 1
+			if count%100 == 0:
+				frappe.db.commit()
+
 	set_document_detail_in_return_document("Purchase Receipt")
 	set_document_detail_in_return_document("Delivery Note")
 	frappe.db.commit()
-
-
-