@ Override public void validate ( byte [ ] blockBuffer , int rowOffset , int rowHead , int blobTail ) { int offset = rowOffset + offset ( ) ; int blobLen = BitsUtil . readInt16 ( blockBuffer , offset + 2 ) ; int blobOffset = BitsUtil . readInt16 ( blockBuffer , offset ) ; if ( blobLen == 0 ) { return ; } if ( blobOffset < 0 || blobTail < blobOffset ) { throw new IllegalStateException ( L . l ( "{0}: corrupted blob offset {1} with blobTail={2}" , this , blobOffset , blobTail ) ) ; } if ( ( blobLen & LARGE_BLOB_MASK ) != 0 ) { blobLen &= ~ LARGE_BLOB_MASK ; if ( blobLen != 4 ) { throw new IllegalStateException ( L . l ( "{0}: corrupted blob len {1} for large blob." , this , blobOffset ) ) ; } } if ( blobLen < 0 || blobTail < blobLen + blobOffset ) { throw new IllegalStateException ( L . l ( "{0}: corrupted blob len {1} with blobOffset={2} blobTail={3}" , this , blobLen , blobOffset , blobTail ) ) ; } }
Validates the column checking for corruption .