diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py index 77482dc8b0..dc3a785a37 100644 --- a/frappe/core/doctype/doctype/doctype.py +++ b/frappe/core/doctype/doctype/doctype.py @@ -362,19 +362,7 @@ class DocType(Document): continue # Invalid expression link_df = new_meta.get_field(link_fieldname) - if frappe.db.db_type == "postgres": - update_query = """ - UPDATE `tab{doctype}` - SET `{fieldname}` = source.`{source_fieldname}` - FROM `tab{link_doctype}` as source - WHERE `{link_fieldname}` = source.name - """ - if df.not_nullable: - update_query += "AND `{fieldname}`=''" - else: - update_query += "AND ifnull(`{fieldname}`, '')=''" - - else: + if frappe.db.db_type == "mariadb": update_query = """ UPDATE `tab{doctype}` as target INNER JOIN `tab{link_doctype}` as source @@ -386,6 +374,18 @@ class DocType(Document): else: update_query += "WHERE ifnull(`target`.`{fieldname}`, '')=''" + else: + update_query = """ + UPDATE `tab{doctype}` + SET `{fieldname}` = source.`{source_fieldname}` + FROM `tab{link_doctype}` as source + WHERE `{link_fieldname}` = source.name + """ + if df.not_nullable: + update_query += "AND `{fieldname}`=''" + else: + update_query += "AND ifnull(`{fieldname}`, '')=''" + self.flags.update_fields_to_fetch_queries.append( update_query.format( link_doctype=link_df.options,