Skip to content

Commit

Permalink
Remove ExtendedExecutionResult
Browse files Browse the repository at this point in the history
  • Loading branch information
pontusmelke committed May 24, 2016
1 parent 854461c commit ff4340b
Show file tree
Hide file tree
Showing 10 changed files with 34 additions and 62 deletions.
Expand Up @@ -19,10 +19,10 @@
*/
package org.neo4j.internal.cypher.acceptance

import org.neo4j.cypher.internal.ExtendedExecutionResult
import org.neo4j.cypher.ExecutionEngineFunSuite
import org.neo4j.cypher.internal.ExecutionResult
import org.neo4j.cypher.internal.compatibility.CompatibilityPlanDescriptionFor3_1
import org.neo4j.cypher.internal.compiler.v3_1._
import org.neo4j.cypher.ExecutionEngineFunSuite
import org.scalatest.matchers.{MatchResult, Matcher}

class PreParsingAcceptanceTest extends ExecutionEngineFunSuite {
Expand Down Expand Up @@ -81,8 +81,8 @@ class PreParsingAcceptanceTest extends ExecutionEngineFunSuite {
eengine.execute(query, Map.empty[String,Any], graph.session()) should havePlanner(RulePlannerName)
}

private def havePlanner(expected: PlannerName): Matcher[ExtendedExecutionResult] = new Matcher[ExtendedExecutionResult] {
override def apply(result: ExtendedExecutionResult): MatchResult = {
private def havePlanner(expected: PlannerName): Matcher[ExecutionResult] = new Matcher[ExecutionResult] {
override def apply(result: ExecutionResult): MatchResult = {
// exhaust the iterator so we can collect the plan description
result.length
result.executionPlanDescription() match {
Expand Down
Expand Up @@ -28,7 +28,6 @@
import java.util.stream.Stream;

import org.neo4j.cypher.CypherException;
import org.neo4j.cypher.internal.ExtendedExecutionResult;
import org.neo4j.graphdb.ExecutionPlanDescription;
import org.neo4j.graphdb.Notification;
import org.neo4j.graphdb.QueryExecutionException;
Expand All @@ -38,6 +37,7 @@
import org.neo4j.graphdb.ResourceIterator;
import org.neo4j.graphdb.Result;
import org.neo4j.kernel.impl.query.QueryExecutionKernelException;
import org.neo4j.kernel.impl.query.QuerySession;

/**
* Holds Cypher query result sets, in tabular form. Each row of the result is a map
Expand All @@ -53,7 +53,7 @@
*/
public class ExecutionResult implements ResourceIterable<Map<String,Object>>, Result
{
private final ExtendedExecutionResult inner;
private final org.neo4j.cypher.internal.ExecutionResult inner;

/**
* Initialized lazily and should be accessed with {@link #innerIterator()} method
Expand All @@ -64,11 +64,11 @@ public class ExecutionResult implements ResourceIterable<Map<String,Object>>, Re
/**
* Constructor used by the Cypher framework. End-users should not
* create an ExecutionResult directly, but instead use the result
* returned from calling {@link ExecutionEngine#execute(String)}.
* returned from calling {@link ExecutionEngine#executeQuery(String, Map, QuerySession)}.
*
* @param projection Execution result projection to use.
*/
public ExecutionResult( ExtendedExecutionResult projection )
public ExecutionResult( org.neo4j.cypher.internal.ExecutionResult projection )
{
inner = Objects.requireNonNull( projection );
//if updating query we must fetch the iterator right away in order to eagerly perform updates
Expand Down
Expand Up @@ -79,14 +79,14 @@ class ExecutionEngine(val queryService: GraphDatabaseQueryService, logProvider:
private val scalaValues = new RuntimeScalaValueConverter(isGraphKernelResultValue)

@throws(classOf[SyntaxException])
def profile(query: String, scalaParams: Map[String, Any], session: QuerySession): ExtendedExecutionResult = {
def profile(query: String, scalaParams: Map[String, Any], session: QuerySession): ExecutionResult = {
// we got deep scala parameters => convert to deep java parameters
val javaParams = javaValues.asDeepJavaMap(scalaParams).asInstanceOf[JavaMap[String, AnyRef]]
profile(query, javaParams, session)
}

@throws(classOf[SyntaxException])
def profile(query: String, javaParams: JavaMap[String, AnyRef], session: QuerySession): ExtendedExecutionResult = {
def profile(query: String, javaParams: JavaMap[String, AnyRef], session: QuerySession): ExecutionResult = {
// we got deep java parameters => convert to shallow scala parameters for passing into the engine
val scalaParams = scalaValues.asShallowScalaMap(javaParams)
executionMonitor.startQueryExecution(session, query, javaParams)
Expand All @@ -95,14 +95,14 @@ class ExecutionEngine(val queryService: GraphDatabaseQueryService, logProvider:
}

@throws(classOf[SyntaxException])
def execute(query: String, scalaParams: Map[String, Any], session: QuerySession): ExtendedExecutionResult = {
def execute(query: String, scalaParams: Map[String, Any], session: QuerySession): ExecutionResult = {
// we got deep scala parameters => convert to deep java parameters
val javaParams = javaValues.asDeepJavaMap(scalaParams).asInstanceOf[JavaMap[String, AnyRef]]
execute(query, javaParams, session)
}

@throws(classOf[SyntaxException])
def execute(query: String, javaParams: JavaMap[String, AnyRef], session: QuerySession): ExtendedExecutionResult = {
def execute(query: String, javaParams: JavaMap[String, AnyRef], session: QuerySession): ExecutionResult = {
// we got deep java parameters => convert to shallow scala parameters for passing into the engine
val scalaParams = scalaValues.asShallowScalaMap(javaParams)
executionMonitor.startQueryExecution(session, query, javaParams)
Expand Down
Expand Up @@ -28,7 +28,7 @@ final case class TransactionInfo(tx: Transaction, isTopLevelTx: Boolean, stateme

trait ExecutionPlan {

def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExtendedExecutionResult
def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExecutionResult

def isPeriodicCommit: Boolean

Expand Down
Expand Up @@ -21,7 +21,8 @@ package org.neo4j.cypher.internal

import java.io.PrintWriter

import org.neo4j.graphdb.ResourceIterator
import org.neo4j.graphdb.Result.ResultVisitor
import org.neo4j.graphdb.{Notification, QueryExecutionType, ResourceIterator}

trait ExecutionResult extends Iterator[Map[String, Any]] {
def columns: List[String]
Expand All @@ -34,4 +35,8 @@ trait ExecutionResult extends Iterator[Map[String, Any]] {
def queryStatistics(): QueryStatistics
def executionPlanDescription(): PlanDescription
def close()
def planDescriptionRequested: Boolean
def executionType: QueryExecutionType
def notifications: Iterable[Notification]
def accept[EX <: Exception](visitor: ResultVisitor[EX])
}

This file was deleted.

Expand Up @@ -36,7 +36,7 @@ import org.neo4j.cypher.internal.frontend.v2_3.{CypherException => InternalCyphe
import org.neo4j.cypher.internal.javacompat.{PlanDescription, ProfilerStatistics}
import org.neo4j.cypher.internal.spi.TransactionalContextWrapperv3_1
import org.neo4j.cypher.internal.spi.v2_3.{TransactionBoundGraphStatistics, TransactionBoundPlanContext, TransactionBoundQueryContext}
import org.neo4j.cypher.internal.{CypherExecutionMode, ExtendedExecutionResult, ExtendedPlanDescription, LastCommittedTxIdProvider, ParsedQuery, PreParsedQuery, QueryStatistics}
import org.neo4j.cypher.internal.{CypherExecutionMode, ExecutionResult, ExtendedPlanDescription, LastCommittedTxIdProvider, ParsedQuery, PreParsedQuery, QueryStatistics}
import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService
import org.neo4j.graphdb.Result.ResultVisitor
import org.neo4j.graphdb._
Expand Down Expand Up @@ -189,7 +189,7 @@ trait CompatibilityFor2_3 {
private def queryContext(transactionalContext: TransactionalContextWrapperv3_1): QueryContext =
new ExceptionTranslatingQueryContextFor2_3(new TransactionBoundQueryContext(transactionalContext))

def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExtendedExecutionResult = {
def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExecutionResult = {
implicit val s = session
val innerExecutionMode = executionMode match {
case CypherExecutionMode.explain => ExplainModev2_3
Expand All @@ -211,7 +211,7 @@ trait CompatibilityFor2_3 {

case class ExecutionResultWrapperFor2_3(inner: InternalExecutionResult, planner: PlannerName, runtime: RuntimeName)
(implicit monitor: QueryExecutionMonitor, session: QuerySession)
extends ExtendedExecutionResult {
extends ExecutionResult {

import org.neo4j.cypher.internal.compatibility.helpersv2_3._

Expand Down
Expand Up @@ -25,23 +25,23 @@ import java.{lang, util}

import org.neo4j.cypher._
import org.neo4j.cypher.internal._
import org.neo4j.cypher.internal.compiler.v3_0
import org.neo4j.cypher.internal.compiler.v3_0.commands.expressions.{CRS, Point}
import org.neo4j.cypher.internal.compiler.v3_0.executionplan.{ExecutionPlan => ExecutionPlan_v3_0, _}
import org.neo4j.cypher.internal.compiler.v3_0.planDescription.InternalPlanDescription.Arguments._
import org.neo4j.cypher.internal.compiler.v3_0.planDescription.{Argument, InternalPlanDescription, PlanDescriptionArgumentSerializer}
import org.neo4j.cypher.internal.compiler.v3_0.spi.{InternalResultRow, InternalResultVisitor, QueryContext}
import org.neo4j.cypher.internal.compiler.v3_0.spi.{InternalResultRow, InternalResultVisitor}
import org.neo4j.cypher.internal.compiler.v3_0.tracing.rewriters.RewriterStepSequencer
import org.neo4j.cypher.internal.compiler.v3_0.{CypherCompilerFactory, DPPlannerName, IDPPlannerName, InfoLogger, Monitors, PlannerName, ExplainMode => ExplainModev3_0, NormalMode => NormalModev3_0, ProfileMode => ProfileModev3_0, _}
import org.neo4j.cypher.internal.compiler.v3_0.{CypherCompilerFactory, DPPlannerName, ExplainMode => ExplainModev3_0, IDPPlannerName, InfoLogger, Monitors, NormalMode => NormalModev3_0, PlannerName, ProfileMode => ProfileModev3_0, _}
import org.neo4j.cypher.internal.compiler.{v3_0, v3_1}
import org.neo4j.cypher.internal.frontend.v3_0.notification.{InternalNotification, PlannerUnsupportedNotification, RuntimeUnsupportedNotification, _}
import org.neo4j.cypher.internal.frontend.v3_0.spi.MapToPublicExceptions
import org.neo4j.cypher.internal.frontend.v3_0.{CypherException => InternalCypherException}
import org.neo4j.cypher.internal.compiler.v3_1
import org.neo4j.cypher.internal.helpers.wrappersFor3_0.as3_0
import org.neo4j.cypher.internal.javacompat.{PlanDescription, ProfilerStatistics}
import org.neo4j.cypher.internal.spi.{TransactionalContextWrapperv3_0, TransactionalContextWrapperv3_1}
import org.neo4j.cypher.internal.spi.v3_0.TransactionBoundQueryContext.IndexSearchMonitor
import org.neo4j.cypher.internal.spi.v3_0._
import org.neo4j.cypher.internal.spi.{TransactionalContextWrapperv3_0, TransactionalContextWrapperv3_1}
import org.neo4j.graphdb
import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor}
import org.neo4j.graphdb.impl.notification.{NotificationCode, NotificationDetail}
import org.neo4j.graphdb.{InputPosition, Node, Path, QueryExecutionType, Relationship, ResourceIterator}
Expand All @@ -51,7 +51,6 @@ import org.neo4j.kernel.api.KernelAPI
import org.neo4j.kernel.impl.query.{QueryExecutionMonitor, QuerySession}
import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors}
import org.neo4j.logging.Log
import org.neo4j.graphdb

import scala.collection.JavaConverters._
import scala.reflect.ClassTag
Expand Down Expand Up @@ -224,7 +223,7 @@ trait CompatibilityFor3_0 {
new ExceptionTranslatingQueryContextFor3_0(ctx)
}

def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExtendedExecutionResult = {
def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExecutionResult = {
implicit val s = session
val innerExecutionMode = executionMode match {
case CypherExecutionMode.explain => ExplainModev3_0
Expand All @@ -246,7 +245,7 @@ trait CompatibilityFor3_0 {

case class ExecutionResultWrapperFor3_0(inner: InternalExecutionResult, planner: PlannerName, runtime: RuntimeName)
(implicit monitor: QueryExecutionMonitor, session: QuerySession)
extends ExtendedExecutionResult {
extends ExecutionResult {

import org.neo4j.cypher.internal.compatibility.helpersv3_0._

Expand Down
Expand Up @@ -31,7 +31,7 @@ import org.neo4j.cypher.internal.compiler.v3_1.planDescription.InternalPlanDescr
import org.neo4j.cypher.internal.compiler.v3_1.planDescription.{Argument, InternalPlanDescription, PlanDescriptionArgumentSerializer}
import org.neo4j.cypher.internal.compiler.v3_1.spi.{InternalResultRow, InternalResultVisitor}
import org.neo4j.cypher.internal.compiler.v3_1.tracing.rewriters.RewriterStepSequencer
import org.neo4j.cypher.internal.compiler.v3_1.{CypherCompilerFactory, DPPlannerName, IDPPlannerName, InfoLogger, Monitors, PlannerName, ExplainMode => ExplainModev3_1, NormalMode => NormalModev3_1, ProfileMode => ProfileModev3_1, _}
import org.neo4j.cypher.internal.compiler.v3_1.{CypherCompilerFactory, DPPlannerName, ExplainMode => ExplainModev3_1, IDPPlannerName, InfoLogger, Monitors, NormalMode => NormalModev3_1, PlannerName, ProfileMode => ProfileModev3_1, _}
import org.neo4j.cypher.internal.frontend.v3_1.notification.{InternalNotification, PlannerUnsupportedNotification, RuntimeUnsupportedNotification, _}
import org.neo4j.cypher.internal.frontend.v3_1.spi.MapToPublicExceptions
import org.neo4j.cypher.internal.frontend.v3_1.{CypherException => InternalCypherException}
Expand All @@ -40,15 +40,14 @@ import org.neo4j.cypher.internal.spi.TransactionalContextWrapperv3_1
import org.neo4j.cypher.internal.spi.v3_1.TransactionBoundQueryContext.IndexSearchMonitor
import org.neo4j.cypher.internal.spi.v3_1._
import org.neo4j.cypher.internal.spi.v3_1.codegen.GeneratedQueryStructure
import org.neo4j.graphdb
import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor}
import org.neo4j.graphdb.impl.notification.{NotificationCode, NotificationDetail}
import org.neo4j.kernel.GraphDatabaseQueryService
import org.neo4j.kernel.api.KernelAPI
import org.neo4j.kernel.impl.query.{QueryExecutionMonitor, QuerySession}
import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors}
import org.neo4j.logging.Log
import org.neo4j.graphdb


import scala.collection.JavaConverters._
import scala.reflect.ClassTag
Expand Down Expand Up @@ -215,7 +214,7 @@ trait CompatibilityFor3_1 {
new ExceptionTranslatingQueryContextFor3_1(ctx)
}

def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExtendedExecutionResult = {
def run(transactionalContext: TransactionalContextWrapperv3_1, executionMode: CypherExecutionMode, params: Map[String, Any], session: QuerySession): ExecutionResult = {
implicit val s = session
val innerExecutionMode = executionMode match {
case CypherExecutionMode.explain => ExplainModev3_1
Expand All @@ -237,7 +236,7 @@ trait CompatibilityFor3_1 {

case class ExecutionResultWrapperFor3_1(inner: InternalExecutionResult, planner: PlannerName, runtime: RuntimeName)
(implicit monitor: QueryExecutionMonitor, session: QuerySession)
extends ExtendedExecutionResult {
extends ExecutionResult {

import org.neo4j.cypher.internal.compatibility.helpersv3_1._

Expand Down
Expand Up @@ -19,11 +19,10 @@
*/
package org.neo4j.cypher

import org.neo4j.cypher.internal.ExtendedExecutionResult
import org.neo4j.cypher.internal.compiler.v3_1.executionplan.InternalExecutionResult
import org.neo4j.cypher.internal.compiler.v3_1.planDescription.InternalPlanDescription
import org.neo4j.cypher.internal.frontend.v3_1.test_helpers.CypherFunSuite
import org.neo4j.graphdb.{Result, Node, PropertyContainer}
import org.neo4j.graphdb.{Node, PropertyContainer, Result}
import org.neo4j.kernel.api.exceptions.Status
import org.scalatest.matchers.{MatchResult, Matcher}

Expand Down

0 comments on commit ff4340b

Please sign in to comment.