On Friday, 25 October, 2019 14:02, Peng Yu <[email protected]> wrote:
>So basically an empty string in isolation_level is the same as
>"DEFERRED"? This is confusing. I think it should have been implemented
>so that the value of the isolation_level attribute is DEFERRED when it
>is not specified in .connect().
But that would not be dbapi compliant, and the whole point of the pysqlite2
(sqlite3) wrapper is that it is dbapi compliant. This means that the
"interface" is the same for a whole raft of things that are all different and
attempts to make them all work equally poorly.
The 'default' is an empty string ('') simply because that means "do the default
thing that the underlying implementation does, and we have absolutely no clue
nor do we care what that default is". In the PARTICULAR case of SQLite3 the
default is that "BEGIN TRANSACTION;" is the same as "BEGIN DEFERRED
TRANSACTION;". However, for HobblinGobblin7 the "BEGIN TRANSACTION;" is the
same as "BEGIN OBFUSCATED TRANSACTION;".
--
The fact that there's a Highway to Hell but only a Stairway to Heaven says a
lot about anticipated traffic volume.
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users