Skip to main content
Jump to: navigation, search

EclipseLink/Development/Incubator/Extensions/HANAPlatform

< EclipseLink‎ | Development‎ | Incubator‎ | Extensions
Revision as of 05:09, 26 February 2013 by Sabine.heider.sap.com (Talk | contribs) (Documentation)

Note: This page describes an extension of EclipseLink that is part of the EclipseLink incubator. Incubator projects are published so the community can use them either to progress towards having them included in the main product, or to use in their own implementations. They have been tested to varying levels and as such, we recommend doing your own testing before including any of this code in a production-level product.

Bugs

  • bug 380226 (Database Platform for SAP HANA Database) - Initial bug for taking HANAPlatform to the incubator (resolved)
  • bug 383862 (Preparing Database Platform for SAP HANA Database for Promotion into trunk) - Bug for collecting/tracking test issues

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

Git repository: http://git.eclipse.org/gitroot/eclipselink/incubator.git

Web access directly to the HANAPlatform: http://git.eclipse.org/c/eclipselink/incubator.git/tree/extensions/org.eclipse.persistence.platform.database.hana

Level of Testing

22. February 2013

  • EclipseLink master (commit dd0ef56d8ed1e3f63236a733a47ba2157171b49f) + HANA Platform (commit 89106f515530b763a76179832b8e1fbcbc17f58e) + patches from the following bugs: bug 400908, bug 401069, bug 401413, bug 401509, bug 396259, bug 397559
  • 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