System.out.println("Starting scanner...");
int scanner = client.scannerOpen(t, bytes(""), columnNames);
try {
while (true) {
TRowResult entry = client.scannerGet(scanner);
printRow(entry);
}
} catch (NotFound nf) {
client.scannerClose(scanner);
System.out.println("Scanner finished");
}
//
// Run some operations on a bunch of rows
//
for (int i = 100; i >= 0; --i) {
// format row keys as "00000" to "00100"
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumIntegerDigits(5);
nf.setGroupingUsed(false);
byte[] row = bytes(nf.format(i));
mutations = new ArrayList<Mutation>();
mutations.add(new Mutation(false, bytes("unused:"), bytes("DELETE_ME")));
client.mutateRow(t, row, mutations);
printRow(client.getRow(t, row));
client.deleteAllRow(t, row);
mutations = new ArrayList<Mutation>();
mutations.add(new Mutation(false, bytes("entry:num"), bytes("0")));
mutations.add(new Mutation(false, bytes("entry:foo"), bytes("FOO")));
client.mutateRow(t, row, mutations);
printRow(client.getRow(t, row));
Mutation m = null;
mutations = new ArrayList<Mutation>();
m = new Mutation();
m.column = bytes("entry:foo");
m.isDelete = true;
mutations.add(m);
m = new Mutation();
m.column = bytes("entry:num");
m.value = bytes("-1");
mutations.add(m);
client.mutateRow(t, row, mutations);
printRow(client.getRow(t, row));
mutations = new ArrayList<Mutation>();
mutations.add(new Mutation(false, bytes("entry:num"), bytes(Integer.toString(i))));
mutations.add(new Mutation(false, bytes("entry:sqr"), bytes(Integer.toString(i * i))));
client.mutateRow(t, row, mutations);
printRow(client.getRow(t, row));
// sleep to force later timestamp
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// no-op
}
mutations.clear();
m = new Mutation();
m.column = bytes("entry:num");
m.value = bytes("-999");
mutations.add(m);
m = new Mutation();
m.column = bytes("entry:sqr");
m.isDelete = true;
client.mutateRowTs(t, row, mutations, 1); // shouldn't override latest
printRow(client.getRow(t, row));
List<TCell> versions = client.getVer(t, row, bytes("entry:num"), 10);
printVersions(row, versions);
if (versions.size() != 4) {
System.out.println("FATAL: wrong # of versions");
System.exit(-1);
}
try {
client.get(t, row, bytes("entry:foo"));
System.out.println("FATAL: shouldn't get here");
System.exit(-1);
} catch (NotFound nf2) {
// blank
}
System.out.println("");
}
// scan all rows/columnNames
columnNames.clear();
for (ColumnDescriptor col2 : client.getColumnDescriptors(t).values()) {
System.out.println("column with name: " + new String(col2.name));
System.out.println(col2.toString());
columnNames.add((utf8(col2.name) + ":").getBytes());
}
System.out.println("Starting scanner...");
scanner = client.scannerOpenWithStop(t, bytes("00020"), bytes("00040"),
columnNames);
try {
while (true) {
TRowResult entry = client.scannerGet(scanner);
printRow(entry);
}
} catch (NotFound nf) {
client.scannerClose(scanner);
System.out.println("Scanner finished");