Skip to content

Commit

Permalink
restructured private inner clasess to separate packages.
Browse files Browse the repository at this point in the history
  • Loading branch information
praveenag committed Feb 15, 2017
1 parent 18b74da commit 4dca183
Show file tree
Hide file tree
Showing 18 changed files with 494 additions and 305 deletions.
Expand Up @@ -22,6 +22,7 @@ package org.neo4j.cypher.internal
import org.neo4j.cypher.internal.spi.v3_2.TransactionalContextWrapper
import org.neo4j.graphdb.Transaction
import org.neo4j.kernel.api.Statement
import org.neo4j.kernel.api.query.PlannerInfo

final case class TransactionInfo(tx: Transaction, isTopLevelTx: Boolean, statement: Statement)

Expand All @@ -33,5 +34,5 @@ trait ExecutionPlan {

def isStale(lastCommittedTxId: LastCommittedTxIdProvider, ctx: TransactionalContextWrapper): Boolean

def plannerInfo: org.neo4j.kernel.api.ExecutingQuery.PlannerInfo
def plannerInfo: PlannerInfo
}
Expand Up @@ -33,8 +33,9 @@ import org.neo4j.cypher.internal.spi.v2_3.{TransactionBoundGraphStatistics, Tran
import org.neo4j.cypher.internal.spi.v3_2.TransactionalContextWrapper
import org.neo4j.graphdb.{Node, Relationship}
import org.neo4j.kernel.GraphDatabaseQueryService
import org.neo4j.kernel.api.ExecutingQuery.PlannerInfo
import org.neo4j.kernel.api.{IndexUsage, KernelAPI}
import org.neo4j.kernel.api.query.PlannerInfo
import org.neo4j.kernel.api.KernelAPI
import org.neo4j.kernel.api.index.IndexUsage
import org.neo4j.kernel.impl.core.NodeManager
import org.neo4j.kernel.impl.query.QueryExecutionMonitor
import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors}
Expand Down
Expand Up @@ -32,8 +32,9 @@ import org.neo4j.cypher.internal.spi.v3_1.{TransactionalContextWrapper => Transa
import org.neo4j.cypher.internal.spi.v3_2.{TransactionalContextWrapper => TransactionalContextWrapperV3_2}
import org.neo4j.cypher.internal.{frontend, _}
import org.neo4j.kernel.GraphDatabaseQueryService
import org.neo4j.kernel.api.ExecutingQuery.PlannerInfo
import org.neo4j.kernel.api.{IndexUsage, KernelAPI}
import org.neo4j.kernel.api.query.PlannerInfo
import org.neo4j.kernel.api.KernelAPI
import org.neo4j.kernel.api.index.IndexUsage
import org.neo4j.kernel.impl.query.QueryExecutionMonitor
import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors}
import org.neo4j.logging.Log
Expand Down
Expand Up @@ -29,9 +29,9 @@ import org.neo4j.cypher.internal.frontend.v3_2.helpers.rewriting.RewriterStepSeq
import org.neo4j.cypher.internal.frontend.v3_2.phases.{CompilationPhaseTracer, RecordingNotificationLogger}
import org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.IndexSearchMonitor
import org.neo4j.cypher.internal.spi.v3_2._
import org.neo4j.kernel.api.ExecutingQuery.PlannerInfo
import org.neo4j.kernel.api.IndexUsage.{legacyIndexUsage, schemaIndexUsage}
import org.neo4j.kernel.api.index.IndexUsage.{legacyIndexUsage, schemaIndexUsage}
import org.neo4j.kernel.api.KernelAPI
import org.neo4j.kernel.api.query.PlannerInfo
import org.neo4j.kernel.impl.query.QueryExecutionMonitor
import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors}
import org.neo4j.logging.Log
Expand Down
Expand Up @@ -19,15 +19,13 @@
*/
package org.neo4j.kernel.api;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import java.util.function.LongSupplier;

import org.apache.commons.lang3.builder.ToStringBuilder;

import org.neo4j.kernel.api.query.*;
import org.neo4j.kernel.impl.locking.ActiveLock;
import org.neo4j.kernel.impl.locking.LockTracer;
import org.neo4j.kernel.impl.locking.LockWaitEvent;
Expand All @@ -36,7 +34,6 @@
import org.neo4j.time.CpuClock;
import org.neo4j.time.SystemNanoClock;

import static java.util.Collections.emptyList;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
import static java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater;

Expand All @@ -45,56 +42,6 @@
*/
public class ExecutingQuery
{
public static class QueryInfo
{
public final String text;
public final Map<String, Object> parameters;
public final String planner;
public final String runtime;
private final List<IndexUsage> indexes;

private QueryInfo( String text, Map<String, Object> parameters, PlannerInfo plannerInfo )
{
this.text = text;
this.parameters = parameters;
if ( plannerInfo != null )
{
this.planner = plannerInfo.planner;
this.runtime = plannerInfo.runtime;
this.indexes = plannerInfo.indexes;
}
else
{
this.planner = null;
this.runtime = null;
this.indexes = emptyList();
}
}

public List<Map<String, String>> indexes()
{
List<Map<String,String>> used = new ArrayList<>( this.indexes.size() );
for ( IndexUsage index : indexes )
{
used.add( index.asMap() );
}
return used;
}
}

public static class PlannerInfo
{
final String planner;
final String runtime;
final List<IndexUsage> indexes;

public PlannerInfo( String planner, String runtime, List<IndexUsage> indexes )
{
this.planner = planner;
this.runtime = runtime;
this.indexes = indexes;
}
}

private static final AtomicLongFieldUpdater<ExecutingQuery> WAIT_TIME =
newUpdater( ExecutingQuery.class, "waitTimeNanos" );
Expand All @@ -115,7 +62,7 @@ public PlannerInfo( String planner, String runtime, List<IndexUsage> indexes )
private final Map<String,Object> metaData;
/** Uses write barrier of {@link #status}. */
private PlannerInfo plannerInfo;
private volatile ExecutingQueryStatus status = ExecutingQueryStatus.planning();
private volatile ExecutingQueryStatus status = SimpleState.planning();
/** Updated through {@link #WAIT_TIME} */
@SuppressWarnings( "unused" )
private volatile long waitTimeNanos;
Expand Down Expand Up @@ -150,7 +97,7 @@ public void planningCompleted( PlannerInfo plannerInfo )
{
this.plannerInfo = plannerInfo;
this.planningDone = clock.millis();
this.status = ExecutingQueryStatus.running(); // write barrier - must be last
this.status = SimpleState.running(); // write barrier - must be last
}

@Override
Expand Down Expand Up @@ -284,7 +231,7 @@ private LockWaitEvent waitForLock( boolean exclusive, ResourceType resourceType,
return event;
}

private class WaitingOnLockEvent extends ExecutingQueryStatus.WaitingOnLock implements LockWaitEvent
private class WaitingOnLockEvent extends WaitingOnLock implements LockWaitEvent
{
private final ExecutingQueryStatus previous = status;

Expand All @@ -305,7 +252,7 @@ public void close()
}

@Override
boolean isPlanning()
public boolean isPlanning()
{
return previous.isPlanning();
}
Expand Down

This file was deleted.

This file was deleted.

0 comments on commit 4dca183

Please sign in to comment.