private PreparedStatement getKeyStatement()

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);
    }