Skip to Main Content
Cloud Platform

Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Post your ideas

Start by posting ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea

Help IBM prioritize your ideas and requests

The IBM team may need your help to refine the ideas so they may ask for more information or feedback. The offering manager team will then decide if they can begin working on your idea. If they can start during the next development cycle, they will put the idea on the priority list. Each team at IBM works on a different schedule, where some ideas can be implemented right away, others may be placed on a different schedule.

Receive a notification on the decision

Some ideas can be implemented at IBM, while others may not fit within the development plans for the product. In either case, the team will let you know as soon as possible. In some cases, we may be able to find alternatives for ideas which cannot be implemented in a reasonable time.

If you encounter any issues accessing the Ideas portals, please send email describing the issue to ideasibm@us.ibm.com for resolution.

For more information about IBM's Ideas program visit ibm.com/ideas.

Status Delivered
Workspace WebSphere Liberty
Created by Guest
Created on Feb 12, 2021

WLP 20.0.0.x EclipseLink DB2Platform no longer binds Literals as Parameters

EclipseLink DB2Platform no longer binds Literals as Parameters (DB2Platform.java#L74 => this.shouldBindLiterals = false;)

We are using EclipseLink packaged within Websphere Liberty Profile (WLP) version 20.0.0.x in combination with DB2. WLP 20.0.0.x packages EclipseLink in the version 2.7.6.

While updating from WLP version 19.0.0.x to 20.0.0.x we experience problems with the new provided EclipseLink version 2.7.6. As changed in the DB2Platform with version 2.7.6 (https://github.com/eclipse-ee4j/eclipselink/blob/master/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java#L74) literals get no longer bound as parameters in the query when using Criteria Builder, literals are bound inline in the SQL-statements. This behaviour leads to changed SQL-statements and restricts DB2 to NO longer use prepared statements with parameters.

Changes that force DB2Platform to "this.shouldBindLiterals = false" were implemented with:

EclipseLink Issue: #492
EclipseLink Commit: 418a2e5
IBM related issue:
https://www.ibm.com/support/pages/apar/PH06475
There exists another IBM related Issue (https://www.ibm.com/support/pages/apar/PH14747), but I am not sure if this IBM issue relates to my issue.

In general and independent of known workarounds, we ask for a global solution that allows to set the property "shouldBindLiterals" via system properties (similar to "eclipselink.jdbc.force-bind-parameters" and "eclipselink.jdbc.bind-parameters" => https://github.com/eclipse-ee4j/eclipselink/blob/master/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/EntityManagerSetupImpl.java#L2828 and L#2833). We are also open for other global solutions or fixes that allow us to bind literals as parameters!

For more information => https://github.com/eclipse-ee4j/eclipselink/issues/866

Idea priority Medium
RFE ID 148566
RFE URL
RFE Product WebSphere Application Server