/**
* testGenerate
*/
public void testVerticalPartitioning() throws Exception {
Database clone_db = CatalogCloner.cloneDatabase(catalog_db);
assert(clone_db.hashCode() != catalog_db.hashCode());
CatalogContext clone_catalogContext = new CatalogContext(clone_db.getCatalog());
System.err.println("catalog_db => " + catalog_db.hashCode());
System.err.println("clone_db => " + clone_db.hashCode());
int num_intervals = info.getNumIntervals();
info = this.generateInfo(clone_catalogContext);
info.setCostModel(new TimeIntervalCostModel<SingleSitedCostModel>(clone_catalogContext, SingleSitedCostModel.class, num_intervals));
info.setPartitionerClass(LNSPartitioner.class);
hints.enable_vertical_partitioning = true;
hints.max_memory_per_partition = Long.MAX_VALUE;
hints.enable_costmodel_multipartition_penalty = true;
hints.enable_replication_readmostly = false;
hints.enable_replication_readonly = false;
hints.weight_costmodel_multipartition_penalty = 100.0d;
hints.relaxation_min_size = clone_db.getTables().size();
hints.limit_local_time = 30;
hints.limit_total_time = 30;
designer = new Designer(info, hints, info.getArgs());
LNSPartitioner partitioner = (LNSPartitioner)designer.getPartitioner();