On Friday, 25 October, 2019 14:02, Peng Yu <pengyu...@gmail.com> 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
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to