Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1668

User's ''DBDictionary.sequenceSQL' setting not being honored on zOS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0.3, 1.2.2, 2.0.0
    • 1.2.3, 1.3.0, 2.0.1, 2.1.0
    • None
    • None

    Description

      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

      Attachments

        1. OPENJPA-1668-1.2.x.patch.txt
          5 kB
          Heath Thomann

        Activity

          People

            jpaheath Heath Thomann
            jpaheath Heath Thomann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: