com.datastax.driver.core.PreparedId Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dse-java-driver-core Show documentation
Show all versions of dse-java-driver-core Show documentation
A driver for DataStax Enterprise (DSE)
and Apache Cassandra 1.2+ clusters that works exclusively with the
Cassandra Query Language version 3 (CQL3) and Cassandra's binary protocol,
supporting DSE-specific features such as geospatial types, DSE Graph and DSE authentication.
/*
* Copyright DataStax, Inc.
*
* This software can be used solely with DataStax Enterprise. Please consult the license at
* http://www.datastax.com/terms/datastax-dse-driver-license-terms
*/
package com.datastax.driver.core;
/**
* Identifies a PreparedStatement.
*/
public class PreparedId {
// This class is mostly here to group PreparedStatement data that are needed for
// execution but that we don't want to expose publicly (see JAVA-195)
final int[] routingKeyIndexes;
final ProtocolVersion protocolVersion;
final PreparedMetadata boundValuesMetadata;
// can change over time, see JAVA-1196, JAVA-420
volatile PreparedMetadata resultSetMetadata;
PreparedId(PreparedMetadata boundValuesMetadata, PreparedMetadata resultSetMetadata, int[] routingKeyIndexes, ProtocolVersion protocolVersion) {
assert boundValuesMetadata != null;
assert resultSetMetadata != null;
this.boundValuesMetadata = boundValuesMetadata;
this.resultSetMetadata = resultSetMetadata;
this.routingKeyIndexes = routingKeyIndexes;
this.protocolVersion = protocolVersion;
}
static class PreparedMetadata {
final MD5Digest id;
final ColumnDefinitions variables;
PreparedMetadata(MD5Digest id, ColumnDefinitions variables) {
this.id = id;
this.variables = variables;
}
}
}