[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3685) Sybase - SchemaExport cannot create stored procedures in chained transaction mode
Gail Badner (JIRA)
noreply at atlassian.com
Tue Feb 3 23:03:38 EST 2009
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32299#action_32299 ]
Gail Badner commented on HHH-3685:
----------------------------------
A workaround has been added to the mapping file for org.hibernate.test.sql.hand.custom.sybase.SybaseCustomSQLTest in Branch_3_2_4_SP1_CP, Branch_3_2, Branch_3_3, and trunk.
The Branch_3_3 version of the mapping file is at https://svn.jboss.org/repos/hibernate/core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/sql/hand/custom/sybase/Mappings.hbm.xml . Search for the string "sp_procxmode" to find the workaround.
> Sybase - SchemaExport cannot create stored procedures in chained transaction mode
> ---------------------------------------------------------------------------------
>
> Key: HHH-3685
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3685
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Reporter: Gail Badner
>
> In order to create a Sybase stored procedure that can be executed in a transaction (not autocommit), either:
> 1) the stored procedure needs to be created in a transaction
> or 2) the system stored procedure, sp_procxmode, has to be called (sp_procxmode <stored-proc-name> 'chained')
> SchemaExport executes DDL using autocommit, so Sybase stored procedures created with SchemaExport cannot be used in a transaction.
> It is not possible to run SchemaExport with autocommit=false.
> This causes the unit tests for Sybase stored procedures to fail with a message like:
> "Stored procedure 'simpleScalar' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.'
> A workaround is to add a <database-object> tag containing the command to change the stored procedure to chained mode. This tag needs to follow the tag that defines the new stored procedure.
> For example, adding the following after the definition of paramHandling in the mapping for SybaseCustomSQLTest will change the paramHandling stored procedure so that it can be used in a transaction.
> <database-object>
> <create>
> sp_procxmode paramHandling, 'chained'
> </create>
> <drop/>
> </database-object>
--
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