in spanner-data-validator-java/src/main/java/com/google/migration/JDBCToSpannerDVTWithHash.java [747:774]
private static List<PartitionRange> getPartitionRanges(TableSpec tableSpec,
Integer partitionCount,
Integer partitionFilterRatio) {
PartitionRangeListFetcher fetcher =
PartitionRangeListFetcherFactory.getFetcher(tableSpec.getRangeFieldType());
List<PartitionRange> bRanges;
LOG.info(String.format("Partition count is %d for Table %s",
partitionCount,
tableSpec.getTableName()));
if(partitionFilterRatio > 0) {
LOG.info("Getting partition ranges w/ filtering");
bRanges = fetcher.getPartitionRangesWithPartitionFilter(tableSpec.getRangeStart(),
tableSpec.getRangeEnd(),
partitionCount,
partitionFilterRatio);
} else {
LOG.info("Getting partition ranges w/ coverage");
bRanges = fetcher.getPartitionRangesWithCoverage(tableSpec.getRangeStart(),
tableSpec.getRangeEnd(),
partitionCount,
tableSpec.getRangeCoverage());
}
return bRanges;
}