Sorry, something went wrong.
|
@animalize, would you like to review this? |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @erlend-aasland for commit e82adb8 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
|
Before this change, this code prints-1. import sqlite3
cursor = sqlite3.connect(":memory:", isolation_level=None).cursor()
cursor.execute("""CREATE TABLE foo (id INTEGER)""")
values = ((1,), (2,), (3,))
cursor.executemany("""INSERT INTO foo (id) VALUES (?)""", values)
cursor.execute("vacuum")
print(cursor.rowcount)
|
Sorry, something went wrong.
|
After this change, it prints 1, it seems wrong. It seems wrong is a bit vague. Would you mind to elaborate? Actually, this will be fixed by #93520 (which currently also encompasses this change), so it does not matter. IMO, trying to parse comments is fragile approach, and I would not recommend such a solution. |
Sorry, something went wrong.
|
It seems wrong is a bit vague. Would you mind to elaborate? In .rowcount doc: As required by the Python DB API Spec, the rowcount attribute “is -1 in case no executeXX() has been performed on the cursor or the rowcount of the last operation is not determinable by the interface”. IMHO, using sqlite3_stmt_readonly() to detect statement type is unreliable. It return false when the database may be modified, this may include some irrelevant statements, then give a suprise in some cases, for example: |
Sorry, something went wrong.
|
IMO, trying to parse comments is fragile approach, and I would not recommend such a solution. Yes, but IMO this is the most reliable way. |
Sorry, something went wrong.
|
It return false when the database may be modified, this may include some irrelevant statements, then give a suprise in some cases, for example: I don't think that is a valid comparison. We're not talking about transaction control here; just setting .rowcount or not. IMO, this is the best way. I don't see any problems with DB API here. |
Sorry, something went wrong.
|
On hold till #93421 is resolved. |
Sorry, something went wrong.
Resolves #79579