Hi Ilya,
Tried executing SQL statement - 'SET STREAMING ON' from code, but this
produces an exception.
Here is my table definition:
CREATE TABLE public.test_data (
pk LONG, id LONG, k VARCHAR, v VARCHAR, PRIMARY KEY (pk, id))
WITH "TEMPLATE=PARTITIONED, BACKUPS=1, ATOMICITY=TRANSACTIONAL,
WRITE_SYNCHRONIZATION_MODE=FULL_SYNC, AFFINITY_KEY=id";
CREATE INDEX test_data_id_k_v ON public.test_data (id, k, v);
CREATE INDEX test_data_k_id_v ON public.test_data (k, id, v);
CREATE INDEX test_data_k_v_id ON public.test_data (k, v, id);
CREATE INDEX test_data_id ON public.test_data (id);
CREATE INDEX test_data_k ON public.test_data (k);
CREATE INDEX test_data_v ON public.test_data (v);
CREATE INDEX test_data_k_v ON public.test_data (k, v);
Here is my code:
public static void streamTestData() throws Exception {
Connection dbConnection = null;
PreparedStatement statement = null;
String insertTableSQL = "INSERT INTO test_data (pk, id, k, v) VALUES
(?, ?, ?, ?)";
try {
Class.forName("org.apache.ignite.IgniteJdbcDriver");
dbConnection = DriverManager.getConnection(
"jdbc:ignite:cfg://cache=DATASTORE:streaming=true:streamingFlushFrequency=1000@file:///home/me/ignite-jdbc-client.xml",
"", "");
dbConnection.setSchema("PUBLIC");
statement = dbConnection.prepareStatement(insertTableSQL);
int pk = 0;
for (int id = 0; id < 10000; id ++) {
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.cust.first_name");
statement.setString(4, pk % 2 == 0 ? "Joe" : "Mary");
statement.executeUpdate();
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.cust.last_name");
statement.setString(4, pk % 2 == 0 ? "Smythe" : "Pearson");
statement.executeUpdate();
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.cust.email");
statement.setString(4, pk % 2 == 0 ? "[email protected]" :
"[email protected]");
statement.executeUpdate();
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.cust.gender");
statement.setString(4, pk % 2 == 0 ? "Male" : "Female");
statement.executeUpdate();
long now = System.currentTimeMillis();
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.date");
statement.setString(4, "201" + String.valueOf(now % 10) +
"-12-0" + String.valueOf(pk % 10));
statement.executeUpdate();
statement.setInt(1, ++pk);
statement.setInt(2, id);
statement.setString(3, "trans.amount");
statement.setString(4, String.valueOf((now % 1000000) + 1));
statement.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace(System.err);
} finally {
if (statement != null) {
statement.close();
}
if (dbConnection != null) {
dbConnection.close();
}
}
}
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/