Derby
  1. Derby
  2. DERBY-684

Improve performance of Clob objects (ClobOutputStream#write,ClobWriter#write) on the client

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 10.1.1.0, 10.1.2.1, 10.2.1.6
    • Fix Version/s: None
    • Component/s: Network Client
    • Labels:
      None
    • Environment:
      all
    • Bug behavior facts:
      Performance

      Description

      Dan suggested this improvement here:
      http://issues.apache.org/jira/browse/DERBY-463?page=comments#action_12356742

      For org.apache.derby.client.am.ClobOutputStream#write(int), five objects are created for every byte written.

      "In fact this class and the client Clob have code like this everywhere, as the Clob is updated:

      clob_.string_ = clob_.string_.concat(new String(newByte));
      clob_.asciiStream_ = new java.io.StringBufferInputStream(clob_.string_);
      clob_.unicodeStream_ = new java.io.StringBufferInputStream(clob_.string_);
      clob_.characterStream_ = new java.io.StringReader(clob_.string_);

      Would probably be better to create most of those objects on demand, rather than on every modification. I mean if the CLOB is modified
      but the application never retrieives the ascii or character streams, what was the benefit of creating them? "
      ________________
      Also check the org.apache.derby.client.am.ClobWriter. Need to make this better and efficient.

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Sunitha Kambhampati
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development