On Thu, Jul 12, 2012 at 03:05:39PM +0200, OBones scratched on the wall: > Hello again. > > Does anyone have any suggestion here?
There is a footnote in "Using SQLite" (Chapter 10: "Virtual Tables and Modules," p242) on this. The text is: If you do need to support your own transactions, it is important to keep the program flow in mind. xBegin() will always be the first function called.** Typically, there will be calls to xUpdate() followed by a two-step sequence of calls to xSync() and xCommit(). [...] ** In theory. Currently, calls are made directly to xSync() and xCommit()following the call to xCreate(). It isn't clear if this is considered a bug or not, so this behavior may change in future versions of SQLite. "Using SQLite" was written before 3.7 was released, so this isn't a new thing. Overall, I'd call this a documentation bug, as the behavior makes sense to me. The system can't call xBegin() before xCreate(), yet creating the table is likely to be a transaction-based operation (just like xUpdate()). Calling xBegin() after doesn't make sense either. I'd try to work around it in a way that will still work correctly if it is changed. A simple "in transaction" flag would allow these calls to short-cut out. "Using SQLite": http://shop.oreilly.com/product/9780596521196.do -j > >I'm pushing my experiment with virtual tables a bit further by > >trying out the transaction functions. > >As a result, I gave values for the xBegin, xSync, xCommit and > >xRollback members of my sqlite3_module structure. > >Then after having registered the module, I sent those two statements: > > > >CREATE VIRTUAL TABLE SomeTable USING test(a INTEGER); > >INSERT INTO SomeTable VALUES (50); > > > >via appropriate calls to sqlite3_exec > >However, this fails quite badly because the xSync function is > >called outside any transaction that would have been started by a > >call to xBegin. > >Basically, xBegin is never called in my simple test, despite the > >documentation saying that this should not happen. > > > >What have I done wrong here? > > > >Any suggestion is most welcome > > > >Regards > >Olivier > >_______________________________________________ > >sqlite-users mailing list > >sqlite-users@sqlite.org > >http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- Jay A. Kreibich < J A Y @ K R E I B I.C H > "Intelligence is like underwear: it is important that you have it, but showing it to the wrong people has the tendency to make them feel uncomfortable." -- Angela Johnson _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users