in spark-job/src/main/java/org/apache/cassandra/diff/DiffCluster.java [214:231]
private PreparedStatement getKeyStatement(@NotNull KeyspaceTablePair keyspaceTablePair) {
final TableMetadata tableMetadata = session.getCluster()
.getMetadata()
.getKeyspace(cqlizedString(keyspaceTablePair.keyspace))
.getTable(cqlizedString(keyspaceTablePair.table));
String[] partitionKeyColumns = columnNames(tableMetadata.getPartitionKey());
Select.Selection selection = QueryBuilder.select().distinct().column(token(partitionKeyColumns));
for (String column : partitionKeyColumns)
selection = selection.column(column);
BuiltStatement select = selection.from(cqlizedString(tableMetadata.getKeyspace().getName()), cqlizedString(tableMetadata.getName()))
.where(gt(token(partitionKeyColumns), bindMarker()))
.and(lte(token(partitionKeyColumns), bindMarker()));
logger.debug("Partition key/token read CQL : {}", select.toString());
return session.prepare(select).setConsistencyLevel(consistencyLevel);
}