in dbeam-core/src/main/java/com/spotify/dbeam/args/QueryBuilderArgs.java [123:149]
public List<String> buildQueries(final Connection connection) throws SQLException {
QueryBuilder queryBuilder = this.baseSqlQuery();
if (this.partitionColumn().isPresent() && this.partition().isPresent()) {
queryBuilder =
configurePartitionCondition(
this.partitionColumn().get(),
this.partition().get(),
partitionPeriod(),
queryBuilder);
}
if (this.limit().isPresent()) {
queryBuilder =
queryBuilder.withLimit(
queryParallelism().map(k -> limit().get() / k).orElse(limit().get()));
}
if (queryParallelism().isPresent() && splitColumn().isPresent()) {
long[] minMax = findInputBounds(connection, queryBuilder, splitColumn().get());
long min = minMax[0];
long max = minMax[1];
return queriesForBounds(
min, max, queryParallelism().get(), splitColumn().get(), queryBuilder);
} else {
return Lists.newArrayList(queryBuilder.build());
}
}