builder.addProcedures(FakeCustomerLookup.class);
boolean success = builder.compile(Configuration.getPathToCatalogForTest("binarytest2.jar"), 1, 1, 0);
assert(success);
MiscUtils.copyFile(builder.getPathToDeployment(), Configuration.getPathToCatalogForTest("binarytest2.xml"));
ServerThread localServer = null;
Client client = null;
try {
VoltDB.Configuration config = new VoltDB.Configuration();
config.m_pathToCatalog = Configuration.getPathToCatalogForTest("binarytest2.jar");
config.m_pathToDeployment = Configuration.getPathToCatalogForTest("binarytest2.xml");
config.m_backend = BackendTarget.NATIVE_EE_JNI;
localServer = new ServerThread(config);
localServer.start();
localServer.waitForInitialization();
client = ClientFactory.createClient();
client.createConnection("localhost");
// insert data
// long c_id, long c_d_id, long c_w_id, String c_first, String c_middle,
// String c_last, String c_street_1, String c_street_2, String d_city,
// String d_state, String d_zip, String c_phone, Date c_since, String
// c_credit, double c_credit_lim, double c_discount, double c_balance,
// double c_ytd_payment, double c_payment_cnt, double c_delivery_cnt,
// String c_data
final double initialBalance = 15.75;
final double initialYTD = 15241.45;
VoltTable customer1 = client.callProcedure("InsertCustomer", C_ID, D_ID,
W_ID, "I", "Be", "lastname", "Place", "Place2", "BiggerPlace",
"AL", "91083", "(193) 099 - 9082", new TimestampType(), "BC",
19298943.12, .13, initialBalance, initialYTD, 0L, 15L,
"Some History").getResults()[0];
// check for successful insertion.
assertEquals(1L, customer1.asScalarLong());
VoltTable customer2 = client.callProcedure("InsertCustomer", C_ID + 1,
D_ID, W_ID, "We", "R", "Customer", "Random Department",
"Place2", "BiggerPlace", "AL", "13908", "(913) 909 - 0928",
new TimestampType(), "GC", 19298943.12, .13, initialBalance, initialYTD,
1L, 15L, "Some History").getResults()[0];
// check for successful insertion.
assertEquals(1L, customer2.asScalarLong());
VoltTable customer3 = client.callProcedure("InsertCustomer", C_ID + 2,
D_ID, W_ID, "Who", "Is", "Customer", "Receiving",
"450 Mass F.X.", "BiggerPlace", "CI", "91083",
"(541) 931 - 0928", new TimestampType(), "GC", 19899324.21, .13,
initialBalance, initialYTD, 2L, 15L, "Some History").getResults()[0];
// check for successful insertion.
assertEquals(1L, customer3.asScalarLong());
VoltTable customer4 = client.callProcedure("InsertCustomer", C_ID + 3,
D_ID, W_ID, "ICanBe", "", "Customer", "street", "place",
"BiggerPlace", "MA", "91083", "(913) 909 - 0928", new TimestampType(),
"GC", 19298943.12, .13, initialBalance, initialYTD, 3L, 15L,
"Some History").getResults()[0];
// check for successful insertion.
assertEquals(1L, customer4.asScalarLong());
// make sure strings as bytes works
ClientResponse cr = client.callProcedure("Fake1", "Customer".getBytes("UTF-8"), D_ID, W_ID);
assertTrue(cr.getStatus() == ClientResponse.SUCCESS);
assertEquals(3, cr.getResults()[0].getRowCount());
cr = client.callProcedure("Fake1", "Customer", D_ID, W_ID);
assertTrue(cr.getStatus() == ClientResponse.SUCCESS);
assertEquals(3, cr.getResults()[0].getRowCount());
cr = client.callProcedure("FakeCustomerLookup", W_ID, W_ID, D_ID, "Customer".getBytes("UTF-8"));
assertTrue(cr.getStatus() == ClientResponse.SUCCESS);
}
finally {
// stop execution
if (client != null) {
client.close();
}
if (localServer != null) {
localServer.shutdown();
localServer.join();
}
}
}