@Override public void clear() { initialize( false, true, Record.NO_NEXT_BLOCK.intValue(), -1, 0 ); }
@Override public DynamicRecord clone() { DynamicRecord clone = new DynamicRecord( getId() ).initialize( inUse(), startRecord, nextBlock, type, length ); if ( data != null ) { clone.setData( data.clone() ); } return clone; } }
record.initialize( inUse, isStartRecord, longNextBlock, -1, nrOfBytes ); if ( longNextBlock != Record.NO_NEXT_BLOCK.intValue() && nrOfBytes < dataSize || nrOfBytes > dataSize )
@Override public Generator<DynamicRecord> dynamic() { return ( recordSize, format, recordId ) -> { int dataSize = recordSize - format.getRecordHeaderSize(); int length = random.nextBoolean() ? dataSize : random.nextInt( dataSize ); long next = length == dataSize ? randomLong( propertyBits ) : nullValue; DynamicRecord record = new DynamicRecord( max( 1, recordId ) ).initialize( random.nextBoolean(), random.nextBoolean(), next, random.nextInt( PropertyType.values().length ), length ); byte[] bytes = random.nextByteArray( record.getLength(), record.getLength() ).asObjectCopy(); record.setData( bytes ); return record; }; }
@Override public void clear() { initialize( false, true, Record.NO_NEXT_BLOCK.intValue(), -1, 0 ); }
@Override public DynamicRecord clone() { DynamicRecord clone = new DynamicRecord( getId() ).initialize( inUse(), startRecord, nextBlock, type, length ); if ( data != null ) { clone.setData( data.clone() ); } return clone; } }
@Override public void read( DynamicRecord record, PageCursor cursor, RecordLoad mode, int recordSize ) { byte headerByte = cursor.getByte(); boolean inUse = isInUse( headerByte ); if ( mode.shouldLoad( inUse ) ) { int length = cursor.getShort() | cursor.getByte() << 16; if ( length > recordSize | length < 0 ) { cursor.setCursorException( payloadLengthErrorMessage( record, recordSize, length ) ); return; } long next = cursor.getLong(); boolean isStartRecord = (headerByte & START_RECORD_BIT) != 0; record.initialize( inUse, isStartRecord, next, -1, length ); readData( record, cursor ); } else { record.setInUse( inUse ); } }
record.initialize( inUse, isStartRecord, longNextBlock, -1, nrOfBytes ); if ( longNextBlock != Record.NO_NEXT_BLOCK.intValue() && nrOfBytes < dataSize || nrOfBytes > dataSize )