if ( execCxt.getDataset() instanceof DatasetGraphTDB )
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
Explain.explain("Execute", opQuadPattern.getPattern(), execCxt.getContext()) ;
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
return SolverLib.execute(ds, gn, bgp, input, filter, execCxt) ;
}
// Maybe a TDB named graph inside a non-TDB dataset.
Graph g = execCxt.getActiveGraph() ;
if ( g instanceof GraphTDB )
{
// Triples graph from TDB (which is the default graph of the dataset),
// used a named graph in a composite dataset.
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
Explain.explain("Execute", bgp, execCxt.getContext()) ;
// Don't pass in G -- gn may be different.
return SolverLib.execute(((GraphTDB)g).getDSG(), gn, bgp, input, filter, execCxt) ;
}
Log.warn(this, "Non-DatasetGraphTDB passed to OpExecutorPlainTDB") ;