classification
Title: pysqlite: Evaluate removal of sqlite3_stmt_readonly
Type: enhancement Stage: resolved
Components: Extension Modules Versions:
process
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: Nosy List: berker.peksag, malin, palaviv, phantal, r.david.murray, xiang.zhang
Priority: normal Keywords:

Created on 2017-01-19 16:30 by phantal, last changed 2017-01-23 13:38 by malin. This issue is now closed.

Messages (7)
msg285804 - (view) Author: Brian Vandenberg (phantal) Date: 2017-01-19 16:30
I'm not sure where to request changes to pysqlite, so my apologies if this isn't the right place.

To begin with: I'll either end up building a newer version of sqlite myself or just accepting that pysqlite won't be part of this python installation.  However, I thought it might be useful to know that use of the function "sqlite3_stmt_readonly" is the only thing tying pysqlite to the current minimum requirement to use sqlite 3.7.4.

The currently available 'supported' version of sqlite for RHEL6 is 3.6.x and there's likely others out there who (for whatever reason) are stuck on an older release of sqlite and moving to the latest & greatest OS isn't [currently] feasible.
msg285872 - (view) Author: Xiang Zhang (xiang.zhang) * (Python committer) Date: 2017-01-20 03:42
pysqlite is not part of Python stdlib so here is not the right place. :-(
Maybe you could go to https://github.com/ghaering/pysqlite for help.
msg285874 - (view) Author: Ma Lin (malin) * Date: 2017-01-20 04:35
sqlite3 module in CPython 3.6.0 also uses sqlite3_stmt_readonly(). see 284676cf2ac8.
sqlite3_stmt_readonly() was used twice [1][2], but it seems that we can avoid using this function in both of them.

[1] https://hg.python.org/cpython/file/3.6/Modules/_sqlite/cursor.c#l517
In palaviv's patch of issue28518, we can eliminate sqlite3_stmt_readonly() in here.

[2] https://hg.python.org/cpython/file/3.6/Modules/_sqlite/cursor.c#l612
We can using the old way, so that we can get around it in here.
msg285875 - (view) Author: Xiang Zhang (xiang.zhang) * (Python committer) Date: 2017-01-20 04:45
Hi Ma Lin. If you find this is also a problem in sqlite3 module, feel free to open another issue against sqlite3. :-)
msg285876 - (view) Author: Ma Lin (malin) * Date: 2017-01-20 05:13
RHEL6's life-cycle is around 10 years [1], it will be alive until 2020.
https://access.redhat.com/support/policy/updates/errata/

Let's wait issue28518, IMO, that issue will decide whether we can get around sqlite3_stmt_readonly().
msg285907 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2017-01-20 13:11
Python ships with RH6, and includes a working sqlite3 module.  So if you are restricting yourself to software directly supported by RH6, you are fine.  If you are installing python3.6 on your rh6 box, then you can also install a more up to date sqlite in order to get it to compile the sqlite3 module.  So I don't see any actionable issue because of RH6 here, either for us or for pysqlite.  The other issue is a different story, of course.
msg286086 - (view) Author: Ma Lin (malin) * Date: 2017-01-23 13:38
Just remind, there is a chance to remove sqlite3_stmt_readonly(). :)
History
Date User Action Args
2017-01-23 13:38:28malinsetnosy: + berker.peksag, palaviv
messages: + msg286086
2017-01-20 13:11:29r.david.murraysetnosy: + r.david.murray
messages: + msg285907
2017-01-20 05:13:38malinsetmessages: + msg285876
2017-01-20 04:45:42xiang.zhangsetmessages: + msg285875
2017-01-20 04:35:55malinsetnosy: + malin
messages: + msg285874
2017-01-20 03:42:24xiang.zhangsetstatus: open -> closed

nosy: + xiang.zhang
messages: + msg285872

resolution: third party
stage: resolved
2017-01-19 16:30:50phantalcreate