If you execute an SQL statement in automagic mode, then BEGIN and COMMIT are magically wrapped around the statement -- you are absolutely correct and that is the purpose of the magic mode. Therefore doing:
BEGIN; INSERT ... COMMIT; is EXACTLY IDENTICAL to INSERT .... with full automagic engaged. The only difference ... tada ... is that you get to see the processing associated with performing the magic, which was previously obscured from your view (or rather, was plainly obvious but you could not distinguish the processing caused by the magic and the processing caused by your INSERT ... statement). I believe Simon's point is that if you use "Manual Magic" then you can see the processing associated with that magic, compared to full on automagic, where the actions contain such an intermix of magically initiated operations and explicitly initiation operations that a primitive observer is unable to tell which part is caused by the magic and which part is not. As Captain Pickard would point out, it explains the magic to a primitive culture that has never seen a door before. > -----Original Message----- > From: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users- > bounces at mailinglists.sqlite.org] On Behalf Of Domingo Alvarez Duarte > Sent: Tuesday, 8 December, 2015 03:17 > To: SQLite mailing list > Subject: Re: [sqlite] NOP INSERT still writes to the DB/journal > > If I understood correctly when no transaction is specified an implicit > transaction is created so there is no point to create a transaction for > only > one statement. > > Cheers ! > > Tue Dec 08 2015 5:51:35 am CET CET from "Simon Slavin" > ><slavins at bigfraud.org> Subject: Re: [sqlite] NOP INSERT still writes to > the > >DB/journal > > > > On 8 Dec 2015, at 12:19am, Patrick Donnelly <batrick at batbytes.com> > wrote: > > > > > >>There are still writes: > >> > > > Because you have not defined any transactions, each of your INSERT > >commands it getting wrapped in its own transaction. A transaction has to > >involve writes to disk. > > > > Try this ... > > > > BEGIN > > INSERT INTO t1 ... > > END > > > > See whether the INSERT command still involves as much writing. > > > > Simon. > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users at mailinglists.sqlite.org > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > > > > > > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users