[hibernate-issues] [Hibernate-JIRA] Created: (HHH-2662) Workaround PostgreSQL issues in testsuite

Steve Ebersole (JIRA) noreply at atlassian.com
Thu Jun 7 18:45:04 EDT 2007


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: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list