@Override
public SqlQueryExecution createQueryExecution(QueryId queryId, String query, Session session, Statement statement)
{
String executionPolicyName = SystemSessionProperties.getExecutionPolicy(session);
ExecutionPolicy executionPolicy = executionPolicies.get(executionPolicyName);
checkArgument(executionPolicy != null, "No execution policy %s", executionPolicy);
return new SqlQueryExecution(
queryId,
query,
session,
locationFactory.createQueryLocation(queryId),
statement,
transactionManager,
metadata,
accessControl,
sqlParser,
splitManager,
nodePartitioningManager,
nodeScheduler,
planOptimizers,
remoteTaskFactory,
locationFactory,
scheduleSplitBatchSize,
experimentalSyntaxEnabled,
executor,
nodeTaskMap,
queryExplainer,
executionPolicy);
}
}