"Igor Sereda" <[EMAIL PROTECTED]> wrote: > I noticed that CREATE TABLE works well within a transaction, which was a > pleasant surprise. I can create a table and insert some rows in it, all > quite ACIDly - wow! > > My question is, is that a declared contract or just a peculiarity that > may disappear in future versions?
It has always been our intent that DDL statements should be transactional. Though, my natural reaction to questions such as you pose is to be non-committal so as to keep my options open. Let's just say that DDL statements in SQLite have always been transactional (from 2.0.0 onward) and we have no plans to change this. > I couldn't find any specs of that > behavior in documentation. If I missed it, please point me to the URL. = > If there are no mentions of that in docs, well, it's probably worth = > mentioning. > > Also, which statements are not transactional? VACUUM is obviously one of = > them, are there any other? > ATTACH. We have thought about changing ATTACH so that you can do it within a transaction. But then we would probably have to DETACH if you rolled back and we didn't want to do that. So for now, you have to do all of your ATTACHing and DETACHing outside of transactions. Nothing else jumps to mind. -- D. Richard Hipp <[EMAIL PROTECTED]> ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------