Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Thrift interface V19.30.0

  • Loading branch information...
commit 38b8b1e52494925e6bbd322886eb6334441a9302 1 parent ab0bca2
@lpgauth authored
View
1  .gitignore
@@ -0,0 +1 @@
+.DS_Store
View
9 README
@@ -1,9 +0,0 @@
-Cassandra 0.6.5 -> branch 2.2.0
-Cassandra 0.6.6 -> branch 2.2.0
-Cassandra 0.6.7 -> branch 2.2.0
-Cassandra 0.6.8 -> branch 2.2.0
-Cassandra 0.6.9 -> branch 2.2.0
-Cassandra 0.7.0 -> branch 19.4.0
-Cassandra 0.7.1 -> branch 19.4.0
-Cassandra 0.7.2 -> branch 19.4.0
-
View
4 include/cassandra_constants.hrl
@@ -1,5 +1,5 @@
%%
-%% Autogenerated by Thrift Compiler (0.7.0)
+%% Autogenerated by Thrift Compiler (0.8.0)
%%
%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
%%
@@ -7,5 +7,5 @@
-include("cassandra_types.hrl").
--define(cassandra_VERSION, "19.10.0").
+-define(cassandra_VERSION, "19.30.0").
View
52 include/cassandra_types.hrl
@@ -17,6 +17,7 @@
-define(cassandra_IndexOperator_LT, 4).
-define(cassandra_IndexType_KEYS, 0).
+-define(cassandra_IndexType_CUSTOM, 1).
-define(cassandra_Compression_GZIP, 1).
-define(cassandra_Compression_NONE, 2).
@@ -123,6 +124,7 @@
end_key = undefined :: string(),
start_token = undefined :: string(),
end_token = undefined :: string(),
+ row_filter = [] :: list(),
count = 100 :: integer()}).
%% struct keySlice
@@ -146,11 +148,19 @@
-record(mutation, {column_or_supercolumn = #columnOrSuperColumn{} :: #columnOrSuperColumn{},
deletion = #deletion{} :: #deletion{}}).
+%% struct endpointDetails
+
+-record(endpointDetails, {host = undefined :: string(),
+ datacenter = undefined :: string(),
+ rack = undefined :: string()}).
+
%% struct tokenRange
-record(tokenRange, {start_token = undefined :: string(),
end_token = undefined :: string(),
- endpoints = [] :: list()}).
+ endpoints = [] :: list(),
+ rpc_endpoints = [] :: list(),
+ endpoint_details = [] :: list()}).
%% struct authenticationRequest
@@ -161,7 +171,8 @@
-record(columnDef, {name = undefined :: string(),
validation_class = undefined :: string(),
index_type = undefined :: integer(),
- index_name = undefined :: string()}).
+ index_name = undefined :: string(),
+ index_options = dict:new() :: dict()}).
%% struct cfDef
@@ -171,25 +182,32 @@
comparator_type = "BytesType" :: string(),
subcomparator_type = undefined :: string(),
comment = undefined :: string(),
- row_cache_size = 0 :: float(),
- key_cache_size = 200000 :: float(),
- read_repair_chance = 1 :: float(),
+ read_repair_chance = undefined :: float(),
column_metadata = [] :: list(),
gc_grace_seconds = undefined :: integer(),
default_validation_class = undefined :: string(),
id = undefined :: integer(),
min_compaction_threshold = undefined :: integer(),
max_compaction_threshold = undefined :: integer(),
+ replicate_on_write = undefined :: boolean(),
+ key_validation_class = undefined :: string(),
+ key_alias = undefined :: string(),
+ compaction_strategy = undefined :: string(),
+ compaction_strategy_options = dict:new() :: dict(),
+ compression_options = dict:new() :: dict(),
+ bloom_filter_fp_chance = undefined :: float(),
+ caching = "keys_only" :: string(),
+ dclocal_read_repair_chance = 0 :: float(),
+ row_cache_size = undefined :: float(),
+ key_cache_size = undefined :: float(),
row_cache_save_period_in_seconds = undefined :: integer(),
key_cache_save_period_in_seconds = undefined :: integer(),
memtable_flush_after_mins = undefined :: integer(),
memtable_throughput_in_mb = undefined :: integer(),
memtable_operations_in_millions = undefined :: float(),
- replicate_on_write = undefined :: boolean(),
merge_shards_chance = undefined :: float(),
- key_validation_class = undefined :: string(),
- row_cache_provider = "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider" :: string(),
- key_alias = undefined :: string()}).
+ row_cache_provider = undefined :: string(),
+ row_cache_keys_to_save = undefined :: integer()}).
%% struct ksDef
@@ -205,10 +223,24 @@
-record(cqlRow, {key = undefined :: string(),
columns = [] :: list()}).
+%% struct cqlMetadata
+
+-record(cqlMetadata, {name_types = dict:new() :: dict(),
+ value_types = dict:new() :: dict(),
+ default_name_type = undefined :: string(),
+ default_value_type = undefined :: string()}).
+
%% struct cqlResult
-record(cqlResult, {type = undefined :: integer(),
rows = [] :: list(),
- num = undefined :: integer()}).
+ num = undefined :: integer(),
+ schema = #cqlMetadata{} :: #cqlMetadata{}}).
+
+%% struct cqlPreparedResult
+
+-record(cqlPreparedResult, {itemId = undefined :: integer(),
+ count = undefined :: integer(),
+ variable_types = [] :: list()}).
-endif.
View
132 priv/cassandra.thrift
@@ -46,7 +46,16 @@ namespace rb CassandraThrift
# for every edit that doesn't result in a change to major/minor.
#
# See the Semantic Versioning Specification (SemVer) http://semver.org.
-const string VERSION = "19.10.0"
+#
+# Note that this backwards compatibility is from the perspective of the server,
+# not the client. Cassandra should always be able to talk to older client
+# software, but client software may not be able to talk to older Cassandra
+# instances.
+#
+# An effort should be made not to break forward-client-compatibility either
+# (e.g. one should avoid removing obsolete fields from the IDL), but no
+# guarantees in this respect are made by the Cassandra project.
+const string VERSION = "19.30.0"
#
@@ -284,12 +293,16 @@ struct IndexExpression {
3: required binary value,
}
+/**
+ * @Deprecated: use a KeyRange with row_filter in get_range_slices instead
+ */
struct IndexClause {
- 1: required list<IndexExpression> expressions
+ 1: required list<IndexExpression> expressions,
2: required binary start_key,
3: required i32 count=100,
}
+
/**
The semantics of start keys and tokens are slightly different.
Keys are start-inclusive; tokens are start-exclusive. Token
@@ -303,6 +316,7 @@ struct KeyRange {
2: optional binary end_key,
3: optional string start_token,
4: optional string end_token,
+ 6: optional list<IndexExpression> row_filter,
5: required i32 count=100
}
@@ -342,10 +356,26 @@ struct Mutation {
2: optional Deletion deletion,
}
+struct EndpointDetails {
+ 1: string host,
+ 2: string datacenter,
+ 3: optional string rack
+}
+
+/**
+ A TokenRange describes part of the Cassandra ring, it is a mapping from a range to
+ endpoints responsible for that range.
+ @param start_token The first token in the range
+ @param end_token The last token in the range
+ @param endpoints The endpoints responsible for the range (listed by their configured listen_address)
+ @param rpc_endpoints The endpoints responsible for the range (listed by their configured rpc_address)
+*/
struct TokenRange {
1: required string start_token,
2: required string end_token,
3: required list<string> endpoints,
+ 4: optional list<string> rpc_endpoints
+ 5: optional list<EndpointDetails> endpoint_details,
}
/**
@@ -357,6 +387,7 @@ struct AuthenticationRequest {
enum IndexType {
KEYS,
+ CUSTOM
}
/* describes a column in a column family. */
@@ -364,7 +395,8 @@ struct ColumnDef {
1: required binary name,
2: required string validation_class,
3: optional IndexType index_type,
- 4: optional string index_name
+ 4: optional string index_name,
+ 5: optional map<string,string> index_options
}
@@ -376,25 +408,45 @@ struct CfDef {
5: optional string comparator_type="BytesType",
6: optional string subcomparator_type,
8: optional string comment,
- 9: optional double row_cache_size=0,
- 11: optional double key_cache_size=200000,
- 12: optional double read_repair_chance=1.0,
+ 12: optional double read_repair_chance,
13: optional list<ColumnDef> column_metadata,
14: optional i32 gc_grace_seconds,
15: optional string default_validation_class,
16: optional i32 id,
17: optional i32 min_compaction_threshold,
18: optional i32 max_compaction_threshold,
+ 24: optional bool replicate_on_write,
+ 26: optional string key_validation_class,
+ 28: optional binary key_alias,
+ 29: optional string compaction_strategy,
+ 30: optional map<string,string> compaction_strategy_options,
+ 32: optional map<string,string> compression_options,
+ 33: optional double bloom_filter_fp_chance,
+ 34: optional string caching="keys_only",
+ 37: optional double dclocal_read_repair_chance = 0.0,
+
+ /* All of the following are now ignored and unsupplied. */
+
+ /** @deprecated */
+ 9: optional double row_cache_size,
+ /** @deprecated */
+ 11: optional double key_cache_size,
+ /** @deprecated */
19: optional i32 row_cache_save_period_in_seconds,
+ /** @deprecated */
20: optional i32 key_cache_save_period_in_seconds,
+ /** @deprecated */
21: optional i32 memtable_flush_after_mins,
+ /** @deprecated */
22: optional i32 memtable_throughput_in_mb,
+ /** @deprecated */
23: optional double memtable_operations_in_millions,
- 24: optional bool replicate_on_write,
+ /** @deprecated */
25: optional double merge_shards_chance,
- 26: optional string key_validation_class,
- 27: optional string row_cache_provider="org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider",
- 28: optional binary key_alias,
+ /** @deprecated */
+ 27: optional string row_cache_provider,
+ /** @deprecated */
+ 31: optional i32 row_cache_keys_to_save,
}
/* describes a keyspace. */
@@ -403,8 +455,8 @@ struct KsDef {
2: required string strategy_class,
3: optional map<string,string> strategy_options,
- /** @deprecated */
- 4: optional i32 replication_factor,
+ /** @deprecated, ignored */
+ 4: optional i32 replication_factor,
5: required list<CfDef> cf_defs,
6: optional bool durable_writes=1,
@@ -428,12 +480,27 @@ struct CqlRow {
2: required list<Column> columns
}
+struct CqlMetadata {
+ 1: required map<binary,string> name_types,
+ 2: required map<binary,string> value_types,
+ 3: required string default_name_type,
+ 4: required string default_value_type
+}
+
struct CqlResult {
1: required CqlResultType type,
2: optional list<CqlRow> rows,
- 3: optional i32 num
+ 3: optional i32 num,
+ 4: optional CqlMetadata schema
}
+struct CqlPreparedResult {
+ 1: required i32 itemId,
+ 2: required i32 count,
+ 3: optional list<string> variable_types
+}
+
+
service Cassandra {
# auth methods
void login(1: required AuthenticationRequest auth_request) throws (1:AuthenticationException authnx, 2:AuthorizationException authzx),
@@ -499,7 +566,19 @@ service Cassandra {
4:required ConsistencyLevel consistency_level=ConsistencyLevel.ONE)
throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te),
- /** Returns the subset of columns specified in SlicePredicate for the rows matching the IndexClause */
+ /**
+ returns a range of columns, wrapping to the next rows if necessary to collect max_results.
+ */
+ list<KeySlice> get_paged_slice(1:required string column_family,
+ 2:required KeyRange range,
+ 3:required binary start_column,
+ 4:required ConsistencyLevel consistency_level=ConsistencyLevel.ONE)
+ throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te),
+
+ /**
+ Returns the subset of columns specified in SlicePredicate for the rows matching the IndexClause
+ @Deprecated; use get_range_slices instead with range.row_filter specified
+ */
list<KeySlice> get_indexed_slices(1:required ColumnParent column_parent,
2:required IndexClause index_clause,
3:required SlicePredicate column_predicate,
@@ -566,7 +645,7 @@ service Cassandra {
some hosts are down.
*/
void truncate(1:required string cfname)
- throws (1: InvalidRequestException ire, 2: UnavailableException ue),
+ throws (1: InvalidRequestException ire, 2: UnavailableException ue, 3: TimedOutException te),
@@ -656,4 +735,27 @@ service Cassandra {
2:UnavailableException ue,
3:TimedOutException te,
4:SchemaDisagreementException sde)
+
+
+ /**
+ * Prepare a CQL (Cassandra Query Language) statement by compiling and returning
+ * - the type of CQL statement
+ * - an id token of the compiled CQL stored on the server side.
+ * - a count of the discovered bound markers in the statement
+ */
+ CqlPreparedResult prepare_cql_query(1:required binary query, 2:required Compression compression)
+ throws (1:InvalidRequestException ire)
+
+
+ /**
+ * Executes a prepared CQL (Cassandra Query Language) statement by passing an id token and a list of variables
+ * to bind and returns a CqlResult containing the results.
+ */
+ CqlResult execute_prepared_cql_query(1:required i32 itemId, 2:required list<binary> values)
+ throws (1:InvalidRequestException ire,
+ 2:UnavailableException ue,
+ 3:TimedOutException te,
+ 4:SchemaDisagreementException sde)
+
+ void set_cql_version(1: required string version) throws (1:InvalidRequestException ire)
}
View
4 src/cassandra.app.src
@@ -1,4 +1,4 @@
-{application, cassandra, [
+{application, cassandra_thrift, [
{description, "Cassandra Thrift Interface"},
- {vsn, "19.10.0"}
+ {vsn, "19.30.0"}
]}.
View
40 src/cassandra_thrift.erl
@@ -1,5 +1,5 @@
%%
-%% Autogenerated by Thrift Compiler (0.7.0)
+%% Autogenerated by Thrift Compiler (0.8.0)
%%
%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
%%
@@ -86,6 +86,15 @@ function_info('get_range_slices', reply_type) ->
function_info('get_range_slices', exceptions) ->
{struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}, {3, {struct, {'cassandra_types', 'timedOutException'}}}]}
;
+% get_paged_slice(This, Column_family, Range, Start_column, Consistency_level)
+function_info('get_paged_slice', params_type) ->
+ {struct, [{1, string}, {2, {struct, {'cassandra_types', 'keyRange'}}}, {3, string}, {4, i32}]}
+;
+function_info('get_paged_slice', reply_type) ->
+ {list, {struct, {'cassandra_types', 'keySlice'}}};
+function_info('get_paged_slice', exceptions) ->
+ {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}, {3, {struct, {'cassandra_types', 'timedOutException'}}}]}
+;
% get_indexed_slices(This, Column_parent, Index_clause, Column_predicate, Consistency_level)
function_info('get_indexed_slices', params_type) ->
{struct, [{1, {struct, {'cassandra_types', 'columnParent'}}}, {2, {struct, {'cassandra_types', 'indexClause'}}}, {3, {struct, {'cassandra_types', 'slicePredicate'}}}, {4, i32}]}
@@ -147,7 +156,7 @@ function_info('truncate', params_type) ->
function_info('truncate', reply_type) ->
{struct, []};
function_info('truncate', exceptions) ->
- {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}]}
+ {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}, {3, {struct, {'cassandra_types', 'timedOutException'}}}]}
;
% describe_schema_versions(This)
function_info('describe_schema_versions', params_type) ->
@@ -293,5 +302,32 @@ function_info('execute_cql_query', reply_type) ->
function_info('execute_cql_query', exceptions) ->
{struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}, {3, {struct, {'cassandra_types', 'timedOutException'}}}, {4, {struct, {'cassandra_types', 'schemaDisagreementException'}}}]}
;
+% prepare_cql_query(This, Query, Compression)
+function_info('prepare_cql_query', params_type) ->
+ {struct, [{1, string}, {2, i32}]}
+;
+function_info('prepare_cql_query', reply_type) ->
+ {struct, {'cassandra_types', 'cqlPreparedResult'}};
+function_info('prepare_cql_query', exceptions) ->
+ {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}]}
+;
+% execute_prepared_cql_query(This, ItemId, Values)
+function_info('execute_prepared_cql_query', params_type) ->
+ {struct, [{1, i32}, {2, {list, string}}]}
+;
+function_info('execute_prepared_cql_query', reply_type) ->
+ {struct, {'cassandra_types', 'cqlResult'}};
+function_info('execute_prepared_cql_query', exceptions) ->
+ {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}, {2, {struct, {'cassandra_types', 'unavailableException'}}}, {3, {struct, {'cassandra_types', 'timedOutException'}}}, {4, {struct, {'cassandra_types', 'schemaDisagreementException'}}}]}
+;
+% set_cql_version(This, Version)
+function_info('set_cql_version', params_type) ->
+ {struct, [{1, string}]}
+;
+function_info('set_cql_version', reply_type) ->
+ {struct, []};
+function_info('set_cql_version', exceptions) ->
+ {struct, [{1, {struct, {'cassandra_types', 'invalidRequestException'}}}]}
+;
function_info(_Func, _Info) -> no_function.
View
46 src/cassandra_types.erl
@@ -1,5 +1,5 @@
%%
-%% Autogenerated by Thrift Compiler (0.7.0)
+%% Autogenerated by Thrift Compiler (0.8.0)
%%
%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
%%
@@ -83,7 +83,7 @@ struct_info('indexClause') ->
;
struct_info('keyRange') ->
- {struct, [{1, string}, {2, string}, {3, string}, {4, string}, {5, i32}]}
+ {struct, [{1, string}, {2, string}, {3, string}, {4, string}, {6, {list, {struct, {'cassandra_types', 'indexExpression'}}}}, {5, i32}]}
;
struct_info('keySlice') ->
@@ -102,8 +102,12 @@ struct_info('mutation') ->
{struct, [{1, {struct, {'cassandra_types', 'columnOrSuperColumn'}}}, {2, {struct, {'cassandra_types', 'deletion'}}}]}
;
+struct_info('endpointDetails') ->
+ {struct, [{1, string}, {2, string}, {3, string}]}
+;
+
struct_info('tokenRange') ->
- {struct, [{1, string}, {2, string}, {3, {list, string}}]}
+ {struct, [{1, string}, {2, string}, {3, {list, string}}, {4, {list, string}}, {5, {list, {struct, {'cassandra_types', 'endpointDetails'}}}}]}
;
struct_info('authenticationRequest') ->
@@ -111,11 +115,11 @@ struct_info('authenticationRequest') ->
;
struct_info('columnDef') ->
- {struct, [{1, string}, {2, string}, {3, i32}, {4, string}]}
+ {struct, [{1, string}, {2, string}, {3, i32}, {4, string}, {5, {map, string, string}}]}
;
struct_info('cfDef') ->
- {struct, [{1, string}, {2, string}, {3, string}, {5, string}, {6, string}, {8, string}, {9, double}, {11, double}, {12, double}, {13, {list, {struct, {'cassandra_types', 'columnDef'}}}}, {14, i32}, {15, string}, {16, i32}, {17, i32}, {18, i32}, {19, i32}, {20, i32}, {21, i32}, {22, i32}, {23, double}, {24, bool}, {25, double}, {26, string}, {27, string}, {28, string}]}
+ {struct, [{1, string}, {2, string}, {3, string}, {5, string}, {6, string}, {8, string}, {12, double}, {13, {list, {struct, {'cassandra_types', 'columnDef'}}}}, {14, i32}, {15, string}, {16, i32}, {17, i32}, {18, i32}, {24, bool}, {26, string}, {28, string}, {29, string}, {30, {map, string, string}}, {32, {map, string, string}}, {33, double}, {34, string}, {37, double}, {9, double}, {11, double}, {19, i32}, {20, i32}, {21, i32}, {22, i32}, {23, double}, {25, double}, {27, string}, {31, i32}]}
;
struct_info('ksDef') ->
@@ -126,8 +130,16 @@ struct_info('cqlRow') ->
{struct, [{1, string}, {2, {list, {struct, {'cassandra_types', 'column'}}}}]}
;
+struct_info('cqlMetadata') ->
+ {struct, [{1, {map, string, string}}, {2, {map, string, string}}, {3, string}, {4, string}]}
+;
+
struct_info('cqlResult') ->
- {struct, [{1, i32}, {2, {list, {struct, {'cassandra_types', 'cqlRow'}}}}, {3, i32}]}
+ {struct, [{1, i32}, {2, {list, {struct, {'cassandra_types', 'cqlRow'}}}}, {3, i32}, {4, {struct, {'cassandra_types', 'cqlMetadata'}}}]}
+;
+
+struct_info('cqlPreparedResult') ->
+ {struct, [{1, i32}, {2, i32}, {3, {list, string}}]}
;
struct_info('i am a dummy struct') -> undefined.
@@ -205,7 +217,7 @@ struct_info_ext('indexClause') ->
;
struct_info_ext('keyRange') ->
- {struct, [{1, optional, string, 'start_key', undefined}, {2, optional, string, 'end_key', undefined}, {3, optional, string, 'start_token', undefined}, {4, optional, string, 'end_token', undefined}, {5, required, i32, 'count', 100}]}
+ {struct, [{1, optional, string, 'start_key', undefined}, {2, optional, string, 'end_key', undefined}, {3, optional, string, 'start_token', undefined}, {4, optional, string, 'end_token', undefined}, {6, optional, {list, {struct, {'cassandra_types', 'indexExpression'}}}, 'row_filter', []}, {5, required, i32, 'count', 100}]}
;
struct_info_ext('keySlice') ->
@@ -224,8 +236,12 @@ struct_info_ext('mutation') ->
{struct, [{1, optional, {struct, {'cassandra_types', 'columnOrSuperColumn'}}, 'column_or_supercolumn', #columnOrSuperColumn{}}, {2, optional, {struct, {'cassandra_types', 'deletion'}}, 'deletion', #deletion{}}]}
;
+struct_info_ext('endpointDetails') ->
+ {struct, [{1, undefined, string, 'host', undefined}, {2, undefined, string, 'datacenter', undefined}, {3, optional, string, 'rack', undefined}]}
+;
+
struct_info_ext('tokenRange') ->
- {struct, [{1, required, string, 'start_token', undefined}, {2, required, string, 'end_token', undefined}, {3, required, {list, string}, 'endpoints', []}]}
+ {struct, [{1, required, string, 'start_token', undefined}, {2, required, string, 'end_token', undefined}, {3, required, {list, string}, 'endpoints', []}, {4, optional, {list, string}, 'rpc_endpoints', []}, {5, optional, {list, {struct, {'cassandra_types', 'endpointDetails'}}}, 'endpoint_details', []}]}
;
struct_info_ext('authenticationRequest') ->
@@ -233,11 +249,11 @@ struct_info_ext('authenticationRequest') ->
;
struct_info_ext('columnDef') ->
- {struct, [{1, required, string, 'name', undefined}, {2, required, string, 'validation_class', undefined}, {3, optional, i32, 'index_type', undefined}, {4, optional, string, 'index_name', undefined}]}
+ {struct, [{1, required, string, 'name', undefined}, {2, required, string, 'validation_class', undefined}, {3, optional, i32, 'index_type', undefined}, {4, optional, string, 'index_name', undefined}, {5, optional, {map, string, string}, 'index_options', dict:new()}]}
;
struct_info_ext('cfDef') ->
- {struct, [{1, required, string, 'keyspace', undefined}, {2, required, string, 'name', undefined}, {3, optional, string, 'column_type', "Standard"}, {5, optional, string, 'comparator_type', "BytesType"}, {6, optional, string, 'subcomparator_type', undefined}, {8, optional, string, 'comment', undefined}, {9, optional, double, 'row_cache_size', 0}, {11, optional, double, 'key_cache_size', 200000}, {12, optional, double, 'read_repair_chance', 1}, {13, optional, {list, {struct, {'cassandra_types', 'columnDef'}}}, 'column_metadata', []}, {14, optional, i32, 'gc_grace_seconds', undefined}, {15, optional, string, 'default_validation_class', undefined}, {16, optional, i32, 'id', undefined}, {17, optional, i32, 'min_compaction_threshold', undefined}, {18, optional, i32, 'max_compaction_threshold', undefined}, {19, optional, i32, 'row_cache_save_period_in_seconds', undefined}, {20, optional, i32, 'key_cache_save_period_in_seconds', undefined}, {21, optional, i32, 'memtable_flush_after_mins', undefined}, {22, optional, i32, 'memtable_throughput_in_mb', undefined}, {23, optional, double, 'memtable_operations_in_millions', undefined}, {24, optional, bool, 'replicate_on_write', undefined}, {25, optional, double, 'merge_shards_chance', undefined}, {26, optional, string, 'key_validation_class', undefined}, {27, optional, string, 'row_cache_provider', "org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider"}, {28, optional, string, 'key_alias', undefined}]}
+ {struct, [{1, required, string, 'keyspace', undefined}, {2, required, string, 'name', undefined}, {3, optional, string, 'column_type', "Standard"}, {5, optional, string, 'comparator_type', "BytesType"}, {6, optional, string, 'subcomparator_type', undefined}, {8, optional, string, 'comment', undefined}, {12, optional, double, 'read_repair_chance', undefined}, {13, optional, {list, {struct, {'cassandra_types', 'columnDef'}}}, 'column_metadata', []}, {14, optional, i32, 'gc_grace_seconds', undefined}, {15, optional, string, 'default_validation_class', undefined}, {16, optional, i32, 'id', undefined}, {17, optional, i32, 'min_compaction_threshold', undefined}, {18, optional, i32, 'max_compaction_threshold', undefined}, {24, optional, bool, 'replicate_on_write', undefined}, {26, optional, string, 'key_validation_class', undefined}, {28, optional, string, 'key_alias', undefined}, {29, optional, string, 'compaction_strategy', undefined}, {30, optional, {map, string, string}, 'compaction_strategy_options', dict:new()}, {32, optional, {map, string, string}, 'compression_options', dict:new()}, {33, optional, double, 'bloom_filter_fp_chance', undefined}, {34, optional, string, 'caching', "keys_only"}, {37, optional, double, 'dclocal_read_repair_chance', 0}, {9, optional, double, 'row_cache_size', undefined}, {11, optional, double, 'key_cache_size', undefined}, {19, optional, i32, 'row_cache_save_period_in_seconds', undefined}, {20, optional, i32, 'key_cache_save_period_in_seconds', undefined}, {21, optional, i32, 'memtable_flush_after_mins', undefined}, {22, optional, i32, 'memtable_throughput_in_mb', undefined}, {23, optional, double, 'memtable_operations_in_millions', undefined}, {25, optional, double, 'merge_shards_chance', undefined}, {27, optional, string, 'row_cache_provider', undefined}, {31, optional, i32, 'row_cache_keys_to_save', undefined}]}
;
struct_info_ext('ksDef') ->
@@ -248,8 +264,16 @@ struct_info_ext('cqlRow') ->
{struct, [{1, required, string, 'key', undefined}, {2, required, {list, {struct, {'cassandra_types', 'column'}}}, 'columns', []}]}
;
+struct_info_ext('cqlMetadata') ->
+ {struct, [{1, required, {map, string, string}, 'name_types', dict:new()}, {2, required, {map, string, string}, 'value_types', dict:new()}, {3, required, string, 'default_name_type', undefined}, {4, required, string, 'default_value_type', undefined}]}
+;
+
struct_info_ext('cqlResult') ->
- {struct, [{1, required, i32, 'type', undefined}, {2, optional, {list, {struct, {'cassandra_types', 'cqlRow'}}}, 'rows', []}, {3, optional, i32, 'num', undefined}]}
+ {struct, [{1, required, i32, 'type', undefined}, {2, optional, {list, {struct, {'cassandra_types', 'cqlRow'}}}, 'rows', []}, {3, optional, i32, 'num', undefined}, {4, optional, {struct, {'cassandra_types', 'cqlMetadata'}}, 'schema', #cqlMetadata{}}]}
+;
+
+struct_info_ext('cqlPreparedResult') ->
+ {struct, [{1, required, i32, 'itemId', undefined}, {2, required, i32, 'count', undefined}, {3, optional, {list, string}, 'variable_types', []}]}
;
struct_info_ext('i am a dummy struct') -> undefined.
Please sign in to comment.
Something went wrong with that request. Please try again.