hints.max_memory_per_partition = 1;
hints.enable_procparameter_search = false;
this.partitioner.setParameters(agraph, table_visit_order, proc_visit_order);
this.partitioner.init(this.hints);
StateVertex start_vertex = StateVertex.getStartVertex(Double.MAX_VALUE, Long.MAX_VALUE);
TraverseThread thread = this.partitioner.new TraverseThread(info, hints, start_vertex, agraph, table_visit_order, proc_visit_order);
assertNotNull(thread);
thread.traverse(start_vertex, 0);
this.partitioner.getHaltReason();
// Make sure that the solution we pick has a memory and a cost
StateVertex best_vertex = this.partitioner.getBestVertex();
assertNotNull(best_vertex);
assert(best_vertex.getCatalogKeyMap().isEmpty());
// Map<CatalogType, CatalogType> m = best_vertex.getCatalogMap(catalog_db);
// for (Table catalog_tbl : orig_partitioning.keySet()) {
// assert(m.containsKey(catalog_tbl)) : "Missing " + catalog_tbl;
// assertEquals(orig_partitioning.get(catalog_tbl).fullName(), m.get(catalog_tbl).fullName());
// } // FOR