openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Heath Thomann (JIRA)" <j...@apache.org>
Subject [jira] Updated: (OPENJPA-1668) User's ''DBDictionary.sequenceSQL' setting not being honored on zOS
Date Mon, 09 Aug 2010 16:53:17 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Heath Thomann updated OPENJPA-1668:
-----------------------------------

    Attachment: OPENJPA-1668-1.2.x.patch.txt

I'm attaching a patch (OPENJPA-1668-1.2.x.patch.txt) for 1.2.x.

> User's ''DBDictionary.sequenceSQL' setting not being honored on zOS 
> --------------------------------------------------------------------
>
>                 Key: OPENJPA-1668
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1668
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.0.3, 1.2.2, 2.0.0
>            Reporter: Heath Thomann
>            Assignee: Heath Thomann
>            Priority: Minor
>         Attachments: OPENJPA-1668-1.2.x.patch.txt
>
>
> When setting/overriding the 'DBDictionary.sequenceSQL' value via a property in the persistence.xml
file, as follows:
> 	<property name="openjpa.jdbc.DBDictionary" value="db2(sequenceSQL='SELECT SCHEMA
AS SEQUENCE_SCHEMA, NAME AS SEQUENCE_NAME FROM CIDB2.SYSSEQUENCES')"/>                
                                       
> this value is not used when running DB2 on zOS.  Rather, the 'default for zOS' is used,
i.e.: "SELECT SCHEMA AS SEQUENCE_SCHEMA, NAME AS SEQUENCE_NAME FROM SYSIBM.SYSSEQUENCES";.
 
> To understand how this is happening, let me describe how 'sequenceSQL' is defined/set
at runtime.  First, the ctor of DB2Dictionary is called, and the variable is set to a default:
>         sequenceSQL = "SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, "
>             + "SEQNAME AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES";
> After the DB2Dictionary ctor is called, openJPA assigns to 'sequenceSQL' the value defined
in the system property.  So at this point things are all good and the variable is set to what
is defined in the prop.  Where things go awry is when the method DB2Dictionary.connectedConfiguration
is called.  In the method there is some platform specific code which is executed which overwrites
the sequenceSQL value:
>        // platform specific settings
>         switch (db2ServerType) {
>         case  db2ZOSV8xOrLater:
> 		........
>             sequenceSQL = "SELECT SCHEMA AS SEQUENCE_SCHEMA, "
>                 + "NAME AS SEQUENCE_NAME FROM SYSIBM.SYSSEQUENCES";
> Thanks,
> Heath

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message