]> granicus.if.org Git - python/commitdiff
bpo-32215: Fix performance regression in sqlite3 (GH-8511)
authorBerker Peksag <berker.peksag@gmail.com>
Thu, 20 Sep 2018 11:10:49 +0000 (14:10 +0300)
committerGitHub <noreply@github.com>
Thu, 20 Sep 2018 11:10:49 +0000 (14:10 +0300)
Misc/NEWS.d/next/Library/2018-07-28-12-08-53.bpo-32215.EU68SY.rst [new file with mode: 0644]
Modules/_sqlite/statement.c

diff --git a/Misc/NEWS.d/next/Library/2018-07-28-12-08-53.bpo-32215.EU68SY.rst b/Misc/NEWS.d/next/Library/2018-07-28-12-08-53.bpo-32215.EU68SY.rst
new file mode 100644 (file)
index 0000000..c097cf7
--- /dev/null
@@ -0,0 +1,2 @@
+Fix performance regression in :mod:`sqlite3` when a DML statement appeared
+in a different line than the rest of the SQL query.
index 38690884227e68a9b85ad11d83d869cd04870187..78033d8efcaed1714e619dabc68632335242d5b9 100644 (file)
@@ -85,10 +85,10 @@ int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* con
                 continue;
         }
 
-        self->is_dml = (PyOS_strnicmp(p, "insert ", 7) == 0)
-                    || (PyOS_strnicmp(p, "update ", 7) == 0)
-                    || (PyOS_strnicmp(p, "delete ", 7) == 0)
-                    || (PyOS_strnicmp(p, "replace ", 8) == 0);
+        self->is_dml = (PyOS_strnicmp(p, "insert", 6) == 0)
+                    || (PyOS_strnicmp(p, "update", 6) == 0)
+                    || (PyOS_strnicmp(p, "delete", 6) == 0)
+                    || (PyOS_strnicmp(p, "replace", 7) == 0);
         break;
     }