[patch][fix] Fixed drop ship status and tax rule patch
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index f522b18..ac5e5ca 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -237,5 +237,5 @@
 erpnext.patches.v6_10.fix_jv_total_amount #2015-11-30
 erpnext.patches.v6_10.email_digest_default_quote
 erpnext.patches.v6_10.fix_billed_amount_in_drop_ship_po
-erpnext.patches.v6_10.fix_delivery_status_of_drop_ship_item
+erpnext.patches.v6_10.fix_delivery_status_of_drop_ship_item #2015-12-08
 erpnext.patches.v5_8.tax_rule #2015-12-08
diff --git a/erpnext/patches/v5_8/tax_rule.py b/erpnext/patches/v5_8/tax_rule.py
index 4a62501..8da28ba 100644
--- a/erpnext/patches/v5_8/tax_rule.py
+++ b/erpnext/patches/v5_8/tax_rule.py
@@ -11,7 +11,7 @@
 		ifnull(default_taxes_and_charges, '') != '' """, as_dict=1)
 
 	for d in customers:
-		if not frappe.db.exists({"doctype": "Tax Rule", "customer": d.name}):
+		if not frappe.db.sql("select name from `tabTax Rule` where customer=%s", d.name):
 			tr = frappe.new_doc("Tax Rule")
 			tr.tax_type = "Sales"
 			tr.customer = d.name
@@ -23,7 +23,7 @@
 		ifnull(default_taxes_and_charges, '') != '' """, as_dict=1)
 
 	for d in suppliers:
-		if not frappe.db.exists({"doctype": "Tax Rule", "supplier": d.name}):
+		if not frappe.db.sql("select name from `tabTax Rule` where supplier=%s", d.name):
 			tr = frappe.new_doc("Tax Rule")
 			tr.tax_type = "Purchase"
 			tr.supplier = d.name
diff --git a/erpnext/patches/v6_10/fix_delivery_status_of_drop_ship_item.py b/erpnext/patches/v6_10/fix_delivery_status_of_drop_ship_item.py
index a54d0ab..23de9d0 100644
--- a/erpnext/patches/v6_10/fix_delivery_status_of_drop_ship_item.py
+++ b/erpnext/patches/v6_10/fix_delivery_status_of_drop_ship_item.py
@@ -2,16 +2,8 @@
 import frappe
 
 def execute():
-	sales_orders_to_update = []
-
-	for item in frappe.get_all("Purchase Order Item", filters={"delivered_by_supplier": 1}, 
-		fields=["prevdoc_doctype", "prevdoc_docname"]):
-		
-		if item.prevdoc_doctype == "Sales Order":
-			if item.prevdoc_docname not in sales_orders_to_update:
-				sales_orders_to_update.append(item.prevdoc_docname)
-
-	for so_name in sales_orders_to_update:
-		so = frappe.get_doc("Sales Order", so_name)
+	for so_name in frappe.db.sql("""select distinct parent from `tabSales Order Item`
+			where delivered_by_supplier=1 and docstatus=1"""):
+		so = frappe.get_doc("Sales Order", so_name[0])
 		so.update_delivery_status()
 		so.set_status(update=True, update_modified=False)
\ No newline at end of file