"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]
-----------------------------------------------------------------------------

Reply via email to