Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 329773

Summary: MaxDB doesn't allow temporary tables to be used within XA transactions
Product: z_Archived Reporter: Sabine Heider <sabine.heider>
Component: EclipselinkAssignee: Nobody - feel free to take it <nobody>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: adrian.goerler, eclipselink.foundation-inbox
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Whiteboard: maxdb simple_fix
Bug Depends on:    
Bug Blocks: 284657    
Attachments:
Description Flags
Patch adding a comment to the MaxDB platform that XA must not be used
none
Patch adding a comment to the MaxDB platform that XA must not be used none

Description Sabine Heider CLA 2010-11-09 07:24:01 EST
According to an internal MaxDB document, the following restrictions apply when using XA:

- Association migration isn’t supported by SAP DB (optional feature by XA specification) 
Means: A suspended branch association may not be resumed in another branch. The RM can’t provide retained transaction context (for example, cursors), if resumed within another branch.
- Asynchronous XA calls aren’t supported (optional feature by XA specification)
- Dynamic registration isn’t supported (optional feature by XA specification)

SQL Restrictions:
- Don’t use COMMIT WORK or ROLLBACK WORK within global transactions. You may use these commands within the default local connection.
Therefore you can’t use DDL when using Oracle mode for global transactions.
- TEMP tables can’t be used within global transactions.


The MaxDB platform (org.eclipse.persistence.platform.database.MaxDBPlatform) enables the use of temporary tables. As a consequence, this platform must not be used with XA transactions. The corresponding Wiki page and the class comment should be updated to contain this limitation.
Comment 1 Sabine Heider CLA 2010-11-09 07:33:49 EST
Created attachment 182702 [details]
Patch adding a comment to the MaxDB platform that XA must not be used

Don't know why the patch contains more changes - seems to be different white space...
Comment 2 Sabine Heider CLA 2010-11-09 07:40:10 EST
Created attachment 182703 [details]
Patch adding a comment to the MaxDB platform that XA must not be used
Comment 3 Sabine Heider CLA 2010-11-09 07:42:22 EST
Wiki page http://wiki.eclipse.org/EclipseLink/Development/DatabasePlatform/MaxDBPlatform also updated.
Comment 4 Sabine Heider CLA 2010-11-09 07:45:38 EST
Up to MaxDB kernel version 7.9.06 build 003-123-238-501, the attempt to use temporary tables within an XA transaction results in a database shutdown. An SAP internal bug (3618929 2010) has been filed to have this behavior changed and get a proper exception instead.
Comment 5 Adrian Goerler CLA 2010-11-09 12:00:12 EST
Checked in at 8482 as simple_fix
Comment 6 Sabine Heider CLA 2010-11-17 04:03:05 EST
MaxDB has changed their behavior such that an exception is thrown if temporary tables are used with XA transactions. See the following information from the SAP internal bug 3618929 2010 (bug resolved):

--- BEGIN QUOTE ---
Now the following error will be delivered, if a XA transaction tries to   
use TEMP tables:                                                          
***ERROR  -7063 Temp table not allowed                                    
                                                                          
Statement rollback ensures, that no changes are applied to the data !     
                                                                          
No crash will happen when trying to use this "not supported" feature.     
                                                                          
Releases, with patch included:                                            
SAPDB 78.01.18, 78.02.16, 79.08.00 and higher.                            
--- END QUOTE ---
Comment 7 Eclipse Webmaster CLA 2022-06-09 10:31:23 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink