Yes Campbell,  the enhancement you suggest is being implemented for 1.8.0

Fred

----- Original Message ----- 
From: "Lorna Burnet" <[EMAIL PROTECTED]>
To: <hsqldb-developers@lists.sourceforge.net>
Sent: 12 March 2005 22:24
Subject: Re: [Hsqldb-developers] Transaction Commit


It happens because in hsqlsb, currently, data definition language execution 
is not "transactional"

That is, you cannot roll back table creation, etc.

So, if you issue ddl in the middle of a transaction, this is equivalent to 
an implicit commit.

The same is true of many DBMS, including Oracle, MS SQL Server, etc.  I 
can't say off the top of my head, but I'd bet the farm that the same applies 
to Postgresql, MySQL, etc.  In fact, I think you'd have to really search 
carefully to find the small handfull of systems that actually support ddl 
operations as undoable transaction items.


Where HSQLDB really needs work regarding ddl is not to support undoable 
itms, but rather to support cross-session ddl locks.  For instance, try 
updating a table inside a transaction in one session, then drop the table 
inside another session, and then roll back the first session.  Likely, 
you'll get a "table not found" exception in the first transaction, whereas 
IMO it would probably be better to raise an exception in the second session, 
stating that one cannot drop or alter the table, because it is in use by 
another session.
----- Original Message -----
From: Irum Godil <[EMAIL PROTECTED]>
Date: Friday, March 11, 2005 11:06 pm
Subject: [Hsqldb-developers] Transaction Commit

>
> Hi,
> I am going through the Hsql Database code, and I noticed that in
> the class DatabaseCommandInterpreter the call to Session.commit is
> happening in a few places. One such example is in method:
>
> private void processCreateTable(int type) throws HsqlException {...}
>
> I see that if I have created a table, done some transactions on the
> table, and now create a new table; then all the transactions made
> on the first table are committed by call to function:
>
> Session.Commit( )
>
> I do not understand why is this being done. If I have turned
> AutoCommit to false, then I do not want any commits to happen until
> I explicitly call commit( ) right? So, if some transactions are
> being committed, then is not that wrong. How is atomicity of
> transactions preserved in such a case?
>
> Thanks.
>
>
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Small Business - Try our new resources site!



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
hsqldb-developers mailing list
hsqldb-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hsqldb-developers 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
hsqldb-developers mailing list
hsqldb-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hsqldb-developers

Reply via email to