[
https://issues.apache.org/jira/browse/OPENJPA-338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dick updated OPENJPA-338:
---------------------------------
Fix Version/s: 1.0.1
> Remove unnecessary CAST in SQL statement for DB2
> ------------------------------------------------
>
> Key: OPENJPA-338
> URL: https://issues.apache.org/jira/browse/OPENJPA-338
> Project: OpenJPA
> Issue Type: Improvement
> Components: sql
> Affects Versions: 1.0.0
> Environment: Window XP, JDK 1.5
> Reporter: Teresa Kan
> Assignee: Teresa Kan
> Fix For: 1.0.1, 1.1.0
>
> Attachments: OPENJPA-338.patch, OPENJPA338-comparsion.txt
>
>
> There were unnecessary CAST added to the SQL statements that can be removed
> to improve the performance. The change will eliminate the CAST for the
> constants. For example, the original query is :
> Executing query: select d from DogABS d where LENGTH(d.name) < 10
> The current generated SQL statement:
> executing prepstmnt 1335250838 SELECT t0.id2, t0.datastoreid, t0.domestic,
> t0.name, t0.price, t0.total FROM DOGABS t0 WHERE (CAST(LENGTH(CAST(t0.name AS
> VARCHAR(1000))) AS BIGINT) < CAST(? AS BIGINT)) [params=(long) 10]
> After the changes:
> executing prepstmnt 1749706826 SELECT t0.id2, t0.datastoreid, t0.domestic,
> t0.name, t0.price, t0.total FROM DOGABS t0 WHERE (LENGTH(t0.name) < ?)
> [params=(long) 10]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.