The limit of 100 rows is set in the underlying Driver, look for private int maxRows = 100;
.
The maxRows are set on the driver to the desired value if you use the fetchN() method:
public List<String> fetchN(int numRows)
A possible workaround could involve first getting the total number of rows, then calling fetchN(). But you may run into trouble if the returned data involve a potentially huge number of rows. For that reason, it seems a much better idea, to fetch and process the data in chunks. For comparison, here's what the CLI does:
do {
results = client.fetchN(LINES_TO_FETCH);
for (String line : results) {
out.println(line);
}
} while (results.size() == LINES_TO_FETCH);
where LINES_TO_FETCH = 40
. But that's more or less an arbitrary value, which you can tweak in your code depending on your particular needs.