Here’s an interesting question raised by Uwe Hesse: “if you drop a table when someone else is querying it, what happens to their query?”
It’s an interesting demonstration of how many features you have to consider before you reach a conclusion – and while you may start by assuming that the question is irrelevant to a production system, when you think a little more carefully that’s not necessarily the case.
Often I’ve tried to imagine how a 24/24h system can do such things.
Well, you can stop the service for a moment…but what if that moment means millions of euros?
It would be great to have transactional DDL!
Bye,
Antonio
Comment by lascoltodelvenerdi — November 25, 2009 @ 3:44 pm GMT Nov 25,2009 |
It would be great to have transactional DDL!
… like DB2 :-)
Comment by Connor McDonald — November 26, 2009 @ 2:38 am GMT Nov 26,2009 |
I remember transaction DDL in Ingres around 15-20 years ago.
It came as quite a shock when I found Oracle committed after creating a ‘temporary’ table. Once I learnt I didn’t need all the temporary tables (because the concurrency mechanism was better), it wasn’t an issue.
Comment by Gary — November 26, 2009 @ 4:46 am GMT Nov 26,2009 |
> … like DB2
… or like PostgreSQL :)
Comment by Hans — November 26, 2009 @ 7:53 am GMT Nov 26,2009 |
On an 11G R1.1.0.6.0 test system I get the following error on the querying session:-
ORA-08103: object no longer exists.
Comment by Tony Sleight — November 26, 2009 @ 1:37 pm GMT Nov 26,2009 |
From the first extent without any exceptions:
Comment by Valentin Nikotin — March 7, 2012 @ 7:35 pm GMT Mar 7,2012 |