cassandra-driver 3.0.0.rc.2-java → 3.0.2-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +51 -39
- data/lib/cassandra.rb +74 -32
- data/lib/cassandra/auth.rb +3 -1
- data/lib/cassandra/cluster.rb +14 -3
- data/lib/cassandra/cluster/client.rb +98 -62
- data/lib/cassandra/cluster/connector.rb +7 -9
- data/lib/cassandra/cluster/metadata.rb +1 -1
- data/lib/cassandra/cluster/options.rb +19 -7
- data/lib/cassandra/cluster/schema/cql_type_parser.rb +3 -0
- data/lib/cassandra/cluster/schema/fetchers.rb +1 -1
- data/lib/cassandra/custom_data.rb +51 -0
- data/lib/cassandra/driver.rb +23 -20
- data/lib/cassandra/execution/options.rb +1 -1
- data/lib/cassandra/index.rb +22 -8
- data/lib/cassandra/load_balancing/policies/dc_aware_round_robin.rb +19 -1
- data/lib/cassandra/load_balancing/policies/round_robin.rb +7 -0
- data/lib/cassandra/load_balancing/policies/token_aware.rb +7 -0
- data/lib/cassandra/load_balancing/policies/white_list.rb +7 -0
- data/lib/cassandra/protocol.rb +7 -0
- data/lib/cassandra/protocol/coder.rb +28 -8
- data/lib/cassandra/protocol/cql_byte_buffer.rb +21 -4
- data/lib/cassandra/protocol/cql_protocol_handler.rb +3 -2
- data/lib/cassandra/protocol/requests/batch_request.rb +1 -1
- data/lib/cassandra/protocol/requests/execute_request.rb +1 -1
- data/lib/cassandra/protocol/requests/query_request.rb +1 -1
- data/lib/cassandra/protocol/responses/raw_rows_result_response.rb +4 -2
- data/lib/cassandra/protocol/v1.rb +2 -1
- data/lib/cassandra/protocol/v3.rb +2 -1
- data/lib/cassandra/protocol/v4.rb +5 -3
- data/lib/cassandra/result.rb +2 -2
- data/lib/cassandra/session.rb +10 -15
- data/lib/cassandra/statement.rb +5 -0
- data/lib/cassandra/statements/batch.rb +6 -0
- data/lib/cassandra/statements/bound.rb +5 -0
- data/lib/cassandra/statements/prepared.rb +11 -2
- data/lib/cassandra/statements/simple.rb +5 -0
- data/lib/cassandra/statements/void.rb +5 -0
- data/lib/cassandra/table.rb +5 -5
- 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 +2 -2
- data/lib/cassandra/types.rb +2 -2
- data/lib/cassandra/util.rb +136 -2
- data/lib/cassandra/version.rb +1 -1
- data/lib/cassandra_murmur3.jar +0 -0
- metadata +8 -4
data/lib/cassandra/tuple.rb
CHANGED
@@ -55,7 +55,7 @@ module Cassandra
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def inspect
|
58
|
-
"#<Cassandra::Tuple:0x#{object_id.to_s(16)}
|
58
|
+
"#<Cassandra::Tuple:0x#{object_id.to_s(16)} types=#{@types.inspect}, []=#{@values.inspect}>"
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -114,7 +114,7 @@ module Cassandra
|
|
114
114
|
|
115
115
|
# @private
|
116
116
|
def inspect
|
117
|
-
"#<Cassandra::Tuple:0x#{object_id.to_s(16)}
|
117
|
+
"#<Cassandra::Tuple:0x#{object_id.to_s(16)} []=#{@values.inspect}>"
|
118
118
|
end
|
119
119
|
|
120
120
|
# @private
|
data/lib/cassandra/types.rb
CHANGED
@@ -1389,8 +1389,8 @@ module Cassandra
|
|
1389
1389
|
# @raise [ArgumentError] if the value is invalid
|
1390
1390
|
# @return [void]
|
1391
1391
|
def assert(value, message = nil, &block)
|
1392
|
-
|
1393
|
-
|
1392
|
+
Util.assert_instance_of(CustomData, value, message, &block)
|
1393
|
+
Util.assert_equal(self, value.class.type, message, &block)
|
1394
1394
|
end
|
1395
1395
|
|
1396
1396
|
# @return [String] a cassandra representation of this type
|
data/lib/cassandra/util.rb
CHANGED
@@ -162,8 +162,13 @@ module Cassandra
|
|
162
162
|
end
|
163
163
|
|
164
164
|
def escape_name(name)
|
165
|
-
|
166
|
-
|
165
|
+
# If name only contains lower-case chars and it's not a reserved word, return it
|
166
|
+
# as-is. Otherwise, quote.
|
167
|
+
return name if name[LOWERCASE_REGEXP] == name && !RESERVED_WORDS.include?(name)
|
168
|
+
|
169
|
+
# Replace double-quotes within name with two double-quotes (if any) and surround the whole
|
170
|
+
# thing with double-quotes
|
171
|
+
DBL_QUOT + name.gsub('"', '""') + DBL_QUOT
|
167
172
|
end
|
168
173
|
|
169
174
|
def guess_type(object)
|
@@ -191,6 +196,7 @@ module Cassandra
|
|
191
196
|
Types.udt(object.keyspace, object.name, object.types)
|
192
197
|
when UDT
|
193
198
|
Types.udt('unknown', 'unknown', object.map {|k, v| [k, guess_type(v)]})
|
199
|
+
when Cassandra::CustomData then object.class.type
|
194
200
|
else
|
195
201
|
raise ::ArgumentError,
|
196
202
|
"Unable to guess the type of the argument: #{object.inspect}"
|
@@ -327,5 +333,133 @@ module Cassandra
|
|
327
333
|
PRN_OPN = '('.freeze
|
328
334
|
# @private
|
329
335
|
PRN_CLS = ')'.freeze
|
336
|
+
RESERVED_WORDS = Set.new(%w(
|
337
|
+
add
|
338
|
+
aggregate
|
339
|
+
all
|
340
|
+
allow
|
341
|
+
alter
|
342
|
+
and
|
343
|
+
apply
|
344
|
+
as
|
345
|
+
asc
|
346
|
+
ascii
|
347
|
+
authorize
|
348
|
+
batch
|
349
|
+
begin
|
350
|
+
bigint
|
351
|
+
blob
|
352
|
+
boolean
|
353
|
+
by
|
354
|
+
called
|
355
|
+
clustering
|
356
|
+
columnfamily
|
357
|
+
compact
|
358
|
+
contains
|
359
|
+
count
|
360
|
+
counter
|
361
|
+
create
|
362
|
+
custom
|
363
|
+
date
|
364
|
+
decimal
|
365
|
+
delete
|
366
|
+
desc
|
367
|
+
describe
|
368
|
+
distinct
|
369
|
+
double
|
370
|
+
drop
|
371
|
+
entries
|
372
|
+
execute
|
373
|
+
exists
|
374
|
+
filtering
|
375
|
+
finalfunc
|
376
|
+
float
|
377
|
+
from
|
378
|
+
frozen
|
379
|
+
full
|
380
|
+
function
|
381
|
+
functions
|
382
|
+
grant
|
383
|
+
if
|
384
|
+
in
|
385
|
+
index
|
386
|
+
inet
|
387
|
+
infinity
|
388
|
+
initcond
|
389
|
+
input
|
390
|
+
insert
|
391
|
+
int
|
392
|
+
into
|
393
|
+
is
|
394
|
+
json
|
395
|
+
key
|
396
|
+
keys
|
397
|
+
keyspace
|
398
|
+
keyspaces
|
399
|
+
language
|
400
|
+
limit
|
401
|
+
list
|
402
|
+
login
|
403
|
+
map
|
404
|
+
materialized
|
405
|
+
modify
|
406
|
+
nan
|
407
|
+
nologin
|
408
|
+
norecursive
|
409
|
+
nosuperuser
|
410
|
+
not
|
411
|
+
null
|
412
|
+
of
|
413
|
+
on
|
414
|
+
options
|
415
|
+
or
|
416
|
+
order
|
417
|
+
password
|
418
|
+
permission
|
419
|
+
permissions
|
420
|
+
primary
|
421
|
+
rename
|
422
|
+
replace
|
423
|
+
returns
|
424
|
+
revoke
|
425
|
+
role
|
426
|
+
roles
|
427
|
+
schema
|
428
|
+
select
|
429
|
+
set
|
430
|
+
sfunc
|
431
|
+
smallint
|
432
|
+
static
|
433
|
+
storage
|
434
|
+
stype
|
435
|
+
superuser
|
436
|
+
table
|
437
|
+
text
|
438
|
+
time
|
439
|
+
timestamp
|
440
|
+
timeuuid
|
441
|
+
tinyint
|
442
|
+
to
|
443
|
+
token
|
444
|
+
trigger
|
445
|
+
truncate
|
446
|
+
ttl
|
447
|
+
tuple
|
448
|
+
type
|
449
|
+
unlogged
|
450
|
+
update
|
451
|
+
use
|
452
|
+
user
|
453
|
+
users
|
454
|
+
using
|
455
|
+
uuid
|
456
|
+
values
|
457
|
+
varchar
|
458
|
+
varint
|
459
|
+
view
|
460
|
+
where
|
461
|
+
with
|
462
|
+
writetime
|
463
|
+
)).freeze
|
330
464
|
end
|
331
465
|
end
|
data/lib/cassandra/version.rb
CHANGED
data/lib/cassandra_murmur3.jar
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassandra-driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Theo Hultberg
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-06-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- lib/cassandra/compression.rb
|
105
105
|
- lib/cassandra/compression/compressors/lz4.rb
|
106
106
|
- lib/cassandra/compression/compressors/snappy.rb
|
107
|
+
- lib/cassandra/custom_data.rb
|
107
108
|
- lib/cassandra/driver.rb
|
108
109
|
- lib/cassandra/errors.rb
|
109
110
|
- lib/cassandra/execution/info.rb
|
@@ -190,6 +191,9 @@ files:
|
|
190
191
|
- lib/cassandra/table.rb
|
191
192
|
- lib/cassandra/time.rb
|
192
193
|
- lib/cassandra/time_uuid.rb
|
194
|
+
- lib/cassandra/timestamp_generator.rb
|
195
|
+
- lib/cassandra/timestamp_generator/simple.rb
|
196
|
+
- lib/cassandra/timestamp_generator/ticking_on_duplicate.rb
|
193
197
|
- lib/cassandra/tuple.rb
|
194
198
|
- lib/cassandra/types.rb
|
195
199
|
- lib/cassandra/udt.rb
|
@@ -219,9 +223,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
223
|
version: 1.9.3
|
220
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
225
|
requirements:
|
222
|
-
- - "
|
226
|
+
- - ">="
|
223
227
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
228
|
+
version: '0'
|
225
229
|
requirements: []
|
226
230
|
rubyforge_project:
|
227
231
|
rubygems_version: 2.4.8
|