cassandra-driver 3.0.0.beta.1-java → 3.0.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +106 -39
- data/lib/cassandra.rb +396 -148
- data/lib/cassandra/address_resolution.rb +1 -1
- data/lib/cassandra/address_resolution/policies/ec2_multi_region.rb +1 -1
- data/lib/cassandra/address_resolution/policies/none.rb +1 -1
- data/lib/cassandra/aggregate.rb +21 -7
- data/lib/cassandra/argument.rb +2 -2
- data/lib/cassandra/attr_boolean.rb +33 -0
- data/lib/cassandra/auth.rb +6 -5
- data/lib/cassandra/auth/providers.rb +1 -1
- data/lib/cassandra/auth/providers/password.rb +5 -13
- data/lib/cassandra/cassandra_logger.rb +80 -0
- data/lib/cassandra/cluster.rb +49 -9
- data/lib/cassandra/cluster/client.rb +835 -209
- data/lib/cassandra/cluster/connection_pool.rb +2 -2
- data/lib/cassandra/cluster/connector.rb +86 -27
- data/lib/cassandra/cluster/control_connection.rb +222 -95
- data/lib/cassandra/cluster/failed_connection.rb +1 -1
- data/lib/cassandra/cluster/metadata.rb +14 -8
- data/lib/cassandra/cluster/options.rb +68 -22
- data/lib/cassandra/cluster/registry.rb +81 -17
- data/lib/cassandra/cluster/schema.rb +70 -8
- data/lib/cassandra/cluster/schema/cql_type_parser.rb +15 -10
- data/lib/cassandra/cluster/schema/fetchers.rb +601 -241
- data/lib/cassandra/cluster/schema/fqcn_type_parser.rb +39 -38
- data/lib/cassandra/cluster/schema/partitioners.rb +1 -1
- data/lib/cassandra/cluster/schema/partitioners/murmur3.rb +6 -8
- data/lib/cassandra/cluster/schema/partitioners/ordered.rb +1 -1
- data/lib/cassandra/cluster/schema/partitioners/random.rb +1 -1
- data/lib/cassandra/cluster/schema/replication_strategies.rb +1 -1
- data/lib/cassandra/cluster/schema/replication_strategies/network_topology.rb +19 -18
- data/lib/cassandra/cluster/schema/replication_strategies/none.rb +1 -1
- data/lib/cassandra/cluster/schema/replication_strategies/simple.rb +1 -1
- data/lib/cassandra/column.rb +4 -23
- data/lib/cassandra/column_container.rb +322 -0
- data/lib/cassandra/compression.rb +1 -1
- data/lib/cassandra/compression/compressors/lz4.rb +7 -8
- data/lib/cassandra/compression/compressors/snappy.rb +4 -3
- data/lib/cassandra/driver.rb +107 -46
- data/lib/cassandra/errors.rb +303 -52
- data/lib/cassandra/execution/info.rb +16 -5
- data/lib/cassandra/execution/options.rb +102 -55
- data/lib/cassandra/execution/trace.rb +16 -9
- data/lib/cassandra/executors.rb +1 -1
- data/lib/cassandra/function.rb +19 -13
- data/lib/cassandra/function_collection.rb +85 -0
- data/lib/cassandra/future.rb +101 -49
- data/lib/cassandra/host.rb +25 -5
- data/lib/cassandra/index.rb +118 -0
- data/lib/cassandra/keyspace.rb +169 -33
- data/lib/cassandra/listener.rb +1 -1
- data/lib/cassandra/load_balancing.rb +2 -2
- data/lib/cassandra/load_balancing/policies.rb +1 -1
- data/lib/cassandra/load_balancing/policies/dc_aware_round_robin.rb +39 -25
- data/lib/cassandra/load_balancing/policies/round_robin.rb +8 -1
- data/lib/cassandra/load_balancing/policies/token_aware.rb +22 -13
- data/lib/cassandra/load_balancing/policies/white_list.rb +18 -5
- data/lib/cassandra/materialized_view.rb +90 -0
- data/lib/cassandra/null_logger.rb +27 -6
- data/lib/cassandra/protocol.rb +1 -1
- data/lib/cassandra/protocol/coder.rb +81 -42
- data/lib/cassandra/protocol/cql_byte_buffer.rb +58 -44
- data/lib/cassandra/protocol/cql_protocol_handler.rb +57 -54
- data/lib/cassandra/protocol/request.rb +6 -7
- data/lib/cassandra/protocol/requests/auth_response_request.rb +3 -3
- data/lib/cassandra/protocol/requests/batch_request.rb +17 -8
- data/lib/cassandra/protocol/requests/credentials_request.rb +3 -3
- data/lib/cassandra/protocol/requests/execute_request.rb +39 -20
- data/lib/cassandra/protocol/requests/options_request.rb +1 -1
- data/lib/cassandra/protocol/requests/prepare_request.rb +5 -5
- data/lib/cassandra/protocol/requests/query_request.rb +28 -23
- data/lib/cassandra/protocol/requests/register_request.rb +2 -2
- data/lib/cassandra/protocol/requests/startup_request.rb +8 -8
- data/lib/cassandra/protocol/requests/void_query_request.rb +1 -1
- data/lib/cassandra/protocol/response.rb +3 -4
- data/lib/cassandra/protocol/responses/already_exists_error_response.rb +12 -2
- data/lib/cassandra/protocol/responses/auth_challenge_response.rb +4 -5
- data/lib/cassandra/protocol/responses/auth_success_response.rb +4 -5
- data/lib/cassandra/protocol/responses/authenticate_response.rb +4 -5
- data/lib/cassandra/protocol/responses/error_response.rb +104 -17
- data/lib/cassandra/protocol/responses/event_response.rb +3 -4
- data/lib/cassandra/protocol/responses/function_failure_error_response.rb +13 -2
- data/lib/cassandra/protocol/responses/prepared_result_response.rb +14 -9
- data/lib/cassandra/protocol/responses/raw_rows_result_response.rb +14 -9
- data/lib/cassandra/protocol/responses/read_failure_error_response.rb +26 -4
- data/lib/cassandra/protocol/responses/read_timeout_error_response.rb +22 -3
- data/lib/cassandra/protocol/responses/ready_response.rb +6 -7
- data/lib/cassandra/protocol/responses/result_response.rb +11 -10
- data/lib/cassandra/protocol/responses/rows_result_response.rb +8 -7
- data/lib/cassandra/protocol/responses/schema_change_event_response.rb +8 -8
- data/lib/cassandra/protocol/responses/schema_change_result_response.rb +19 -13
- data/lib/cassandra/protocol/responses/set_keyspace_result_response.rb +5 -6
- data/lib/cassandra/protocol/responses/status_change_event_response.rb +5 -6
- data/lib/cassandra/protocol/responses/supported_response.rb +4 -5
- data/lib/cassandra/protocol/responses/topology_change_event_response.rb +4 -5
- data/lib/cassandra/protocol/responses/unavailable_error_response.rb +20 -3
- data/lib/cassandra/protocol/responses/unprepared_error_response.rb +11 -2
- data/lib/cassandra/protocol/responses/void_result_response.rb +4 -5
- data/lib/cassandra/protocol/responses/write_failure_error_response.rb +26 -4
- data/lib/cassandra/protocol/responses/write_timeout_error_response.rb +22 -3
- data/lib/cassandra/protocol/v1.rb +98 -37
- data/lib/cassandra/protocol/v3.rb +121 -50
- data/lib/cassandra/protocol/v4.rb +172 -68
- data/lib/cassandra/reconnection.rb +1 -1
- data/lib/cassandra/reconnection/policies.rb +1 -1
- data/lib/cassandra/reconnection/policies/constant.rb +2 -4
- data/lib/cassandra/reconnection/policies/exponential.rb +6 -6
- data/lib/cassandra/result.rb +55 -20
- data/lib/cassandra/retry.rb +8 -8
- data/lib/cassandra/retry/policies.rb +1 -1
- data/lib/cassandra/retry/policies/default.rb +1 -1
- data/lib/cassandra/retry/policies/downgrading_consistency.rb +4 -2
- data/lib/cassandra/retry/policies/fallthrough.rb +1 -1
- data/lib/cassandra/session.rb +24 -16
- data/lib/cassandra/statement.rb +1 -1
- data/lib/cassandra/statements.rb +1 -1
- data/lib/cassandra/statements/batch.rb +16 -10
- data/lib/cassandra/statements/bound.rb +10 -3
- data/lib/cassandra/statements/prepared.rb +62 -18
- data/lib/cassandra/statements/simple.rb +23 -10
- data/lib/cassandra/statements/void.rb +1 -1
- data/lib/cassandra/table.rb +53 -185
- data/lib/cassandra/time.rb +11 -6
- data/lib/cassandra/time_uuid.rb +12 -14
- data/lib/cassandra/timestamp_generator.rb +37 -0
- data/lib/cassandra/timestamp_generator/simple.rb +38 -0
- data/lib/cassandra/timestamp_generator/ticking_on_duplicate.rb +58 -0
- data/lib/cassandra/tuple.rb +4 -4
- data/lib/cassandra/types.rb +109 -71
- data/lib/cassandra/udt.rb +66 -50
- data/lib/cassandra/util.rb +155 -15
- data/lib/cassandra/uuid.rb +20 -21
- data/lib/cassandra/uuid/generator.rb +7 -5
- data/lib/cassandra/version.rb +2 -2
- data/lib/cassandra_murmur3.jar +0 -0
- data/lib/datastax/cassandra.rb +1 -1
- metadata +27 -16
data/lib/cassandra/uuid.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
#--
|
4
|
-
# Copyright 2013-
|
4
|
+
# Copyright 2013-2016 DataStax, Inc.
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
@@ -25,19 +25,27 @@ module Cassandra
|
|
25
25
|
# If you want to generate UUIDs see {Cassandra::Uuid::Generator}.
|
26
26
|
#
|
27
27
|
class Uuid
|
28
|
-
#
|
28
|
+
# @private
|
29
|
+
RAW_FORMAT = '%032x'.force_encoding(Encoding::ASCII).freeze
|
30
|
+
# @private
|
31
|
+
HYPHEN = '-'.force_encoding(Encoding::ASCII).freeze
|
32
|
+
# @private
|
33
|
+
EMPTY_STRING = ''.freeze
|
34
|
+
|
35
|
+
# Creates a new UUID either from a string (expected to be on the standard 8-4-4-4-12
|
36
|
+
# form, or just 32 characters without hyphens), or from a 128 bit number.
|
29
37
|
#
|
30
38
|
# @param uuid [String] a 32 char uuid
|
31
39
|
#
|
32
40
|
# @raise [ArgumentError] if the string does not conform to the expected format
|
33
41
|
#
|
34
42
|
def initialize(uuid)
|
35
|
-
case uuid
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
43
|
+
@n = case uuid
|
44
|
+
when String
|
45
|
+
from_s(uuid)
|
46
|
+
else
|
47
|
+
uuid
|
48
|
+
end
|
41
49
|
end
|
42
50
|
|
43
51
|
# Returns a string representation of this UUID in the standard 8-4-4-4-12 form.
|
@@ -48,7 +56,7 @@ module Cassandra
|
|
48
56
|
s.insert(20, HYPHEN)
|
49
57
|
s.insert(16, HYPHEN)
|
50
58
|
s.insert(12, HYPHEN)
|
51
|
-
s.insert(
|
59
|
+
s.insert(8, HYPHEN)
|
52
60
|
s
|
53
61
|
end
|
54
62
|
end
|
@@ -69,22 +77,13 @@ module Cassandra
|
|
69
77
|
def value
|
70
78
|
@n
|
71
79
|
end
|
72
|
-
|
80
|
+
alias to_i value
|
73
81
|
|
74
82
|
# @private
|
75
83
|
def eql?(other)
|
76
|
-
other.respond_to?(:value) &&
|
84
|
+
other.respond_to?(:value) && value == other.value
|
77
85
|
end
|
78
|
-
|
79
|
-
|
80
|
-
private
|
81
|
-
|
82
|
-
# @private
|
83
|
-
RAW_FORMAT = '%032x'.force_encoding(Encoding::ASCII).freeze
|
84
|
-
# @private
|
85
|
-
HYPHEN = '-'.force_encoding(Encoding::ASCII).freeze
|
86
|
-
# @private
|
87
|
-
EMPTY_STRING = ''.freeze
|
86
|
+
alias == eql?
|
88
87
|
|
89
88
|
if RUBY_ENGINE == 'jruby'
|
90
89
|
# @private
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
#--
|
4
|
-
# Copyright 2013-
|
4
|
+
# Copyright 2013-2016 DataStax, Inc.
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
@@ -44,8 +44,10 @@ module Cassandra
|
|
44
44
|
# @param [Object<#now>] clock used to generate timeuuid from current time
|
45
45
|
#
|
46
46
|
# @raise [ArgumentError] if clock doesn't respond to `now`
|
47
|
-
def initialize(node_id = (::SecureRandom.random_number(2**47) | 0x010000000000),
|
48
|
-
|
47
|
+
def initialize(node_id = (::SecureRandom.random_number(2**47) | 0x010000000000),
|
48
|
+
clock_id = ::SecureRandom.random_number(65536),
|
49
|
+
clock = ::Time)
|
50
|
+
raise ::ArgumentError, 'invalid clock' unless clock.respond_to?(:now)
|
49
51
|
|
50
52
|
@node_id = Integer(node_id)
|
51
53
|
@clock_id = Integer(clock_id)
|
@@ -150,8 +152,8 @@ module Cassandra
|
|
150
152
|
#
|
151
153
|
# @see Time.at
|
152
154
|
def at(*args)
|
153
|
-
raise ::ArgumentError,
|
154
|
-
raise ::ArgumentError,
|
155
|
+
raise ::ArgumentError, 'not enough arguments' if args.empty?
|
156
|
+
raise ::ArgumentError, 'too many arguments' if args.size > 3
|
155
157
|
|
156
158
|
if args.first.is_a?(::Time)
|
157
159
|
time = args.shift
|
data/lib/cassandra/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
#--
|
4
|
-
# Copyright 2013-
|
4
|
+
# Copyright 2013-2016 DataStax, Inc.
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
@@ -17,5 +17,5 @@
|
|
17
17
|
#++
|
18
18
|
|
19
19
|
module Cassandra
|
20
|
-
VERSION = '3.0.0
|
20
|
+
VERSION = '3.0.0'.freeze
|
21
21
|
end
|
data/lib/cassandra_murmur3.jar
CHANGED
Binary file
|
data/lib/datastax/cassandra.rb
CHANGED
metadata
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassandra-driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0
|
4
|
+
version: 3.0.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Theo Hultberg
|
8
8
|
- Bulat Shakirzyanov
|
9
|
+
- Sandeep Tamhankar
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2016-05-23 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- - ~>
|
18
|
+
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
20
|
version: '1.2'
|
20
21
|
name: ione
|
@@ -22,13 +23,13 @@ dependencies:
|
|
22
23
|
type: :runtime
|
23
24
|
version_requirements: !ruby/object:Gem::Requirement
|
24
25
|
requirements:
|
25
|
-
- - ~>
|
26
|
+
- - "~>"
|
26
27
|
- !ruby/object:Gem::Version
|
27
28
|
version: '1.2'
|
28
29
|
- !ruby/object:Gem::Dependency
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- - ~>
|
32
|
+
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: '1.6'
|
34
35
|
name: bundler
|
@@ -36,13 +37,13 @@ dependencies:
|
|
36
37
|
type: :development
|
37
38
|
version_requirements: !ruby/object:Gem::Requirement
|
38
39
|
requirements:
|
39
|
-
- - ~>
|
40
|
+
- - "~>"
|
40
41
|
- !ruby/object:Gem::Version
|
41
42
|
version: '1.6'
|
42
43
|
- !ruby/object:Gem::Dependency
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - ~>
|
46
|
+
- - "~>"
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '10.0'
|
48
49
|
name: rake
|
@@ -50,19 +51,20 @@ dependencies:
|
|
50
51
|
type: :development
|
51
52
|
version_requirements: !ruby/object:Gem::Requirement
|
52
53
|
requirements:
|
53
|
-
- - ~>
|
54
|
+
- - "~>"
|
54
55
|
- !ruby/object:Gem::Version
|
55
56
|
version: '10.0'
|
56
57
|
description: A pure Ruby driver for Apache Cassandra
|
57
58
|
email:
|
58
59
|
- theo@iconara.net
|
59
60
|
- bulat.shakirzyanov@datastax.com
|
61
|
+
- sandeep.tamhankar@datastax.com
|
60
62
|
executables: []
|
61
63
|
extensions: []
|
62
64
|
extra_rdoc_files:
|
63
65
|
- README.md
|
64
66
|
files:
|
65
|
-
- .yardopts
|
67
|
+
- ".yardopts"
|
66
68
|
- README.md
|
67
69
|
- lib/cassandra.rb
|
68
70
|
- lib/cassandra/address_resolution.rb
|
@@ -71,9 +73,11 @@ files:
|
|
71
73
|
- lib/cassandra/address_resolution/policies/none.rb
|
72
74
|
- lib/cassandra/aggregate.rb
|
73
75
|
- lib/cassandra/argument.rb
|
76
|
+
- lib/cassandra/attr_boolean.rb
|
74
77
|
- lib/cassandra/auth.rb
|
75
78
|
- lib/cassandra/auth/providers.rb
|
76
79
|
- lib/cassandra/auth/providers/password.rb
|
80
|
+
- lib/cassandra/cassandra_logger.rb
|
77
81
|
- lib/cassandra/cluster.rb
|
78
82
|
- lib/cassandra/cluster/client.rb
|
79
83
|
- lib/cassandra/cluster/connection_pool.rb
|
@@ -96,6 +100,7 @@ files:
|
|
96
100
|
- lib/cassandra/cluster/schema/replication_strategies/none.rb
|
97
101
|
- lib/cassandra/cluster/schema/replication_strategies/simple.rb
|
98
102
|
- lib/cassandra/column.rb
|
103
|
+
- lib/cassandra/column_container.rb
|
99
104
|
- lib/cassandra/compression.rb
|
100
105
|
- lib/cassandra/compression/compressors/lz4.rb
|
101
106
|
- lib/cassandra/compression/compressors/snappy.rb
|
@@ -106,8 +111,10 @@ files:
|
|
106
111
|
- lib/cassandra/execution/trace.rb
|
107
112
|
- lib/cassandra/executors.rb
|
108
113
|
- lib/cassandra/function.rb
|
114
|
+
- lib/cassandra/function_collection.rb
|
109
115
|
- lib/cassandra/future.rb
|
110
116
|
- lib/cassandra/host.rb
|
117
|
+
- lib/cassandra/index.rb
|
111
118
|
- lib/cassandra/keyspace.rb
|
112
119
|
- lib/cassandra/listener.rb
|
113
120
|
- lib/cassandra/load_balancing.rb
|
@@ -116,6 +123,7 @@ files:
|
|
116
123
|
- lib/cassandra/load_balancing/policies/round_robin.rb
|
117
124
|
- lib/cassandra/load_balancing/policies/token_aware.rb
|
118
125
|
- lib/cassandra/load_balancing/policies/white_list.rb
|
126
|
+
- lib/cassandra/materialized_view.rb
|
119
127
|
- lib/cassandra/null_logger.rb
|
120
128
|
- lib/cassandra/protocol.rb
|
121
129
|
- lib/cassandra/protocol/coder.rb
|
@@ -182,6 +190,9 @@ files:
|
|
182
190
|
- lib/cassandra/table.rb
|
183
191
|
- lib/cassandra/time.rb
|
184
192
|
- lib/cassandra/time_uuid.rb
|
193
|
+
- lib/cassandra/timestamp_generator.rb
|
194
|
+
- lib/cassandra/timestamp_generator/simple.rb
|
195
|
+
- lib/cassandra/timestamp_generator/ticking_on_duplicate.rb
|
185
196
|
- lib/cassandra/tuple.rb
|
186
197
|
- lib/cassandra/types.rb
|
187
198
|
- lib/cassandra/udt.rb
|
@@ -197,26 +208,26 @@ licenses:
|
|
197
208
|
metadata: {}
|
198
209
|
post_install_message:
|
199
210
|
rdoc_options:
|
200
|
-
- --title
|
211
|
+
- "--title"
|
201
212
|
- Datastax Ruby Driver
|
202
|
-
- --main
|
213
|
+
- "--main"
|
203
214
|
- README.md
|
204
|
-
- --line-numbers
|
215
|
+
- "--line-numbers"
|
205
216
|
require_paths:
|
206
217
|
- lib
|
207
218
|
required_ruby_version: !ruby/object:Gem::Requirement
|
208
219
|
requirements:
|
209
|
-
- -
|
220
|
+
- - ">="
|
210
221
|
- !ruby/object:Gem::Version
|
211
222
|
version: 1.9.3
|
212
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
224
|
requirements:
|
214
|
-
- -
|
225
|
+
- - ">="
|
215
226
|
- !ruby/object:Gem::Version
|
216
|
-
version:
|
227
|
+
version: '0'
|
217
228
|
requirements: []
|
218
229
|
rubyforge_project:
|
219
|
-
rubygems_version: 2.4.
|
230
|
+
rubygems_version: 2.4.8
|
220
231
|
signing_key:
|
221
232
|
specification_version: 4
|
222
233
|
summary: Datastax Ruby Driver for Apache Cassandra
|