package edu.brown.benchmark.example; import org.voltdb.CatalogContext; import org.voltdb.VoltTable; import org.voltdb.catalog.Table; import edu.brown.api.BenchmarkComponent; import edu.brown.catalog.CatalogUtil; public class ExampleLoader extends BenchmarkComponent { public static void main(String args[]) throws Exception { BenchmarkComponent.main(ExampleLoader.class, args, true); } public ExampleLoader(String[] args) { super(args); for (String key : m_extraParams.keySet()) { // TODO: Retrieve extra configuration parameters } // FOR } @Override public void runLoop() { CatalogContext catalog = this.getCatalogContext(); for (Table catalog_tbl : catalog.database.getTables()) { // Create an empty VoltTable handle and then populate it in batches // to be sent to the DBMS VoltTable table = CatalogUtil.getVoltTable(catalog_tbl); try { // Makes a blocking call to @LoadMultipartitionTable sysproc in // order to load the contents of the VoltTable into the cluster this.loadVoltTable(catalog_tbl.getName(), table); } catch (Exception e) { throw new RuntimeException("Failed to load data for " + catalog_tbl, e); } } // FOR } @Override public String[] getTransactionDisplayNames() { // IGNORE: Only needed for Client return new String[] {}; } }