in harry-core/src/harry/operations/WriteHelper.java [30:72]
public static CompiledStatement inflateInsert(SchemaSpec schema,
long pd,
long cd,
long[] vds,
long[] sds,
long timestamp)
{
Object[] partitionKey = schema.inflatePartitionKey(pd);
Object[] clusteringKey = schema.inflateClusteringKey(cd);
Object[] staticColumns = sds == null ? null : schema.inflateStaticColumns(sds);
Object[] regularColumns = schema.inflateRegularColumns(vds);
Object[] bindings = new Object[schema.allColumns.size()];
StringBuilder b = new StringBuilder();
b.append("INSERT INTO ")
.append(schema.keyspace)
.append('.')
.append(schema.table)
.append(" (");
int bindingsCount = 0;
bindingsCount += appendStatements(b, bindings, schema.partitionKeys, partitionKey, bindingsCount, true, ",", "%s");
bindingsCount += appendStatements(b, bindings, schema.clusteringKeys, clusteringKey, bindingsCount, false, ",", "%s");
bindingsCount += appendStatements(b, bindings, schema.regularColumns, regularColumns, bindingsCount, false, ",", "%s");
if (staticColumns != null)
bindingsCount += appendStatements(b, bindings, schema.staticColumns, staticColumns, bindingsCount, false, ",", "%s");
b.append(") VALUES (");
for (int i = 0; i < bindingsCount; i++)
{
if (i > 0)
b.append(", ");
b.append("?");
}
b.append(") USING TIMESTAMP ")
.append(timestamp)
.append(";");
return new CompiledStatement(b.toString(), adjustArraySize(bindings, bindingsCount));
}