I am running hibernate tests on SAP SYBASE ASE database currently. I am looking to get
advice on what the best solution is to these problems.I know some tests that could not be
run on ASE, have been skipped using SkipForDialect annotation in the past.The issues I am
listing are for the remaining tests.
1. Some tests like below create a "User" table, which is not allowed by ASE.
This can be fixed (thanks Brett Meyer) by adding @Table annotation and renaming the table
by adding and escaping double quotes as "\"User\"" and setting
'set quoted_identifier on' option on ASE. If this change makes into the source
code, would this impact testing of other databases?
org.hibernate.test.cache.CollectionCacheEvictionTest
2. Many tests like below create column names in smaller case but use names with uppercase
in the sql that's generated. These tests fail on ASE because of its default setting of
'case sensitive'. This is easily fixed by setting ASE to ignore 'case'
altogether. However I believe we need to be consistent with our naming conventions to
avoid such problems. org.hibernate.test.annotations.entity.BasicHibernateAnnotationsTest
----- CATEGORY column
3. Some tests like below use defaults for datetime columns as CURRENT_TIMESTAMP. This
needs to be replaced with getdate() for ASE. Is there a way, this can be made db
independent or dynamic?
org.hibernate.test.generated.DefaultGeneratedValueTest
The changes I make to source code to fix these issues on my machine would be overwritten
every time I refresh the code from repository. So, I was wondering if there is a solution
that resolves these issues for ASE but not impact testing on other databases.
Thanks
Mahesh