]
Steve Ebersole resolved HHH-2662.
---------------------------------
Resolution: Fixed
trunk / 3.2
Workaround PostgreSQL issues in testsuite
-----------------------------------------
Key: HHH-2662
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2662
Project: Hibernate3
Issue Type: Improvement
Components: testsuite
Environment: PostgreSQL
Reporter: Steve Ebersole
Assignee: Steve Ebersole
Fix For: 3.2.5, 3.3
Currently there are two specific issues with the Hibernate test suite running on
PostgreSQL which requires specific work-arounds. Note that both of these really are bugs
in the PostgreSQL driver/backend. But I'd like to not keep getting spammed from CC
builds because of this ;)
1) unspecified primitive char values. java initializes these as '\0'. For char
values mapped via CharacterType, we then take that and bind it to the PS as a string
(setString). The problem is that the PostgreSQL backend is all C, where '\0' has
special meaning (it used as the "string terminator" character). Anyway, the
driver/backend do not handle this value even though it is in fact a valid java character.
The workaround is to convert these to non-primitive java.lang.Character and set to null.
2) I dont even know how to categorize this one yet really. Its a strange issue in
regards to transaction state maintained by the driver/connection in autocommit scenarios.
This has an interesting manifestation in the Hibernate testsuite. Say I have two test
methods, testA and testB. testA executes first, followed by testB. testA is explicitly
checking some exception condition and is using auto-commit. So the test
"passes" (by the exception occurring and being caught/handled). The connection
is returned to the pool. Next testB starts, and it is using explicit transactions. It
fails. The reason for the failure is a driver error: [ERROR: current transaction is
aborted, commands ignored until end of transaction block]. The cause is because the
connection did not "clean itself up" after the last test. The work around here
is to use explicit transactions in testA...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: