Steve Ebersole wrote, On 05/25/2007 04:27 PM (EEST):
1) I would guess that this because of temp tables. Hibernate allows
the
Dialect to say whether or not the database supports DDL statements
within a transaction. Sybase does not override this; the default is to
query the JDBC metadata to see whether DDL is allowed within
transactions (see links below). My guess is that Sybase simply does not
report this accurately based on whether this option you mention is set
or not set; it probably just blindly says "yeah, we support it...". We
can look at changing this behavior for Sybase. You can imagine where
this goes on the priority list ;)
I would think disabling 'ddl in tran' no matter what sybase reports as
they think it is not good to use it. System tables were locked using
that feature and blah blah...
Anyway I'm sure you know best what implications will that bring so I
just say what I know and you decide if it makes sense.
I actually think sybase neither ignores neither commits but just fails
the transaction. I actually haven't experienced it myself. It was Shelly
McGowan who reported the error so I might be wrong. As well it is a per
database option in sybase and could be set for the user databse but not
for the temporary database.
So it would be a good idea to be at least documented as an issue with
sybase.
On Fri, 2007-05-25 at 14:39 +0300, Aleksandar Kostadinov wrote:
> Looking at the latest hibernate cruisecontrol builds I see around 20
> sybase tests are passing because I've enabled "ddl in tran" option of
> tempdb database.
> It is not recommended by sybase to use DDL in transactions so I think it
> should be good to avoid it in future hibernate releases if possible.
>
> Regadrs,
> Aleksandar