Subject | Question from discussion on OSNews |
---|---|
Author | Bernard Devlin |
Post date | 2004-02-09T17:15:51Z |
There's been a little discussion about Firebird over on the OSNews
forum, and this question came up:
its MVCC support? For example, in PostgreSQL, I can start a
transaction and issue ALTER TABLE and DROP TABLE commands. Only that
transaction will see those changes - other transactions continue
normally. I know MySQL can't do this. Can Firebird?
<<
I started to look into this in order to provide an answer to this
question, but I'm not really sure how to interpret what I am seeing.
I have two sessions in isql:
- set the transaction isolation level of SessionA to 'snapshot';
- set the autoddl of SessionB off and alter the table definition in
SessionB;
- SessionA hangs waiting for a commit or rollback from SessionB;
- Once that commit has taken place, then sessionA can see the altered
table.
Is this correct behaviour? Is there anything else I can point out
with regard to this question?
Thanks, Bernard
forum, and this question came up:
>>I have a question for the Firebird users out there: How thorough is
its MVCC support? For example, in PostgreSQL, I can start a
transaction and issue ALTER TABLE and DROP TABLE commands. Only that
transaction will see those changes - other transactions continue
normally. I know MySQL can't do this. Can Firebird?
<<
I started to look into this in order to provide an answer to this
question, but I'm not really sure how to interpret what I am seeing.
I have two sessions in isql:
- set the transaction isolation level of SessionA to 'snapshot';
- set the autoddl of SessionB off and alter the table definition in
SessionB;
- SessionA hangs waiting for a commit or rollback from SessionB;
- Once that commit has taken place, then sessionA can see the altered
table.
Is this correct behaviour? Is there anything else I can point out
with regard to this question?
Thanks, Bernard