@Override public int propertyKey( String name ) { ktx.assertOpen(); return tokenHolders.propertyKeyTokens().getIdByName( name ); }
@Override public int relationshipType( String name ) { ktx.assertOpen(); return tokenHolders.relationshipTypeTokens().getIdByName( name ); }
@Override public int nodeLabel( String name ) { ktx.assertOpen(); return tokenHolders.labelTokens().getIdByName( name ); }
@Override public boolean nodeHasLabel( long node, Label label ) { int labelId = tokenHolders.labelTokens().getIdByName( label.name() ); return labelId != NO_TOKEN && nodeHasLabel( node, labelId ); }
private int getOrCreateForName( TokenHolder tokens, String name ) throws IllegalTokenNameException { ktx.assertOpen(); int id = tokens.getIdByName( checkValidTokenName( name ) ); if ( id != NO_TOKEN ) { return id; } ktx.assertAllows( AccessMode::allowsTokenCreates, "Token create" ); return tokens.getOrCreateId( name ); }
private boolean primitiveHasProperty( PrimitiveRecord record, String propertyName ) { int propertyKeyId = tokenHolders.propertyKeyTokens().getIdByName( propertyName ); return propertyKeyId != NO_TOKEN && propertyTraverser.findPropertyRecordContaining( record, propertyKeyId, recordAccess.getPropertyRecords(), false ) != Record.NO_NEXT_PROPERTY.intValue(); }
private void getOrCreateForNames( TokenHolder tokenHolder, String[] names, int[] ids ) throws IllegalTokenNameException { ktx.assertOpen(); assertSameLength( names, ids ); for ( int i = 0; i < names.length; i++ ) { ids[i] = tokenHolder.getIdByName( checkValidTokenName( names[i] ) ); if ( ids[i] == NO_TOKEN ) { ktx.assertAllows( AccessMode::allowsTokenCreates, "Token create" ); tokenHolder.getOrCreateIds( names, ids ); return; } } }
@Test public void shouldRecoverCounts() throws Exception { // GIVEN Node node = createNode( label ); checkPoint(); deleteNode( node ); // WHEN crashAndRestart(); // THEN // -- really the problem was that recovery threw exception, so mostly assert that. try ( org.neo4j.internal.kernel.api.Transaction tx = db.getDependencyResolver().resolveDependency( Kernel.class ).beginTransaction( explicit, LoginContext.AUTH_DISABLED ) ) { assertEquals( 0, tx.dataRead().countsForNode( -1 ) ); final TokenHolder holder = db.getDependencyResolver().resolveDependency( TokenHolders.class ).labelTokens(); int labelId = holder.getIdByName( label.name() ); assertEquals( 0, tx.dataRead().countsForNode( labelId ) ); tx.success(); } }
@Override public int relationshipType( String name ) { ktx.assertOpen(); return tokenHolders.relationshipTypeTokens().getIdByName( name ); }
@Override public int nodeLabel( String name ) { ktx.assertOpen(); return tokenHolders.labelTokens().getIdByName( name ); }
@Override public int propertyKey( String name ) { ktx.assertOpen(); return tokenHolders.propertyKeyTokens().getIdByName( name ); }
@Override public boolean nodeHasLabel( long node, Label label ) { int labelId = tokenHolders.labelTokens().getIdByName( label.name() ); return labelId != NO_TOKEN && nodeHasLabel( node, labelId ); }
private boolean primitiveHasProperty( PrimitiveRecord record, String propertyName ) { int propertyKeyId = tokenHolders.propertyKeyTokens().getIdByName( propertyName ); return propertyKeyId != NO_TOKEN && propertyTraverser.findPropertyRecordContaining( record, propertyKeyId, recordAccess.getPropertyRecords(), false ) != Record.NO_NEXT_PROPERTY.intValue(); }
private int getOrCreateForName( TokenHolder tokens, String name ) throws IllegalTokenNameException { ktx.assertOpen(); int id = tokens.getIdByName( checkValidTokenName( name ) ); if ( id != NO_TOKEN ) { return id; } ktx.assertAllows( AccessMode::allowsTokenCreates, "Token create" ); return tokens.getOrCreateId( name ); }
private void getOrCreateForNames( TokenHolder tokenHolder, String[] names, int[] ids ) throws IllegalTokenNameException { ktx.assertOpen(); assertSameLength( names, ids ); for ( int i = 0; i < names.length; i++ ) { ids[i] = tokenHolder.getIdByName( checkValidTokenName( names[i] ) ); if ( ids[i] == NO_TOKEN ) { ktx.assertAllows( AccessMode::allowsTokenCreates, "Token create" ); tokenHolder.getOrCreateIds( names, ids ); return; } } }