continue;
}
if (parameterTypes[i].typeCode == Types.SQL_BLOB) {
long id;
BlobDataID blob = null;
if (value instanceof JDBCBlobClient) {
// check or fix id mismatch
blob = ((JDBCBlobClient) value).blob;
id = blob.getId();
} else if (value instanceof Blob) {
long length = ((Blob) value).length();
blob = session.createBlob(length);
id = blob.getId();
InputStream stream = ((Blob) value).getBinaryStream();
ResultLob resultLob =
ResultLob.newLobCreateBlobRequest(session.getId(), id,
stream, length);
session.allocateResultLob(resultLob, null);
resultOut.addLobResult(resultLob);
} else if (value instanceof InputStream) {
long length = streamLengths[i];
long createLength = length > 0 ? length : 0;
blob = session.createBlob(createLength);
id = blob.getId();
InputStream stream = (InputStream) value;
ResultLob resultLob =
ResultLob.newLobCreateBlobRequest(session.getId(), id,
stream, length);