in harry-core/src/harry/model/SelectHelper.java [146:177]
public static CompiledStatement count(SchemaSpec schema, long pd)
{
StringBuilder b = new StringBuilder();
b.append("SELECT count(*) ");
b.append(" FROM ")
.append(schema.keyspace)
.append(".")
.append(schema.table)
.append(" WHERE ");
List<Object> bindings = new ArrayList<>(schema.partitionKeys.size());
schema.inflateRelations(pd,
Collections.emptyList(),
new SchemaSpec.AddRelationCallback()
{
boolean isFirst = true;
public void accept(ColumnSpec<?> spec, Relation.RelationKind kind, Object value)
{
if (isFirst)
isFirst = false;
else
b.append(" AND ");
b.append(kind.getClause(spec));
bindings.add(value);
}
});
Object[] bindingsArr = bindings.toArray(new Object[bindings.size()]);
return new CompiledStatement(b.toString(), bindingsArr);
}