[Python-checkins] bpo-32215: Fix performance regression in sqlite3 (GH-8511)

Berker Peksag webhook-mailer at python.org
Thu Sep 20 11:57:01 EDT 2018


https://github.com/python/cpython/commit/015cd0f5cb17b1b208a92e549cd665dc38f2f699
commit: 015cd0f5cb17b1b208a92e549cd665dc38f2f699
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: Berker Peksag <berker.peksag at gmail.com>
date: 2018-09-20T18:56:56+03:00
summary:

bpo-32215: Fix performance regression in sqlite3 (GH-8511)

(cherry picked from commit 8d1e190fc507a9e304f6817e761e9f628a23cbd8)

Co-authored-by: Berker Peksag <berker.peksag at gmail.com>

files:
A Misc/NEWS.d/next/Library/2018-07-28-12-08-53.bpo-32215.EU68SY.rst
M 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
index 000000000000..c097cf7310df
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2018-07-28-12-08-53.bpo-32215.EU68SY.rst
@@ -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.
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 38690884227e..78033d8efcae 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -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;
     }
 



More information about the Python-checkins mailing list