public Neo4jTransactionalContext copyFrom( GraphDatabaseQueryService graph, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker, InternalTransaction initialTransaction, Statement initialStatement, ExecutingQuery executingQuery ) { return new Neo4jTransactionalContext( graph, txBridge, locker, initialTransaction, initialStatement, executingQuery, kernel ); }
public static TransactionalContextFactory create( GraphDatabaseFacade.SPI spi, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker ) { Supplier<GraphDatabaseQueryService> queryService = lazySingleton( spi::queryService ); Supplier<Kernel> kernel = lazySingleton( spi::kernel ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService.get(), txBridge, locker, tx, initialStatement, executingQuery, kernel.get() ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
@Deprecated public static TransactionalContextFactory create( GraphDatabaseQueryService queryService, PropertyContainerLocker locker ) { DependencyResolver resolver = queryService.getDependencyResolver(); ThreadToStatementContextBridge txBridge = resolver.resolveDependency( ThreadToStatementContextBridge.class ); Kernel kernel = resolver.resolveDependency( Kernel.class ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService, txBridge, locker, tx, initialStatement, executingQuery, kernel ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
private Neo4jTransactionalContext newContext( InternalTransaction initialTx ) { return new Neo4jTransactionalContext( queryService, txBridge, new PropertyContainerLocker(), initialTx, initialStatement, null, null ); }
@Test public void checkKernelStatementOnCheck() { InternalTransaction initialTransaction = mock( InternalTransaction.class, new ReturnsDeepStubs() ); Kernel kernel = mock( Kernel.class ); ThreadToStatementContextBridge txBridge = mock( ThreadToStatementContextBridge.class ); KernelTransaction kernelTransaction = mockTransaction( initialStatement ); when( txBridge.getKernelTransactionBoundToThisThread( true ) ).thenReturn( kernelTransaction ); Neo4jTransactionalContext transactionalContext = new Neo4jTransactionalContext( null, txBridge, null, initialTransaction, initialStatement, null, kernel ); transactionalContext.check(); verify( kernelTransaction ).assertOpen(); }
new Neo4jTransactionalContext( queryService, txBridge, locker, initialTransaction, initialStatement, executingQuery, kernel );
new Neo4jTransactionalContext( queryService, txBridge, locker, initialTransaction, initialStatement, executingQuery, kernel );
@Test public void accumulateExecutionStatisticOverCommitAndRestart() { InternalTransaction initialTransaction = mock( InternalTransaction.class, new ReturnsDeepStubs() ); when( initialTransaction.terminationReason() ).thenReturn( Optional.empty() ); Kernel kernel = mock( Kernel.class ); Neo4jTransactionalContext transactionalContext = new Neo4jTransactionalContext( queryService, txBridge, null, initialTransaction, initialStatement, null, kernel ); statistics.setFaults( 2 ); statistics.setHits( 5 ); transactionalContext.commitAndRestartTx(); statistics.setFaults( 2 ); statistics.setHits( 5 ); transactionalContext.commitAndRestartTx(); statistics.setFaults( 2 ); statistics.setHits( 5 ); StatisticProvider statisticProvider = transactionalContext.kernelStatisticProvider(); assertEquals( "Expect to see accumulated number of page cache misses.", 6, statisticProvider.getPageCacheMisses() ); assertEquals( "Expected to see accumulated number of page cache hits.", 15, statisticProvider.getPageCacheHits() ); }
public Neo4jTransactionalContext copyFrom( GraphDatabaseQueryService graph, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker, InternalTransaction initialTransaction, Statement initialStatement, ExecutingQuery executingQuery ) { return new Neo4jTransactionalContext( graph, txBridge, locker, initialTransaction, initialStatement, executingQuery, kernel ); }
public static TransactionalContextFactory create( GraphDatabaseFacade.SPI spi, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker ) { Supplier<GraphDatabaseQueryService> queryService = lazySingleton( spi::queryService ); Supplier<Kernel> kernel = lazySingleton( spi::kernel ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService.get(), txBridge, locker, tx, initialStatement, executingQuery, kernel.get() ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
@Deprecated public static TransactionalContextFactory create( GraphDatabaseQueryService queryService, PropertyContainerLocker locker ) { DependencyResolver resolver = queryService.getDependencyResolver(); ThreadToStatementContextBridge txBridge = resolver.resolveDependency( ThreadToStatementContextBridge.class ); Kernel kernel = resolver.resolveDependency( Kernel.class ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService, txBridge, locker, tx, initialStatement, executingQuery, kernel ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }