Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Development/DatabasePlatform/HANAPlatform

< EclipseLink‎ | Development
Revision as of 04:45, 5 March 2013 by Sabine.heider.sap.com (Talk | contribs) (22. February 2013)

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

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

Back to the top