* checks fails.
*/
private void updateBinaryStreamInternal(int columnIndex, InputStream x,
final boolean lengthLess, long length, String updateMethodName)
throws SQLException {
RawToBinaryFormatStream rawStream;
if (!lengthLess) {
if (length < 0)
throw newSQLException(SQLState.NEGATIVE_STREAM_LENGTH);
// max number of bytes that can be set to be inserted
// in Derby is 2Gb-1 (ie Integer.MAX_VALUE).
// (e.g into a blob column).
if (length > Integer.MAX_VALUE ) {
throw newSQLException(SQLState.LANG_OUTSIDE_RANGE_FOR_DATATYPE,
getColumnSQLType(columnIndex));
}
rawStream = new RawToBinaryFormatStream(x, (int)length);
} else {
// Force length to UNKNOWN_LOGICAL_LENGTH if stream is length less.
length = DataValueDescriptor.UNKNOWN_LOGICAL_LENGTH;
rawStream = new RawToBinaryFormatStream(x,
getMaxColumnWidth(columnIndex),
getColumnSQLType(columnIndex));
}
try {