@Override public long valueFrom( PropertyRecord record ) { return record.getPrevProp(); }
@Override public long otherReference( PropertyRecord record ) { return record.getPrevProp(); }
assert first.getPrevProp() == Record.NO_PREVIOUS_PROPERTY.intValue() : primitive + "->" + Arrays.toString( toCheck.toArray() ); assert current.getPrevProp() == previous.getId() : primitive + "->" + Arrays.toString( toCheck.toArray() );
short prevModifier = record.getPrevProp() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (short) ((record.getPrevProp() & 0xF00000000L) >> 28); short nextModifier = record.getNextProp() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (short) ((record.getNextProp() & 0xF00000000L) >> 32); cursor.putInt( (int) record.getPrevProp() ); cursor.putInt( (int) record.getNextProp() );
@Override public void checkReference( RECORD record, PropertyRecord property, CheckerEngine<RECORD, REPORT> engine, RecordAccess records ) { if ( !property.inUse() ) { engine.report().propertyNotInUse( property ); } else { if ( !Record.NO_PREVIOUS_PROPERTY.is( property.getPrevProp() ) ) { engine.report().propertyNotFirstInChain( property ); } new ChainCheck<RECORD, REPORT>().checkReference( record, property, engine, records ); } } }
if ( !Record.NO_PREVIOUS_PROPERTY.is( firstProp.getPrevProp() ) )
if ( !Record.NO_PREVIOUS_PROPERTY.is( firstProp.getPrevProp() ) )
if ( owners != null && Record.NO_PREVIOUS_PROPERTY.is( record.getPrevProp() ) )
@Override protected void assertRecordsEqual( PropertyRecord actualRecord, PropertyRecord expectedRecord ) { assertNotNull( "actualRecord", actualRecord ); assertNotNull( "expectedRecord", expectedRecord ); assertThat( "getDeletedRecords", actualRecord.getDeletedRecords(), is( expectedRecord.getDeletedRecords() ) ); assertThat( "getNextProp", actualRecord.getNextProp(), is( expectedRecord.getNextProp() ) ); assertThat( "getEntityId", actualRecord.getNodeId(), is( expectedRecord.getNodeId() ) ); assertThat( "getPrevProp", actualRecord.getPrevProp(), is( expectedRecord.getPrevProp() ) ); assertThat( "getRelId", actualRecord.getRelId(), is( expectedRecord.getRelId() ) ); assertThat( "getId", actualRecord.getId(), is( expectedRecord.getId() ) ); assertThat( "getLongId", actualRecord.getId(), is( expectedRecord.getId() ) ); List<PropertyBlock> actualBlocks = Iterables.asList( actualRecord ); List<PropertyBlock> expectedBlocks = Iterables.asList( expectedRecord ); assertThat( "getPropertyBlocks().size", actualBlocks.size(), is( expectedBlocks.size() ) ); for ( int i = 0; i < actualBlocks.size(); i++ ) { PropertyBlock actualBlock = actualBlocks.get( i ); PropertyBlock expectedBlock = expectedBlocks.get( i ); assertPropertyBlocksEqual( i, actualBlock, expectedBlock ); } }
@Override public void assertRecordsEquals( PropertyRecord written, PropertyRecord read ) { assertEquals( written.getPrevProp(), read.getPrevProp() ); assertEquals( written.getNextProp(), read.getNextProp() ); assertEquals( written.isNodeSet(), read.isNodeSet() ); if ( written.isNodeSet() ) { assertEquals( written.getNodeId(), read.getNodeId() ); } else { assertEquals( written.getRelId(), read.getRelId() ); } assertEquals( written.numberOfProperties(), read.numberOfProperties() ); Iterator<PropertyBlock> writtenBlocks = written.iterator(); Iterator<PropertyBlock> readBlocks = read.iterator(); while ( writtenBlocks.hasNext() ) { assertTrue( readBlocks.hasNext() ); assertBlocksEquals( writtenBlocks.next(), readBlocks.next() ); } }
assert traverser.assertPropertyChain( primitive, propertyRecords ); assert propRecord.size() == 0; long prevProp = propRecord.getPrevProp(); long nextProp = propRecord.getNextProp(); if ( primitive.getNextProp() == propRecord.getId() ) assert propRecord.getPrevProp() == Record.NO_PREVIOUS_PROPERTY.intValue() : propRecord + " for " + primitive;
channel.putLong( record.getNextProp() ).putLong( record.getPrevProp() ); // 8 + 8 long nodeId = record.getNodeId(); long relId = record.getRelId();
assert prevProp.getPrevProp() == Record.NO_PREVIOUS_PROPERTY.intValue(); prevProp.setPrevProp( freeHost.getId() ); freeHost.setNextProp( prevProp.getId() );
private boolean canUseFixedReferences( PropertyRecord record, int recordSize ) { return isRecordBigEnoughForFixedReferences( recordSize ) && (record.getNextProp() == NULL || (record.getNextProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0) && (record.getPrevProp() == NULL || (record.getPrevProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0); }
private boolean canUseFixedReferences( PropertyRecord record, int recordSize ) { return isRecordBigEnoughForFixedReferences( recordSize ) && (record.getNextProp() == NULL || (record.getNextProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0) && (record.getPrevProp() == NULL || (record.getPrevProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0); }
private boolean canUseFixedReferences( PropertyRecord record, int recordSize ) { return isRecordBigEnoughForFixedReferences( recordSize ) && (record.getNextProp() == NULL || (record.getNextProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0) && (record.getPrevProp() == NULL || (record.getPrevProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0); }
private boolean canUseFixedReferences( PropertyRecord record, int recordSize ) { return isRecordBigEnoughForFixedReferences( recordSize ) && (record.getNextProp() == NULL || (record.getNextProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0) && (record.getPrevProp() == NULL || (record.getPrevProp() & HIGH_DWORD_LOWER_WORD_CHECK_MASK) == 0); }
private void writeFixedReferencesRecord( PropertyRecord record, PageCursor cursor ) { // Set up the record header short prevModifier = record.getPrevProp() == NULL ? 0 : (short) ((record.getPrevProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); short nextModifier = record.getNextProp() == NULL ? 0 : (short) ((record.getNextProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); cursor.putShort( prevModifier ); cursor.putInt( (int) record.getPrevProp() ); cursor.putShort( nextModifier ); cursor.putInt( (int) record.getNextProp() ); // skip bytes before start reading property blocks to have // aligned access and fixed position of property blocks cursor.setOffset( cursor.getOffset() + PROPERTY_BLOCKS_PADDING ); } }
private void writeFixedReferencesRecord( PropertyRecord record, PageCursor cursor ) { // Set up the record header short prevModifier = record.getPrevProp() == NULL ? 0 : (short) ((record.getPrevProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); short nextModifier = record.getNextProp() == NULL ? 0 : (short) ((record.getNextProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); cursor.putShort( prevModifier ); cursor.putInt( (int) record.getPrevProp() ); cursor.putShort( nextModifier ); cursor.putInt( (int) record.getNextProp() ); // skip bytes before start reading property blocks to have // aligned access and fixed position of property blocks cursor.setOffset( cursor.getOffset() + PROPERTY_BLOCKS_PADDING ); } }
private void writeFixedReferencesRecord( PropertyRecord record, PageCursor cursor ) { // Set up the record header short prevModifier = record.getPrevProp() == NULL ? 0 : (short) ((record.getPrevProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); short nextModifier = record.getNextProp() == NULL ? 0 : (short) ((record.getNextProp() & HIGH_DWORD_LOWER_WORD_MASK) >> 32); cursor.putShort( prevModifier ); cursor.putInt( (int) record.getPrevProp() ); cursor.putShort( nextModifier ); cursor.putInt( (int) record.getNextProp() ); // skip bytes before start reading property blocks to have // aligned access and fixed position of property blocks cursor.setOffset( cursor.getOffset() + PROPERTY_BLOCKS_PADDING ); } }