Issue 13099: Sqlite3 & turkish locale (original) (raw)
Created on 2011-10-04 10:46 by takluyver, last changed 2022-04-11 14:57 by admin. This issue is now closed.
Messages (7) | ||
---|---|---|
msg144873 - (view) | Author: Thomas Kluyver (takluyver) * | Date: 2011-10-04 10:46 |
When using sqlite3 with the Turkish locale, cursor.lastrowid is not accessible after an insert statement if "INSERT" is upper case. I believe that the cause is that the detect_statement_kind function [1] calls the locale-dependent C function tolower(). The Turkish locale specifies a different case mapping for I (to a dotless lowercase i: ı), so it's not recognised as an insert statement, which looks like it will cause the transaction to be committed immediately. See also the discussion on issue 1813 [2], and a Redhat bug with a test case for this [3]. [1] http://hg.python.org/cpython/file/c4b6d9312da1/Modules/_sqlite/cursor.c#l41 [2] http://bugs.python.org/issue1813 [3] https://bugzilla.redhat.com/show_bug.cgi?id=720209 | ||
msg144877 - (view) | Author: Thomas Kluyver (takluyver) * | Date: 2011-10-04 11:32 |
What form does the test need to be in? There's a script at the redhat bug I linked that demonstrates the issue. Do I need to turn it into a function? A patch for the existing test suite? | ||
msg144880 - (view) | Author: Ezio Melotti (ezio.melotti) * ![]() |
Date: 2011-10-04 11:40 |
A patch against Lib/sqlite3/test/regression.py would be nice. | ||
msg144881 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2011-10-04 11:41 |
New changeset 469555867244 by Antoine Pitrou in branch '3.2': Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale. http://hg.python.org/cpython/rev/469555867244 New changeset 652e2dacbf4b by Antoine Pitrou in branch 'default': Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale. http://hg.python.org/cpython/rev/652e2dacbf4b New changeset 89713606b654 by Antoine Pitrou in branch '2.7': Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale. http://hg.python.org/cpython/rev/89713606b654 | ||
msg144882 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2011-10-04 11:42 |
Fixed, thank you. | ||
msg144883 - (view) | Author: Thomas Kluyver (takluyver) * | Date: 2011-10-04 11:45 |
Thanks, Antoine. Should I still try to write a regression test for it? | ||
msg144884 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2011-10-04 11:56 |
> Thanks, Antoine. Should I still try to write a regression test for it? I've had issues writing regression tests for other Turkish locale-related failures (namely, there are other bugs in some glibcs that could cause the test to fail anyway). I'm not sure it's worth it here. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:57:22 | admin | set | github: 57308 |
2011-10-04 11:56:04 | pitrou | set | messages: + |
2011-10-04 11:45:19 | takluyver | set | messages: + |
2011-10-04 11:42:17 | pitrou | set | status: open -> closedversions: + Python 3.3nosy: + pitroumessages: + resolution: fixedstage: test needed -> resolved |
2011-10-04 11:41:45 | python-dev | set | nosy: + python-devmessages: + |
2011-10-04 11:40:53 | ezio.melotti | set | messages: + |
2011-10-04 11:32:50 | takluyver | set | type: behavior -> messages: + |
2011-10-04 11:19:33 | ezio.melotti | set | nosy: + ezio.melottitype: behaviorstage: test needed |
2011-10-04 10:46:39 | takluyver | create |