Derby
  1. Derby
  2. DERBY-2388 DOCS - Reorder JDBC Reference section in Ref Manual
  3. DERBY-3409

Remove JDBC 2.0-specific topics from Reference Manual and merge implementation notes as needed

    Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.3.2.1
    • Fix Version/s: 10.4.2.0, 10.5.1.1
    • Component/s: Documentation
    • Labels:
      None

      Description

      The following files should be removed and their contents merged, where appropriate, with the main files for the interfaces concerned:

      JDBC 2.0 features (rrefjdbc2_0summary.dita): remove

      java.sql.CallableStatement interface: supported JDBC 2.0 methods
      (rrefjdbc52637.dita): remove

      java.sql.Connection interface: supported JDBC 2.0 methods (rrefjdbc80004.dita): remove? It appears that the implementation notes are no longer valid. They state that ResultSet.TYPE_SCROLL_SENSITIVE is not supported and that if you specify it, "Derby issues an SQLWarning". However, I tried this and no warning seemed to be issued.

      java.sql.DatabaseMetaData interface: supported JDBC 2.0 methods
      (rrefjdbc66688.dita): remove

      java.sql.PreparedStatement interface: supported JDBC 2.0 methods
      (rrefjdbc99392.dita): remove

      java.sql.ResultSet interface: supported JDBC 2.0 methods (rrefjdbc77156.dita): remove, after adding implementation notes to the topic "java.sql.ResultSet interface" (http://db.apache.org/derby/docs/dev/ref/rrefjdbc23502.html), assuming they are still valid. (Removing this file will allow us to resolve DERBY-2993, "Duplicated description of java.sql.ResultSet#beforeFirst() is written in reference manual".)

      java.sql.ResultSetMetaData interface: supported JDBC 2.0 methods
      (rrefjdbc71949.dita)

      java.sql.Statement interface: supported JDBC 2.0 methods (rrefjdbc59162.dita): if implementation notes are still valid, change title to "java.sql.Statement interface", move topic to the general JDBC reference section, remove table, and provide one-sentence implementation notes on the appropriate methods.

      1. DERBY-3409.diff
        30 kB
        Kim Haase
      2. DERBY-3409.zip
        8 kB
        Kim Haase
      3. DERBY-3409.stat
        0.4 kB
        Kim Haase
      4. DERBY-3409-2.diff
        42 kB
        Kim Haase
      5. DERBY-3409-2.zip
        15 kB
        Kim Haase
      6. DERBY-3409-2.stat
        0.5 kB
        Kim Haase

        Activity

        Hide
        Kim Haase added a comment -

        Some additional notes: In rrefjdbc23502.dita ("java.sql.ResultSet interface"), I think it makes sense to remove the following sentence:

        "Derby provides all the required JDBC 1.2 type conversions of the getXXX methods."

        In rrefjdbc59162.dita, the implementation note on the setMaxFieldSize method can be removed: "Has no effect on Blobs and Clobs." The Javadoc for the method states explicitly what types the method applies to, and it omits BLOBs and CLOBs.

        Show
        Kim Haase added a comment - Some additional notes: In rrefjdbc23502.dita ("java.sql.ResultSet interface"), I think it makes sense to remove the following sentence: "Derby provides all the required JDBC 1.2 type conversions of the getXXX methods." In rrefjdbc59162.dita, the implementation note on the setMaxFieldSize method can be removed: "Has no effect on Blobs and Clobs." The Javadoc for the method states explicitly what types the method applies to, and it omits BLOBs and CLOBs.
        Hide
        Kim Haase added a comment -

        Correction: Instead of modifying rrefjdbc59162.dita to be a general "java.sql.Statement interface" topic, the still-current information needs to be added to the existing "java.sql.Statement interface" topic, rrefjdbc40794.dita. I lost track of it because it's out of alphabetical order. Putting the topics in alphabetical order is yet another subtask.

        Show
        Kim Haase added a comment - Correction: Instead of modifying rrefjdbc59162.dita to be a general "java.sql.Statement interface" topic, the still-current information needs to be added to the existing "java.sql.Statement interface" topic, rrefjdbc40794.dita. I lost track of it because it's out of alphabetical order. Putting the topics in alphabetical order is yet another subtask.
        Hide
        Kim Haase added a comment -

        Two of the JDBC 2.0 files to be removed are cross-referenced from the topic rrefjdbc96386.dita, "Mapping of java.sql.Blob and java.sql.Clob interfaces". I will remove these cross-references. Other changes to rrefjdbc96386.dita can be part of another subtask.

        Show
        Kim Haase added a comment - Two of the JDBC 2.0 files to be removed are cross-referenced from the topic rrefjdbc96386.dita, "Mapping of java.sql.Blob and java.sql.Clob interfaces". I will remove these cross-references. Other changes to rrefjdbc96386.dita can be part of another subtask.
        Hide
        Kim Haase added a comment -

        Attaching a patch, DERBY-3409.diff, that removes the 8 JDBC 2.0 topics and modifies three more topics, by moving implementation-specific material into them. I would be very grateful if someone familiar with our current JDBC implementation would review the three modified topics to determine whether the implementation-specific material is still correct as of JDBC 3 and 4. The modified topics are in DERBY-3409.zip.

        D src/ref/rrefjdbc99392.dita
        D src/ref/rrefjdbc2_0summary.dita
        D src/ref/rrefjdbc66688.dita
        D src/ref/rrefjdbc59162.dita
        D src/ref/rrefjdbc77156.dita
        D src/ref/rrefjdbc71949.dita
        D src/ref/rrefjdbc80004.dita
        D src/ref/rrefjdbc52637.dita
        M src/ref/refderby.ditamap
        M src/ref/rrefjdbc40794.dita
        M src/ref/rrefjdbc96386.dita
        M src/ref/rrefjdbc23502.dita

        Show
        Kim Haase added a comment - Attaching a patch, DERBY-3409 .diff, that removes the 8 JDBC 2.0 topics and modifies three more topics, by moving implementation-specific material into them. I would be very grateful if someone familiar with our current JDBC implementation would review the three modified topics to determine whether the implementation-specific material is still correct as of JDBC 3 and 4. The modified topics are in DERBY-3409 .zip. D src/ref/rrefjdbc99392.dita D src/ref/rrefjdbc2_0summary.dita D src/ref/rrefjdbc66688.dita D src/ref/rrefjdbc59162.dita D src/ref/rrefjdbc77156.dita D src/ref/rrefjdbc71949.dita D src/ref/rrefjdbc80004.dita D src/ref/rrefjdbc52637.dita M src/ref/refderby.ditamap M src/ref/rrefjdbc40794.dita M src/ref/rrefjdbc96386.dita M src/ref/rrefjdbc23502.dita
        Hide
        Dyre Tjeldvoll added a comment -

        At first glance I think this looks like a sensible change. But I've not checked details. I encourage our JDBC spec experts to have a look...

        Show
        Dyre Tjeldvoll added a comment - At first glance I think this looks like a sensible change. But I've not checked details. I encourage our JDBC spec experts to have a look...
        Hide
        Dyre Tjeldvoll added a comment -

        2 months with patch available and no comment. I'd say go ahead and commit, at least to trunk.

        Show
        Dyre Tjeldvoll added a comment - 2 months with patch available and no comment. I'd say go ahead and commit, at least to trunk.
        Hide
        Kim Haase added a comment -

        Well, I'm just about positive some of the information in the modified files is wrong – so I'd rather hang on and hope for a technical review.

        Show
        Kim Haase added a comment - Well, I'm just about positive some of the information in the modified files is wrong – so I'd rather hang on and hope for a technical review.
        Hide
        Kim Haase added a comment -

        Here is a revised patch: DERBY-3409-2.diff, DERBY-3409-2.zip, and DERBY-3409-2.stat.

        Correspondence with Lance Andersen (JDBC expert) and Rick Hillegas, along with an examination of the source code for Derby's JDBC implementation, has resulted in the following additional changes.

        rrefjdbc40794.dita (java.sql.Statement): Remove mention of JDBC 1.2. Also, the setEscapeProcessing and cancel methods are still not implemented, but all the others are supported.

        rrefjdbc23502.dita (java.sql.ResultSet): Remove table row for setFetchSize; the implementation seems to allow for fetch sizes greater than 1.

        rrefjdbc96386.dita (Mapping of java.sql.Blob and java.sql.Clob interfaces): Remove mention of JDBC 2.0. Explain that Derby implements the Blob and Clob interfaces using locators and does not materialize LOBs when you use getBlob and getClob on ResultSets. Remove bullet list of Blob and Clob features; state only what is specific to the Derby implementation (the CallableStatement limitations). Remove mention of other SQL data types (irrelevant to this topic). Clarify the use of getBlob and getClob. Remove bullet item about static methods. Update the information about CLOB implementation. Revise tables to provide only implementation notes where needed.

        Also added updated versions of rrefjdbc20485.dita (java.sql.CallableStatement interface), rrefjdbc29874.dita (java.sql.PreparedStatement interface), and rrefjavsqlprst.dita (Prepared statements and streaming columns), all of which contained old (JDBC 1.2) information.

        Please let me know if further corrections are needed.

        Show
        Kim Haase added a comment - Here is a revised patch: DERBY-3409 -2.diff, DERBY-3409 -2.zip, and DERBY-3409 -2.stat. Correspondence with Lance Andersen (JDBC expert) and Rick Hillegas, along with an examination of the source code for Derby's JDBC implementation, has resulted in the following additional changes. rrefjdbc40794.dita (java.sql.Statement): Remove mention of JDBC 1.2. Also, the setEscapeProcessing and cancel methods are still not implemented, but all the others are supported. rrefjdbc23502.dita (java.sql.ResultSet): Remove table row for setFetchSize; the implementation seems to allow for fetch sizes greater than 1. rrefjdbc96386.dita (Mapping of java.sql.Blob and java.sql.Clob interfaces): Remove mention of JDBC 2.0. Explain that Derby implements the Blob and Clob interfaces using locators and does not materialize LOBs when you use getBlob and getClob on ResultSets. Remove bullet list of Blob and Clob features; state only what is specific to the Derby implementation (the CallableStatement limitations). Remove mention of other SQL data types (irrelevant to this topic). Clarify the use of getBlob and getClob. Remove bullet item about static methods. Update the information about CLOB implementation. Revise tables to provide only implementation notes where needed. Also added updated versions of rrefjdbc20485.dita (java.sql.CallableStatement interface), rrefjdbc29874.dita (java.sql.PreparedStatement interface), and rrefjavsqlprst.dita (Prepared statements and streaming columns), all of which contained old (JDBC 1.2) information. Please let me know if further corrections are needed.
        Hide
        Kim Haase added a comment -

        Checked with Lance Andersen, who recommended that the patch be committed. Any fixes needed can be made later.

        Committed DERBY-3409-2.diff to docs trunk at revision 653913.

        Show
        Kim Haase added a comment - Checked with Lance Andersen, who recommended that the patch be committed. Any fixes needed can be made later. Committed DERBY-3409 -2.diff to docs trunk at revision 653913.
        Hide
        Kim Haase added a comment -

        Reopening to backport to 10.4 branch.

        Show
        Kim Haase added a comment - Reopening to backport to 10.4 branch.
        Hide
        Kim Haase added a comment -

        Backported to 10.4 docs branch at revision 682832.

        Show
        Kim Haase added a comment - Backported to 10.4 docs branch at revision 682832.

          People

          • Assignee:
            Kim Haase
            Reporter:
            Kim Haase
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development