[ 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.