/** * Queues a {@link NodeLabelUpdate} to this writer for applying when batch gets full, * or when {@link #close() closing}. */ @Override public void write( NodeLabelUpdate update ) throws IOException { if ( pendingUpdatesCursor == pendingUpdates.length ) { flushPendingChanges(); } pendingUpdates[pendingUpdatesCursor++] = update; PhysicalToLogicalLabelChanges.convertToAdditionsAndRemovals( update ); checkNextLabelId( update.getLabelsBefore() ); checkNextLabelId( update.getLabelsAfter() ); }
if ( smaller( beforeId, afterId ) ) while ( smaller( beforeId, afterId ) && bi < beforeLength ) else if ( smaller( afterId, beforeId ) ) while ( smaller( afterId, beforeId ) && ai < afterLength ) terminateWithMinusOneIfNeeded( update.getLabelsBefore(), bc ); terminateWithMinusOneIfNeeded( update.getLabelsAfter(), ac );
private void convertAndAssert( long[] before, long[] after, long[] expectedRemoved, long[] expectedAdded ) { NodeLabelUpdate update = NodeLabelUpdate.labelChanges( 0, before, after ); PhysicalToLogicalLabelChanges.convertToAdditionsAndRemovals( update ); assertArrayEquals( terminate( update.getLabelsBefore() ), expectedRemoved ); assertArrayEquals( terminate( update.getLabelsAfter() ), expectedAdded ); }
if ( smaller( beforeId, afterId ) ) while ( smaller( beforeId, afterId ) && bi < beforeLength ) else if ( smaller( afterId, beforeId ) ) while ( smaller( afterId, beforeId ) && ai < afterLength ) terminateWithMinusOneIfNeeded( update.getLabelsBefore(), bc ); terminateWithMinusOneIfNeeded( update.getLabelsAfter(), ac );
/** * Queues a {@link NodeLabelUpdate} to this writer for applying when batch gets full, * or when {@link #close() closing}. */ @Override public void write( NodeLabelUpdate update ) throws IOException { if ( pendingUpdatesCursor == pendingUpdates.length ) { flushPendingChanges(); } pendingUpdates[pendingUpdatesCursor++] = update; PhysicalToLogicalLabelChanges.convertToAdditionsAndRemovals( update ); checkNextLabelId( update.getLabelsBefore() ); checkNextLabelId( update.getLabelsAfter() ); }