Search in sources :

Example 1 with CompilerFactory

use of org.neo4j.cypher.internal.CompilerFactory in project neo4j by neo4j.

the class CommunityCypherEngineProvider method createEngine.

@Override
protected QueryExecutionEngine createEngine(Dependencies deps, GraphDatabaseAPI graphAPI, boolean isSystemDatabase, SPI spi) {
    GraphDatabaseCypherService queryService = new GraphDatabaseCypherService(graphAPI);
    deps.satisfyDependency(queryService);
    CypherConfiguration cypherConfig = CypherConfiguration.fromConfig(spi.config());
    CypherPlannerConfiguration plannerConfig = CypherPlannerConfiguration.fromCypherConfiguration(cypherConfig, spi.config(), isSystemDatabase);
    CypherRuntimeConfiguration runtimeConfig = CypherRuntimeConfiguration.fromCypherConfiguration(cypherConfig);
    CompilerFactory compilerFactory = makeCompilerFactory(queryService, spi, plannerConfig, runtimeConfig);
    CaffeineCacheFactory cacheFactory = makeCacheFactory(spi);
    if (isSystemDatabase) {
        CypherPlannerConfiguration innerPlannerConfig = CypherPlannerConfiguration.fromCypherConfiguration(cypherConfig, spi.config(), false);
        CompilerFactory innerCompilerFactory = makeCompilerFactory(queryService, spi, innerPlannerConfig, runtimeConfig);
        return new SystemExecutionEngine(queryService, cacheFactory, spi.logProvider(), compilerFactory, innerCompilerFactory);
    } else if (spi.config().get(GraphDatabaseInternalSettings.snapshot_query)) {
        return new SnapshotExecutionEngine(queryService, spi.config(), cacheFactory, spi.logProvider(), compilerFactory);
    } else {
        return new ExecutionEngine(queryService, cacheFactory, spi.logProvider(), compilerFactory);
    }
}
Also used : CompilerFactory(org.neo4j.cypher.internal.CompilerFactory) CommunityCompilerFactory(org.neo4j.cypher.internal.CommunityCompilerFactory) CypherRuntimeConfiguration(org.neo4j.cypher.internal.CypherRuntimeConfiguration) QueryExecutionEngine(org.neo4j.kernel.impl.query.QueryExecutionEngine) ExecutorBasedCaffeineCacheFactory(org.neo4j.cypher.internal.cache.ExecutorBasedCaffeineCacheFactory) CaffeineCacheFactory(org.neo4j.cypher.internal.cache.CaffeineCacheFactory) CypherPlannerConfiguration(org.neo4j.cypher.internal.compiler.CypherPlannerConfiguration) CypherConfiguration(org.neo4j.cypher.internal.config.CypherConfiguration)

Aggregations

CommunityCompilerFactory (org.neo4j.cypher.internal.CommunityCompilerFactory)1 CompilerFactory (org.neo4j.cypher.internal.CompilerFactory)1 CypherRuntimeConfiguration (org.neo4j.cypher.internal.CypherRuntimeConfiguration)1 CaffeineCacheFactory (org.neo4j.cypher.internal.cache.CaffeineCacheFactory)1 ExecutorBasedCaffeineCacheFactory (org.neo4j.cypher.internal.cache.ExecutorBasedCaffeineCacheFactory)1 CypherPlannerConfiguration (org.neo4j.cypher.internal.compiler.CypherPlannerConfiguration)1 CypherConfiguration (org.neo4j.cypher.internal.config.CypherConfiguration)1 QueryExecutionEngine (org.neo4j.kernel.impl.query.QueryExecutionEngine)1