int insert(Row row,byte[] sourceBuffer,int sourceOffset,BlobOutputStream[] blobs){
  int rowHead=_rowHead;
  int blobTail=_blobTail;
  int rowLength=row.length();
  rowHead-=rowLength;
  if (rowHead < blobTail) {
    return -1;
  }
  byte[] buffer=_buffer;
  System.arraycopy(sourceBuffer,sourceOffset,buffer,rowHead,rowLength);
  buffer[rowHead]=(byte)((buffer[rowHead] & ~CODE_MASK) | INSERT);
  blobTail=row.insertBlobs(buffer,rowHead,blobTail,blobs);
  if (blobTail < 0) {
    return -1;
  }
  setBlobTail(blobTail);
  rowHead(rowHead);
  validateBlock(row);
  return rowHead;
}

int insert ( Row row , byte [ ] sourceBuffer , int sourceOffset , BlobOutputStream [ ] blobs ) { int rowHead = _rowHead ; int blobTail = _blobTail ; int rowLength = row . length ( ) ; rowHead -= rowLength ; if ( rowHead < blobTail ) { return - 1 ; } byte [ ] buffer = _buffer ; System . arraycopy ( sourceBuffer , sourceOffset , buffer , rowHead , rowLength ) ; buffer [ rowHead ] = ( byte ) ( ( buffer [ rowHead ] & ~ CODE_MASK ) | INSERT ) ; blobTail = row . insertBlobs ( buffer , rowHead , blobTail , blobs ) ; if ( blobTail < 0 ) { return - 1 ; } setBlobTail ( blobTail ) ; rowHead ( rowHead ) ; validateBlock ( row ) ; return rowHead ; }
inserts a new row into the block .
