You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by kr...@apache.org on 2007/05/21 11:28:44 UTC
svn commit: r540083 - in
/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc:
ClobStreamControl.java EmbedClob.java
Author: kristwaa
Date: Mon May 21 02:28:43 2007
New Revision: 540083
URL: http://svn.apache.org/viewvc?view=rev&rev=540083
Log:
DERBY-2646: Cleanup of Clob control/support structures. Removal of trailing space characters. This patch *only* deletes spaces.
Patch file: derby-2646-01a_trailing_space.diff
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedClob.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java?view=diff&rev=540083&r1=540082&r2=540083
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java Mon May 21 02:28:43 2007
@@ -1,4 +1,4 @@
-/*
+/*
Derby - Class org.apache.derby.impl.jdbc.ClobStreamControl
@@ -35,7 +35,7 @@
import org.apache.derby.iapi.util.ByteArray;
final class ClobStreamControl extends LOBStreamControl {
-
+
private ConnectionChild conChild;
/**
@@ -48,8 +48,8 @@
ClobStreamControl (String dbName, ConnectionChild conChild) {
super (dbName);
this.conChild = conChild;
- }
-
+ }
+
/**
* Finds the corresponding byte position for the given UTF-8 character
* position, starting from the byte position <code>startPos</code>.
@@ -82,7 +82,7 @@
//no second and third byte present
throw new UTFDataFormatException();
}
- streamLength += 2;
+ streamLength += 2;
}
else if ((c & 0x70) == 0x60) // we know the top bit is set here
{
@@ -98,11 +98,11 @@
throw new UTFDataFormatException();
}
}
-
+
in.close();
- return streamLength;
+ return streamLength;
}
-
+
/**
* Constructs and returns a <code>Writer</code> for the CLOB value.
*
@@ -118,7 +118,7 @@
"" + (pos + 1));
return new ClobUtf8Writer (this, getStreamPosition (0, charPos));
}
-
+
/**
* Constructs and returns a <code>Reader</code>.
* @param pos initial position of the returned <code>Reader</code> in
@@ -137,8 +137,8 @@
leftToSkip -= isr.skip (leftToSkip);
}
return isr;
- }
-
+ }
+
/**
* Returns a substring.
* @param bIndex
@@ -147,9 +147,9 @@
* @throws IOException
* @throws SQLException
*/
- synchronized String getSubstring (long bIndex, long eIndex)
+ synchronized String getSubstring (long bIndex, long eIndex)
throws IOException, SQLException {
- Reader r = getReader(bIndex);
+ Reader r = getReader(bIndex);
char [] buff = new char [(int) (eIndex - bIndex)];
int length = 0;
do {
@@ -160,7 +160,7 @@
} while (length < eIndex - bIndex);
return new String (buff, 0, length);
}
-
+
/**
* returns number of charecter in the clob.
* @return char length
@@ -177,7 +177,7 @@
}while (true);
return length;
}
-
+
/**
* Returns the size of the Clob in bytes.
* @return Number of bytes in the <code>CLOB</code> value.
@@ -186,7 +186,7 @@
long getByteLength () throws IOException {
return super.getLength();
}
-
+
/**
* inserts a string at a given postion.
* @param str
@@ -194,7 +194,7 @@
* @return current byte postion
* @throws IOException
*/
- synchronized long insertString (String str, long pos)
+ synchronized long insertString (String str, long pos)
throws IOException, SQLException {
int len = str.length();
if (pos == super.getLength()) {
@@ -207,7 +207,7 @@
replaceBytes (getByteFromString (str), pos, endPos);
return str.length();
}
-
+
/**
* Converts a string into utf8 byte array.
* @param str
@@ -236,5 +236,5 @@
byte [] buff = new byte [len];
System.arraycopy (buffer, 0, buff, 0, len);
return buff;
- }
+ }
}
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedClob.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedClob.java?view=diff&rev=540083&r1=540082&r2=540083
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedClob.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedClob.java Mon May 21 02:28:43 2007
@@ -75,7 +75,7 @@
private boolean materialized;
private InputStream myStream;
private ClobStreamControl control;
-
+
//This boolean variable indicates whether the Clob object has
//been invalidated by calling free() on it
private boolean isValid = true;
@@ -83,15 +83,15 @@
/**
* This constructor is used to create a empty Clob object. It is used by the
* Connection interface method createClob().
- *
- * @param clobString A String object containing the data to be stores in the
+ *
+ * @param clobString A String object containing the data to be stores in the
* Clob.
*
* @param con The Connection object associated with this EmbedClob object.
* @throws SQLException
*
*/
-
+
EmbedClob(String clobString,EmbedConnection con) throws SQLException {
super(con);
materialized = true;
@@ -99,12 +99,12 @@
try {
control.insertString (clobString, 0);
}
-
+
catch (IOException e) {
throw Util.setStreamFailure (e);
}
}
-
+
/**
* This constructor should only be called by {@link EmbedResultSet#getClob}.
*
@@ -238,7 +238,7 @@
* <code>pos</code> and has up to <code>length</code> consecutive
* characters. The starting position must be between 1 and the length
* of the CLOB plus 1. This allows for zero-length CLOB values, from
- * which only zero-length substrings can be returned.
+ * which only zero-length substrings can be returned.
* If a larger length is requested than there are characters available,
* characters from the start position to the end of the CLOB are returned.
* @param pos the first character of the substring to be extracted.
@@ -257,7 +257,7 @@
//call checkValidity to exit by throwing a SQLException if
//the Clob object has been freed by calling free() on it
checkValidity();
-
+
if (pos < 1)
throw Util.generateCsSQLException(
SQLState.BLOB_BAD_POSITION, new Long(pos));
@@ -347,7 +347,7 @@
if (materialized) {
return control.getReader (0);
}
-
+
return getCharacterStreamAtPos(1, synchronization);
}
catch (Throwable t)
@@ -382,24 +382,24 @@
throws IOException, StandardException {
UTF8Reader clobReader = null;
if (materialized)
- clobReader = new UTF8Reader (control.getInputStream (0), 0,
- control.getByteLength(),
+ clobReader = new UTF8Reader (control.getInputStream (0), 0,
+ control.getByteLength(),
this, control);
else {
((Resetable)myStream).resetStream();
clobReader = new UTF8Reader(myStream, 0, this, synchronization);
}
-
+
// skip to the correct position (pos is one based)
long remainToSkip = position - 1;
while (remainToSkip > 0) {
long skipBy = clobReader.skip(remainToSkip);
if (skipBy == -1)
return null;
-
+
remainToSkip -= skipBy;
}
-
+
return clobReader;
}
@@ -425,12 +425,12 @@
* </ul>
* <p>
* The position where the stream has a char equal to the first char of
- * <code>searchStr</code> will be remembered and used as the starting
+ * <code>searchStr</code> will be remembered and used as the starting
* position for the next search-iteration if the current match fails.
* If a non-matching char is found, start a fresh search from the position
* remembered. If there is no such position, next search will start at the
* current position <code>+1</code>.
- *
+ *
* @param searchStr the substring for which to search
* @param start the position at which to begin searching; the first position
* is <code>1</code>
@@ -446,7 +446,7 @@
//call checkValidity to exit by throwing a SQLException if
//the Clob object has been freed by calling free() on it
checkValidity();
-
+
boolean pushStack = false;
try
{
@@ -476,23 +476,23 @@
if (readCount == -1)
return -1;
if (readCount == 0)
- continue;
- for (int clobOffset = 0;
+ continue;
+ for (int clobOffset = 0;
clobOffset < readCount; clobOffset++) {
- if (tmpClob [clobOffset]
+ if (tmpClob [clobOffset]
== searchStr.charAt (matchCount)) {
- //find the new starting position in
+ //find the new starting position in
// case this match is unsuccessful
- if (matchCount != 0 && newStart == -1
- && tmpClob [clobOffset]
+ if (matchCount != 0 && newStart == -1
+ && tmpClob [clobOffset]
== searchStr.charAt (0)) {
newStart = pos + clobOffset + 1;
}
matchCount ++;
if (matchCount == searchStr.length()) {
- //return after converting the position
+ //return after converting the position
//to 1 based index
- return pos + clobOffset
+ return pos + clobOffset
- searchStr.length() + 1 + 1;
}
}
@@ -503,19 +503,19 @@
//compensate for increment in the "for"
clobOffset--;
}
- matchCount = 0;
+ matchCount = 0;
continue;
}
matchCount = 0;
if (newStart < pos) {
pos = newStart;
reader.close();
- reader = getCharacterStreamAtPos
+ reader = getCharacterStreamAtPos
(newStart + 1, this);
newStart = -1;
reset = true;
break;
- }
+ }
clobOffset = (int) (newStart - pos) - 1;
newStart = -1;
continue;
@@ -562,7 +562,7 @@
//call checkValidity to exit by throwing a SQLException if
//the Clob object has been freed by calling free() on it
checkValidity();
-
+
boolean pushStack = false;
try
{
@@ -684,7 +684,7 @@
*
* @param pos - the position at which to start writing to the CLOB value that
* this Clob object represents
- * @return the number of characters written
+ * @return the number of characters written
* @exception SQLException Feature not implemented for now.
*/
public int setString(long pos, String str) throws SQLException {
@@ -700,7 +700,7 @@
* @param pos - the position at which to start writing to this Clob object
* @param str - the string to be written to the CLOB value that this Clob designates
* @param offset - the offset into str to start reading the characters to be written
- * @param len - the number of characters to be written
+ * @param len - the number of characters to be written
* @return the number of characters written
* @exception SQLException Feature not implemented for now.
*/
@@ -729,7 +729,7 @@
* value that this Clob object represents, starting at position pos.
*
* @param pos - the position at which to start writing to this Clob object
- * @return the stream to which ASCII encoded characters can be written
+ * @return the stream to which ASCII encoded characters can be written
* @exception SQLException Feature not implemented for now.
*/
public java.io.OutputStream setAsciiStream(long pos) throws SQLException {
@@ -747,7 +747,7 @@
* CLOB value that this Clob object represents, starting at position pos.
*
* @param pos - the position at which to start writing to this Clob object
- * @return the stream to which Unicode encoded characters can be written
+ * @return the stream to which Unicode encoded characters can be written
* @exception SQLException Feature not implemented for now.
*/
public java.io.Writer setCharacterStream(long pos) throws SQLException {
@@ -794,18 +794,18 @@
throws SQLException {
//calling free() on a already freed object is treated as a no-op
if (!isValid) return;
-
+
//now that free has been called the Clob object is no longer
//valid
isValid = false;
-
+
if (!materialized) {
((Resetable)myStream).closeStream();
}
else {
try {
control.free();
- }
+ }
catch (IOException e) {
throw Util.setStreamFailure(e);
}
@@ -832,9 +832,9 @@
}
return org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(t);
}
-
+
/*
- * Checks is isValid is true. If it is not true throws
+ * Checks is isValid is true. If it is not true throws
* a SQLException stating that a method has been called on
* an invalid LOB object
*