From d070f880e2267dc563b9c3ea37614b1c05438397 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 14 Sep 2016 15:36:25 +0530 Subject: [PATCH] Validate length of fieldname --- frappe/model/db_schema.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/model/db_schema.py b/frappe/model/db_schema.py index 3f62859487..8be6c7c3aa 100644 --- a/frappe/model/db_schema.py +++ b/frappe/model/db_schema.py @@ -102,6 +102,9 @@ class DbTable: columns += self.columns.values() for col in columns: + if len(col.fieldname) >= 64: + frappe.throw(_("Fieldname is limited to 64 characters")) + if col.fieldtype in type_map and type_map[col.fieldtype][0]=="varchar": # validate length range @@ -112,7 +115,7 @@ class DbTable: try: # check for truncation max_length = frappe.db.sql("""select max(char_length(`{fieldname}`)) from `tab{doctype}`"""\ - .format(fieldname=col.fieldname, doctype=self.doctype)) + .format(fieldname=col.fieldname, doctype=self.doctype), debug=1) except MySQLdb.OperationalError, e: if e.args[0]==1054: