* @throws UnableToComplyException if an error according to the database
* occurs
*/
private Database buildDerivatorDB(Relation<ParameterizationFunction> relation, CASHInterval interval) throws UnableToComplyException {
DBIDs ids = interval.getIDs();
ProxyDatabase proxy = new ProxyDatabase(ids);
int dim = relation.get(ids.iterator().next()).getDimensionality();
SimpleTypeInformation<DoubleVector> type = new VectorFieldTypeInformation<DoubleVector>(DoubleVector.class, dim, new DoubleVector(new double[dim]));
MaterializedRelation<DoubleVector> prep = new MaterializedRelation<DoubleVector>(proxy, type, ids);
proxy.addRelation(prep);
// Project
for(DBID id : ids) {
DoubleVector v = new DoubleVector(relation.get(id).getColumnVector().getArrayRef());
prep.set(id, v);