Я немного поработал с Кассандрой и чувствую, что на протяжении многих лет я уже с достаточным количеством банов из базы данных. Просто интересно, почему это не работает в Apache Cassandra 2.1.0 (или 2.0.8) с 2.1.1 драйвера datastax java. Кажется, это должно сработать.Является ли Кассандра сломанной или я совершил огромную ошибку?
public class BS {
public static void main(String [] args) {
Cluster cluster = Cluster.builder().addContactPoint("192.168.1.6").build();
Metadata metadata = cluster.getMetadata();
System.out.printf("Connected to cluster: %s\n", metadata.getClusterName());
Session session = cluster.connect();
session.execute("CREATE KEYSPACE IF NOT EXISTS fook WITH replication= {'class':'SimpleStrategy', 'replication_factor':1 }");
session.execute("CREATE TABLE IF NOT EXISTS fook.dooftbl (id bigint PRIMARY KEY, doof text, ownerid bigint)");
long id = new Random().nextLong();
long ownerid = new Random().nextLong();
String doof = "broken db";
String load = "INSERT INTO fook.dooftbl (id,doof,ownerid) VALUES (?,?,?)";
PreparedStatement ps = session.prepare(load);
session.execute(ps.bind(id,doof,ownerid));
try {
String cql = "SELECT doof FROM fook.dooftbl WHERE id=?";
PreparedStatement ps2 = session.prepare(cql);
ResultSet rs= session.execute(ps2.bind(id));
System.out.println("Result set: " + rs.toString() + " size: " + rs.all().size() + " fullyFetched:" + rs.isFullyFetched());
//Row one = rs.one();
//if (one!=null)
// System.out.println("It worked. You will never have to worry about seeing this msg.");
String msg = null;
for (Row r : rs.all()) {
msg = r.getString("doof");
}
System.out.println("msg:" + msg);
}
catch (Exception e) {
e.printStackTrace();
}
cluster.close();
}
}
Я делаю что-то неправильно здесь или это что-то относительно незначительное?
Выходы:
Подключенное кластера: Test Cluster
Вывод: ResultSet [исчерпаны: ложные, Колонны [Doof (VARCHAR)]] размер: 1 fullyFetched: истинная
MSG : нулевой
Просьба описать _isn't working_. Что вы ожидаете от этого и почему? Что он делает вместо этого? –
На минимальном минимуме я ожидаю, что он покажет строку «Это сработало ...». Вместо этого он не показывает это. –
@AlexWhite Что _does_ это шоу? 'Подключен к кластеру? –