Skip to content

Commit

Permalink
Moves more record storage related classes to correct place
Browse files Browse the repository at this point in the history
  • Loading branch information
tinwelint committed Jun 19, 2018
1 parent 4b5ead5 commit 40d223a
Show file tree
Hide file tree
Showing 29 changed files with 51 additions and 58 deletions.
Expand Up @@ -35,6 +35,8 @@
import org.neo4j.kernel.impl.locking.NoOpClient;
import org.neo4j.kernel.impl.locking.ResourceTypes;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RelationshipCreator;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RelationshipGroupGetter;
import org.neo4j.kernel.impl.store.NeoStores;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType;
Expand Down
Expand Up @@ -24,7 +24,7 @@
import org.neo4j.internal.kernel.api.exceptions.explicitindex.ExplicitIndexNotFoundKernelException;
import org.neo4j.kernel.api.ExplicitIndex;
import org.neo4j.kernel.impl.index.IndexEntityType;
import org.neo4j.kernel.impl.transaction.state.RecordState;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordState;

/**
* Defines transactional state for explicit indexes. Since the implementation of this enlists another transaction
Expand Down
Expand Up @@ -25,9 +25,9 @@
import java.util.List;
import java.util.Map;

import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordState;
import org.neo4j.kernel.impl.store.counts.keys.CountsKey;
import org.neo4j.kernel.impl.transaction.command.Command;
import org.neo4j.kernel.impl.transaction.state.RecordState;
import org.neo4j.register.Register.DoubleLongRegister;
import org.neo4j.register.Registers;
import org.neo4j.storageengine.api.StorageCommand;
Expand Down
Expand Up @@ -26,10 +26,10 @@
import org.eclipse.collections.impl.map.mutable.primitive.IntObjectHashMap;
import org.eclipse.collections.impl.set.mutable.primitive.IntHashSet;

import org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyRecordChange;
import org.neo4j.kernel.impl.store.PropertyStore;
import org.neo4j.kernel.impl.store.record.PropertyBlock;
import org.neo4j.kernel.impl.store.record.PropertyRecord;
import org.neo4j.kernel.impl.transaction.state.PropertyRecordChange;
import org.neo4j.values.storable.Value;

public class PropertyPhysicalToLogicalConverter
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.store.NeoStores;
import org.neo4j.kernel.impl.store.PropertyStore;
Expand All @@ -40,7 +40,6 @@
import org.neo4j.storageengine.api.schema.SchemaRule;

import static java.lang.Math.toIntExact;

import static org.neo4j.kernel.impl.store.record.RecordLoad.NORMAL;

public class Loaders
Expand Down
Expand Up @@ -31,7 +31,6 @@
import org.neo4j.kernel.impl.store.record.PropertyBlock;
import org.neo4j.kernel.impl.store.record.PropertyRecord;
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.transaction.state.PropertyTraverser;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;
import org.neo4j.values.storable.Value;
Expand Down
Expand Up @@ -17,13 +17,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.store.record.DynamicRecord;
import org.neo4j.kernel.impl.store.record.PrimitiveRecord;
import org.neo4j.kernel.impl.store.record.PropertyBlock;
import org.neo4j.kernel.impl.store.record.PropertyRecord;
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;

public class PropertyDeleter
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.store.record.PropertyRecord;

Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import java.util.Arrays;
import java.util.LinkedList;
Expand All @@ -28,6 +28,7 @@
import org.neo4j.kernel.impl.store.record.PropertyBlock;
import org.neo4j.kernel.impl.store.record.PropertyRecord;
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.util.Listener;

public class PropertyTraverser
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import java.util.Collection;

Expand Down
Expand Up @@ -24,13 +24,7 @@
import org.neo4j.kernel.impl.store.StoreType;
import org.neo4j.kernel.impl.store.id.RenewableBatchIdSequences;
import org.neo4j.kernel.impl.transaction.state.IntegrityValidator;
import org.neo4j.kernel.impl.transaction.state.Loaders;
import org.neo4j.kernel.impl.transaction.state.PropertyDeleter;
import org.neo4j.kernel.impl.transaction.state.PropertyTraverser;
import org.neo4j.kernel.impl.transaction.state.RecordChangeSet;
import org.neo4j.kernel.impl.transaction.state.RelationshipCreator;
import org.neo4j.kernel.impl.transaction.state.RelationshipDeleter;
import org.neo4j.kernel.impl.transaction.state.RelationshipGroupGetter;
import org.neo4j.storageengine.api.CommandCreationContext;
import org.neo4j.storageengine.api.lock.ResourceLocker;

Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.store.record.RelationshipRecord;
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.locking.LockTracer;
import org.neo4j.kernel.impl.locking.ResourceTypes;
Expand All @@ -26,7 +26,10 @@
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.store.record.RelationshipGroupRecord;
import org.neo4j.kernel.impl.store.record.RelationshipRecord;
import org.neo4j.kernel.impl.transaction.state.DirectionIdentifier;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;
import org.neo4j.kernel.impl.transaction.state.RecordAccessSet;
import org.neo4j.kernel.impl.util.DirectionWrapper;
import org.neo4j.storageengine.api.lock.ResourceLocker;

Expand Down Expand Up @@ -69,7 +72,7 @@ public void relationshipCreate( long id, int type, long firstNodeId, long second
recordChangeSet.getRelGroupRecords(), locks );
}

public static int relCount( long nodeId, RelationshipRecord rel )
static int relCount( long nodeId, RelationshipRecord rel )
{
return (int) (nodeId == rel.getFirstNode() ? rel.getFirstPrevRel() : rel.getSecondPrevRel());
}
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.locking.LockTracer;
import org.neo4j.kernel.impl.locking.ResourceTypes;
Expand All @@ -26,18 +26,21 @@
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.store.record.RelationshipGroupRecord;
import org.neo4j.kernel.impl.store.record.RelationshipRecord;
import org.neo4j.kernel.impl.transaction.state.DirectionIdentifier;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;
import org.neo4j.kernel.impl.transaction.state.RecordAccessSet;
import org.neo4j.kernel.impl.util.DirectionWrapper;
import org.neo4j.storageengine.api.lock.ResourceLocker;

import static org.neo4j.kernel.impl.transaction.state.RelationshipCreator.relCount;
import static org.neo4j.kernel.impl.storageengine.impl.recordstorage.RelationshipCreator.relCount;

public class RelationshipDeleter
class RelationshipDeleter
{
private final RelationshipGroupGetter relGroupGetter;
private final PropertyDeleter propertyChainDeleter;

public RelationshipDeleter( RelationshipGroupGetter relGroupGetter, PropertyDeleter propertyChainDeleter )
RelationshipDeleter( RelationshipGroupGetter relGroupGetter, PropertyDeleter propertyChainDeleter )
{
this.relGroupGetter = relGroupGetter;
this.propertyChainDeleter = propertyChainDeleter;
Expand All @@ -51,7 +54,7 @@ public RelationshipDeleter( RelationshipGroupGetter relGroupGetter, PropertyDele
*
* @param id The id of the relationship to delete.
*/
public void relDelete( long id, RecordAccessSet recordChanges, ResourceLocker locks )
void relDelete( long id, RecordAccessSet recordChanges, ResourceLocker locks )
{
RelationshipRecord record = recordChanges.getRelRecords().getOrLoad( id, null ).forChangingLinkage();
propertyChainDeleter.deletePropertyChain( record, recordChanges.getPropertyRecords() );
Expand Down Expand Up @@ -163,7 +166,7 @@ private void updateNodesForDeletedRelationship( RelationshipRecord rel, RecordAc
assert groupChange != null || loop : "Group has been deleted";
if ( groupChange != null )
{
RelationshipGroupRecord group = groupChange.forReadingData();
RelationshipGroupRecord group;
if ( rel.isFirstInSecondChain() )
{
group = groupChange.forChangingData();
Expand All @@ -182,12 +185,12 @@ private void updateNodesForDeletedRelationship( RelationshipRecord rel, RecordAc
}
}

private boolean decrementTotalRelationshipCount( long nodeId, RelationshipRecord rel, long firstRelId,
private void decrementTotalRelationshipCount( long nodeId, RelationshipRecord rel, long firstRelId,
RecordAccess<RelationshipRecord, Void> relRecords, ResourceLocker locks )
{
if ( firstRelId == Record.NO_PREV_RELATIONSHIP.intValue() )
{
return true;
return;
}
boolean firstInChain = relIsFirstInChain( nodeId, rel );
if ( !firstInChain )
Expand All @@ -205,7 +208,6 @@ private boolean decrementTotalRelationshipCount( long nodeId, RelationshipRecord
firstRel.setSecondPrevRel( firstInChain ? relCount( nodeId, rel ) - 1 : relCount( nodeId, firstRel ) - 1 );
firstRel.setFirstInSecondChain( true );
}
return false;
}

private void deleteGroup( RecordProxy<NodeRecord, Void> nodeChange,
Expand Down
Expand Up @@ -17,12 +17,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.transaction.state;
package org.neo4j.kernel.impl.storageengine.impl.recordstorage;

import org.neo4j.kernel.impl.store.id.IdSequence;
import org.neo4j.kernel.impl.store.record.NodeRecord;
import org.neo4j.kernel.impl.store.record.Record;
import org.neo4j.kernel.impl.store.record.RelationshipGroupRecord;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;

public class RelationshipGroupGetter
Expand Down
Expand Up @@ -49,14 +49,10 @@
import org.neo4j.kernel.impl.transaction.command.Command;
import org.neo4j.kernel.impl.transaction.command.Command.Mode;
import org.neo4j.kernel.impl.transaction.state.IntegrityValidator;
import org.neo4j.kernel.impl.transaction.state.PropertyDeleter;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;
import org.neo4j.kernel.impl.transaction.state.RecordAccessSet;
import org.neo4j.kernel.impl.transaction.state.RecordChangeSet;
import org.neo4j.kernel.impl.transaction.state.RecordChanges;
import org.neo4j.kernel.impl.transaction.state.RecordState;
import org.neo4j.kernel.impl.transaction.state.RelationshipCreator;
import org.neo4j.kernel.impl.transaction.state.RelationshipDeleter;
import org.neo4j.kernel.impl.transaction.state.TokenCreator;
import org.neo4j.kernel.impl.util.statistics.IntCounter;
import org.neo4j.storageengine.api.StorageCommand;
Expand Down
Expand Up @@ -24,6 +24,7 @@

import org.neo4j.helpers.collection.Iterables;
import org.neo4j.kernel.impl.api.CommandVisitor;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyRecordChange;
import org.neo4j.kernel.impl.store.record.AbstractBaseRecord;
import org.neo4j.kernel.impl.store.record.DynamicRecord;
import org.neo4j.kernel.impl.store.record.LabelTokenRecord;
Expand All @@ -38,7 +39,6 @@
import org.neo4j.kernel.impl.store.record.RelationshipTypeTokenRecord;
import org.neo4j.kernel.impl.store.record.SchemaRecord;
import org.neo4j.kernel.impl.store.record.TokenRecord;
import org.neo4j.kernel.impl.transaction.state.PropertyRecordChange;
import org.neo4j.storageengine.api.StorageCommand;
import org.neo4j.storageengine.api.WritableChannel;
import org.neo4j.storageengine.api.schema.SchemaRule;
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/
package org.neo4j.kernel.impl.transaction.state;

import org.neo4j.kernel.impl.storageengine.impl.recordstorage.Loaders;
import org.neo4j.kernel.impl.store.record.LabelTokenRecord;
import org.neo4j.kernel.impl.store.record.NodeRecord;
import org.neo4j.kernel.impl.store.record.PrimitiveRecord;
Expand Down
Expand Up @@ -111,7 +111,11 @@
import org.neo4j.kernel.impl.pagecache.PageCacheLifecycle;
import org.neo4j.kernel.impl.spi.SimpleKernelContext;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyCreator;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyDeleter;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyTraverser;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageReader;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RelationshipCreator;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RelationshipGroupGetter;
import org.neo4j.kernel.impl.store.CountsComputer;
import org.neo4j.kernel.impl.store.LabelTokenStore;
import org.neo4j.kernel.impl.store.NeoStores;
Expand Down Expand Up @@ -146,12 +150,8 @@
import org.neo4j.kernel.impl.store.record.RelationshipRecord;
import org.neo4j.kernel.impl.store.record.RelationshipTypeTokenRecord;
import org.neo4j.kernel.impl.transaction.state.DefaultIndexProviderMap;
import org.neo4j.kernel.impl.transaction.state.PropertyDeleter;
import org.neo4j.kernel.impl.transaction.state.PropertyTraverser;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.RecordProxy;
import org.neo4j.kernel.impl.transaction.state.RelationshipCreator;
import org.neo4j.kernel.impl.transaction.state.RelationshipGroupGetter;
import org.neo4j.kernel.impl.transaction.state.storeview.NeoStoreIndexStoreView;
import org.neo4j.kernel.impl.util.Dependencies;
import org.neo4j.kernel.impl.util.ValueUtils;
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/
package org.neo4j.unsafe.batchinsert.internal;

import org.neo4j.kernel.impl.storageengine.impl.recordstorage.Loaders;
import org.neo4j.kernel.impl.store.NeoStores;
import org.neo4j.kernel.impl.store.PropertyStore;
import org.neo4j.kernel.impl.store.RecordStore;
Expand All @@ -32,7 +33,6 @@
import org.neo4j.kernel.impl.store.record.RelationshipRecord;
import org.neo4j.kernel.impl.store.record.RelationshipTypeTokenRecord;
import org.neo4j.kernel.impl.store.record.SchemaRecord;
import org.neo4j.kernel.impl.transaction.state.Loaders;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccessSet;
import org.neo4j.storageengine.api.schema.SchemaRule;
Expand Down
Expand Up @@ -31,8 +31,8 @@
import org.neo4j.unsafe.impl.batchimport.staging.LonelyProcessingStep;
import org.neo4j.unsafe.impl.batchimport.staging.StageControl;

import static org.neo4j.kernel.impl.storageengine.impl.recordstorage.PropertyDeleter.deletePropertyRecordIncludingValueRecords;
import static org.neo4j.kernel.impl.store.record.RecordLoad.NORMAL;
import static org.neo4j.kernel.impl.transaction.state.PropertyDeleter.deletePropertyRecordIncludingValueRecords;

public class DeleteDuplicateNodesStep extends LonelyProcessingStep
{
Expand Down
Expand Up @@ -26,12 +26,12 @@
import java.util.TreeMap;
import java.util.function.ToIntFunction;

import org.neo4j.kernel.impl.storageengine.impl.recordstorage.Loaders;
import org.neo4j.kernel.impl.store.TokenStore;
import org.neo4j.kernel.impl.store.record.LabelTokenRecord;
import org.neo4j.kernel.impl.store.record.PropertyKeyTokenRecord;
import org.neo4j.kernel.impl.store.record.RelationshipTypeTokenRecord;
import org.neo4j.kernel.impl.store.record.TokenRecord;
import org.neo4j.kernel.impl.transaction.state.Loaders;
import org.neo4j.kernel.impl.transaction.state.RecordAccess;
import org.neo4j.kernel.impl.transaction.state.RecordAccess.Loader;
import org.neo4j.kernel.impl.transaction.state.TokenCreator;
Expand All @@ -54,7 +54,7 @@ public abstract class BatchingTokenRepository<RECORD extends TokenRecord>
private int highId;
private int highestCreatedId;

public BatchingTokenRepository( TokenStore<RECORD> store, Loader<RECORD,Void> loader )
BatchingTokenRepository( TokenStore<RECORD> store, Loader<RECORD,Void> loader )
{
this.store = store;
this.loader = loader;
Expand Down Expand Up @@ -208,15 +208,15 @@ private Iterable<Map.Entry<Integer,String>> sortCreatedTokensById()
public static class BatchingPropertyKeyTokenRepository
extends BatchingTokenRepository<PropertyKeyTokenRecord>
{
public BatchingPropertyKeyTokenRepository( TokenStore<PropertyKeyTokenRecord> store )
BatchingPropertyKeyTokenRepository( TokenStore<PropertyKeyTokenRecord> store )
{
super( store, Loaders.propertyKeyTokenLoader( store ) );
}
}

public static class BatchingLabelTokenRepository extends BatchingTokenRepository<LabelTokenRecord>
{
public BatchingLabelTokenRepository( TokenStore<LabelTokenRecord> store )
BatchingLabelTokenRepository( TokenStore<LabelTokenRecord> store )
{
super( store, Loaders.labelTokenLoader( store ) );
}
Expand All @@ -225,7 +225,7 @@ public BatchingLabelTokenRepository( TokenStore<LabelTokenRecord> store )
public static class BatchingRelationshipTypeTokenRepository
extends BatchingTokenRepository<RelationshipTypeTokenRecord>
{
public BatchingRelationshipTypeTokenRepository( TokenStore<RelationshipTypeTokenRecord> store )
BatchingRelationshipTypeTokenRepository( TokenStore<RelationshipTypeTokenRecord> store )
{
super( store, Loaders.relationshipTypeTokenLoader( store ) );
}
Expand Down

0 comments on commit 40d223a

Please sign in to comment.