Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Development/DatabasePlatform/HANAPlatform
Contents
Description
This is a subclass of DatabasePlatform that can be used by customers using the SAP HANA database.
Documentation
Detailed information on SAP HANA Appliance Software (which comprises SAP HANA Database) are found here:
http://help.sap.com/hana_appliance/
The HANA platform is configured in the persistence.xml by the following property:
<property name="eclipselink.target-database" value="HANA"/>
Limitations of the Platform
- Reserved SQL keywords cannot be used as table, column or sequence names. Use a different name, or enclose the name in double quotes. For example:
@Column(name="\"LANGUAGE\"")
- Pessimistic locking adds 'FOR UPDATE' to the SELECT statement, and cannot be used with queries that use DISTINCT.
- Pessimistic locking cannot be used with queries that select from multiple tables - see bug 384129
- The LockNoWait option of Pessimistic Locking cannot be used; it is ignored when specified (i.e. only 'FOR UPDATE' is added to the SELECT statement).
- Bulk update and delete operations that require multiple tables to be accessed cannot be used (e.g. bulk operation on an entity that is part of an inheritance hierarchy, UpdateAll and DeleteAll queries).
- '= NULL' and '<> NULL' cannot be used for null comparisons in the WHERE clause. Use 'IS (NOT) NULL' instead.
- Scrollable cursors are not supported - see bug 384116.
- Query timeouts are not supported - see bug 384135.
Location
The HANA platform class org.eclipse.persistence.platform.database.HANAPlatform is contained in the main eclipselink.jar file and the org.eclipse.persistence.core bundle starting with EclipseLink release 2.5.0.
Git repository: http://git.eclipse.org/gitroot/eclipselink/eclipselink.runtime.git
Web access directly to the HANAPlatform: http://git.eclipse.org/c/eclipselink/eclipselink.runtime.git/tree/foundation/org.eclipse.persistence.core/src/org/eclipse/persistence/platform/database/HANAPlatform.java
Level of Testing
2.6.0 - 31. March 2014
- EclipseLink master (2.6.0 - commit 11a548fe3919f0e6789c86)
- DB: SAP HANA 1.00.72.00.388670
- JDBC Driver: SAP In-Memory Database JDBC Driver 1.00.73.00 Build 0389834-1410
Test Name | Tests | Failures/Errors |
---|---|---|
Core SRG | 696 | 0 |
Core LRG | 8017 | 2 (*) |
JPA SRG | 252 | 0 |
JPA LRG | 3162 | 0 |
JPA WDF | 852 | 0 |
(*) Bugs reported
Details on Errors/Failures
Core LRG
Test Name | Bug | Description/Reason |
---|---|---|
ExpressionPersistenceSpecialTypesTest:PersistenceTestEqualTime | bug 431885 | Exception Description: Persisted query not the same as original |
org.eclipse.persistence.testing.tests.feature.CacheStatementBatchWritingTest.CacheStatementBatchWritingTest | n/a | HANA bug: PreparedStatement.close() doesn't work correctly
Issue reported as HANA JDBC driver bug 516888 2013 |
2.5.0 - 4. March 2013
- EclipseLink master (commit 5639bcff74702d30ec7fa01a0bdd73a99446fc61)
- DB: SAP HANA 1.00.31.362930
- JDBC Driver: SAP In-Memory Database JDBC Driver 1.00.31 Build 0362930-1510
Test Name | Tests | Failures/Errors |
---|---|---|
Core SRG | 693 | 0 |
Core LRG | 8001 | 1 (*) |
JPA SRG | 244 | 0 |
JPA LRG | 2902 | 0 |
JPA WDF | 852 | 0 |
Server LRG (GlassFish v3) | 2384 | 2 (**) |
(*) Reported as HANA JDBC Driver Bug
(**) Fails on GlassFish v3 server independent of database platform
Details on Errors/Failures
Core LRG
Test Name | Bug | Description/Reason |
---|---|---|
org.eclipse.persistence.testing.tests.feature.CacheStatementBatchWritingTest.CacheStatementBatchWritingTest | n/a | HANA bug: PreparedStatement.close() doesn't work correctly
Issue reported as HANA JDBC driver bug 516888 2013 |
Server LRG
Test Name | Bug | Description/Reason |
---|---|---|
org.eclipse.persistence.testing.tests.jpa.advanced.multitenant.AdvancedMultiTenantServerTestSuite.testTablePerTenantAQueries | bug 401164 | NamedQuery of name: Supporter.findAll not found
Fails in glassfish (DB platform independent) |
org.eclipse.persistence.testing.tests.jpa.advanced.multitenant.AdvancedMultiTenantServerTestSuite.testTablePerTenantBQueries | bug 401164 | NamedQuery of name: Supporter.findAll not found
Fails in glassfish (DB platform independent) |
Location of tests and examples
No specific tests or examples have been written