﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
2119	[patch] get_sql_initial_data_for_model can't handle quoted quotes	eaw@…	Adrian Holovaty	"The RE in get_sql_initial_data_model can't parse data of the form 'Susan O\'Brien' properly (it ends up generating invalid SQL), so I've taken the approach of simply splitting the initial data into separate SQL statements where "";[ \t]*$"" occurs (i.e. a ; at the end of line). [This definition of a statement probably needs to be documented.] Here is the svn diff of the change:

{{{
Index: management.py
===================================================================
--- management.py       (revision 3110)
+++ management.py       (working copy)
@@ -341,10 +341,14 @@
     # Find custom SQL, if it's available.
     sql_files = [os.path.join(app_dir, ""%s.%s.sql"" % (opts.object_name.lower(), settings.DATABASE_ENGINE)),
                  os.path.join(app_dir, ""%s.sql"" % opts.object_name.lower())]
+
+    statements = re.compile("";[ \t]*$"", re.M)
     for sql_file in sql_files:
         if os.path.exists(sql_file):
             fp = open(sql_file)
-            output.extend(sql_expr.findall(fp.read()))
+            for statement in statements.split(fp.read()):
+                if statement.strip():
+                    output.append(statement+"";"")
             fp.close()
 
     return output
}}}"	defect	new	Core (Management commands)		normal				Unreviewed	1	0	0	0	0	0
