Re: Why Oracle does not allow rollback of DDL statements?
Date: Mon, 10 Nov 2008 20:51:46 -0600
> That's the first I hear about that. Can you point to any docs explaining
> the behavior you imply? I'm also told that SQL Server (like DB2) has
> transactional DDL. Even TRUNCATE table is transactional.
Transactional TRUNCATE? Why not use DELETE?
> Oracle has to deal with that today!
> No matter how you call it the CREATE statement still needs to be ATMIC.
> And atomic implies that there is a statement level savepoint. If any of
> the work against the db schema fails for any reason teh DDL statement
> needs to be rolled back.
Why do you think the "CREATE statement" is not "ATMIC"? Have you ever seen a partially created table? I haven't.
> And that CREATE INDEX statement must not be permitted until the CREATE
> TABLE statement successfully COMPLETEs.
> What if someone else tries to create a table with the same name? If
> someone else drops the original table conflicting with the table I'm
> trying to create.
Correct, you cannot create an index on a table that does not exist.
> Obviously the table also cannot be used by anyone until that commit
> Call it a lock or call it a latch, doesn't matter.
Yes, you cannot use a table that is not yet created. Sorry I am not seeing what the issue is here.
> Oracle has to sort out timing today. The only difference is that it has a
> statement level view on things rather than a transaction level view.
What? Now you really lost me. Received on Mon Nov 10 2008 - 20:51:46 CST