Subject What can safely be done to a database whilst others are doing DML?
Author Svein Erling Tysvær
At the Firebird conference last week, Dmitrij Kouzmenko said that he didn't recommend doing CREATE TABLE without exclusive access (at least that's how I understood it). Before talking to him, I generally avoided doing things like altering tables that users were using or adding/deleting foreign keys unless I was reasonably certain that I was the only user connected, but I've several times done CREATE TABLE without being aware of potential pitfalls. Since the conference, I've been thinking about what can safely be done and in what situations I should insist on getting exclusive access. I guess it is safe to add users since that is against the server and not any particular database, but what about GRANT/REVOKE, CREATE/DROP VIEW, ALTER INDEX INACTIVE etc? Are there any guidelines or is 'never mix DDL and DML' the generally accepted answer? It kind of feels silly to force every existing user to exit whenever a new user has to be given access to a table.

Set


[Non-text portions of this message have been removed]