-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
sqlite3 trace callback prints duplicate line #70375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I am running the following script: ------------------------------------------ >>> import sqlite3
>>> import os
>>> import time
>>> con1 = sqlite3.connect("/tmp/test.db")
>>> con2 = sqlite3.connect("/tmp/test.db")
>>> con1.set_trace_callback(print)
>>> cur = con1.cursor()
>>> cur.execute("create table test(a)")
create table test(a)
<sqlite3.Cursor object at 0x7fb488ddf260>
>>> con2.execute("create table test2(a)")
<sqlite3.Cursor object at 0x7fb488ddf2d0>
>>> cur.execute("insert into test(a) values(1)")
BEGIN
insert into test(a) values(1)
insert into test(a) values(1)
<sqlite3.Cursor object at 0x7fb488ddf260>
>>> for a in con1.execute("select * from test"):
... print("result:", a)
...
select * from test
result: (1,) As you can see i get duplicate traceback print of the "insert into test(a) values(1)" line. The duplicate print has no effect on the actual db. I have tested this both on python 3.4.3 and 3.6.0a0 on ubuntu14.04 |
This issue will be resolved when we change the sqlite3_prepare to sqlite3_prepare_v2. So there should be a dependency on bpo-9303. |
It would be nice to add a test case to cpython/Lib/sqlite3/test/hooks.py Line 204 in 86a6705
|
I can work on this. |
Thanks, Anish and Aviv! |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: