@Override public boolean isPeriodicCommit( String query ) { return queryExecutionEngine.isPeriodicCommit( query ); }
boolean periodicCommitQuery = executionEngine.isPeriodicCommit( query ); CommitOnSuccessfulStatusCodeRepresentationWriteHandler handler = (CommitOnSuccessfulStatusCodeRepresentationWriteHandler) output.getRepresentationWriteHandler();
@Test public void shouldCommitSinglePeriodicCommitStatement() throws Exception { // given String queryText = "USING PERIODIC COMMIT CREATE()"; TransitionalPeriodTransactionMessContainer kernel = mockKernel(); QueryExecutionEngine executionEngine = mock( QueryExecutionEngine.class ); Result executionResult = mock( Result.class ); TransactionalContext transactionalContext = prepareKernelWithQuerySession( kernel ); when( executionEngine.isPeriodicCommit( queryText) ).thenReturn( true ); when( executionEngine.executeQuery( eq( queryText ), eq( NO_PARAMS ), eq( transactionalContext ) ) ) .thenReturn( executionResult ); TransactionRegistry registry = mock( TransactionRegistry.class ); when( registry.begin( any( TransactionHandle.class ) ) ).thenReturn( 1337L ); TransactionHandle handle = getTransactionHandle( kernel, executionEngine, registry ); ExecutionResultSerializer output = mock( ExecutionResultSerializer.class ); Statement statement = new Statement( queryText, map(), false, (ResultDataContent[]) null ); // when handle.commit( statements( statement ), output, mock( HttpServletRequest.class ) ); // then verify( executionEngine ).executeQuery( queryText, NO_PARAMS, transactionalContext ); InOrder outputOrder = inOrder( output ); outputOrder.verify( output ).statementResult( executionResult, false, (ResultDataContent[]) null ); outputOrder.verify( output ).notifications( anyCollectionOf( Notification.class ) ); outputOrder.verify( output ).errors( argThat( hasNoErrors() ) ); outputOrder.verify( output ).finish(); verifyNoMoreInteractions( output ); }
@Test public void shouldDetectPeriodicCommitQueries() { // GIVEN QueryExecutionEngine engine = rule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( QueryExecutionEngine.class ); // WHEN boolean result = engine.isPeriodicCommit("USING PERIODIC COMMIT LOAD CSV FROM 'file:///tmp/foo.csv' AS line CREATE ()"); // THEN assertTrue( "Did not detect periodic commit query", result ); }
@Test public void shouldNotDetectInvalidQueriesAsPeriodicCommitQueries() { // GIVEN QueryExecutionEngine engine = rule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( QueryExecutionEngine.class ); // WHEN boolean result = engine.isPeriodicCommit("MATCH n RETURN m"); // THEN assertFalse( "Did detect an invalid query as periodic commit query", result ); } }
@Test public void shouldNotDetectNonPeriodicCommitQueriesAsPeriodicCommitQueries() { // GIVEN QueryExecutionEngine engine = rule.getGraphDatabaseAPI().getDependencyResolver() .resolveDependency( QueryExecutionEngine.class ); // WHEN boolean result = engine.isPeriodicCommit("CREATE ()"); // THEN assertFalse( "Did detect non-periodic commit query as periodic commit query", result ); }
try boolean hasPeriodicCommit = engine.isPeriodicCommit( statement.statement() ); if ( (statements.hasNext() || hasPrevious) && hasPeriodicCommit )
@Override public boolean isPeriodicCommit( String query ) { return queryExecutionEngine.isPeriodicCommit( query ); }
@Override public Continuation execute( AppCommandParser parser, Session session, Output out ) throws Exception { String query = parser.getLine().trim(); if ( isComplete( query ) ) { if ( getEngine().isPeriodicCommit( query ) ) { return exec( parser, session, out ); } else { return super.execute( parser, session, out ); } } else { return Continuation.INPUT_INCOMPLETE; } }
boolean periodicCommitQuery = executionEngine.isPeriodicCommit( query ); CommitOnSuccessfulStatusCodeRepresentationWriteHandler handler = (CommitOnSuccessfulStatusCodeRepresentationWriteHandler) output.getRepresentationWriteHandler();
try boolean hasPeriodicCommit = engine.isPeriodicCommit( statement.statement() ); if ( (statements.hasNext() || hasPrevious) && hasPeriodicCommit )