cassandra 0.21.0 → 0.22.0
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/CHANGELOG +4 -0
- data/cassandra.gemspec +1 -1
- data/lib/cassandra/cassandra.rb +12 -58
- data/lib/cassandra/composite.rb +15 -5
- data/test/cassandra_test.rb +7 -3
- data/test/composite_type_test.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5daf0bcf89a1be06c7a378c60ee41c037e2a5c23
|
4
|
+
data.tar.gz: f054a9ea46806ebaae4cf3d24602eb3a1462e942
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac367f6fe75340bae0019c46c59415bb541d1df7cef5d45bc49bde9b4beed9c6d759f49077c761ed0eedced549104bab13ac8239cd85d2087c618c6468d37cb7
|
7
|
+
data.tar.gz: 62b7dfa25c51cafdd5426e4c4e1b156ee5d107ee3c86e54e8cbd770cbb1651d85fe41d035e223c7337c293c657f6826bf918d53aba5800fcd36f39a9e3ce36aa
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
v0.22.0
|
2
|
+
- Add new composite API to resolve ambiguity between unpacking a composite and packing a composite with one element (issue #196, courtesy @kevinkehl)
|
3
|
+
- Breaking change: schema change methods no longer catch exceptions internally. They work the same as everything else.
|
4
|
+
|
1
5
|
v0.21.0
|
2
6
|
- Add 1.2 libs to gem
|
3
7
|
|
data/cassandra.gemspec
CHANGED
data/lib/cassandra/cassandra.rb
CHANGED
@@ -269,13 +269,8 @@ class Cassandra
|
|
269
269
|
def add_column_family(cf_def)
|
270
270
|
return false if Cassandra.VERSION.to_f < 0.7
|
271
271
|
|
272
|
-
begin
|
273
|
-
res = client.system_add_column_family(cf_def)
|
274
|
-
rescue CassandraThrift::TimedOutException => te
|
275
|
-
puts "Timed out: #{te.inspect}"
|
276
|
-
end
|
277
272
|
@schema = nil
|
278
|
-
|
273
|
+
return client.system_add_column_family(cf_def)
|
279
274
|
end
|
280
275
|
|
281
276
|
##
|
@@ -286,13 +281,8 @@ class Cassandra
|
|
286
281
|
def drop_column_family(column_family)
|
287
282
|
return false if Cassandra.VERSION.to_f < 0.7
|
288
283
|
|
289
|
-
begin
|
290
|
-
res = client.system_drop_column_family(column_family)
|
291
|
-
rescue CassandraThrift::TimedOutException => te
|
292
|
-
puts "Timed out: #{te.inspect}"
|
293
|
-
end
|
294
284
|
@schema = nil
|
295
|
-
|
285
|
+
return client.system_drop_column_family(column_family)
|
296
286
|
end
|
297
287
|
|
298
288
|
##
|
@@ -304,13 +294,8 @@ class Cassandra
|
|
304
294
|
def rename_column_family(old_name, new_name)
|
305
295
|
return false if Cassandra.VERSION.to_f != 0.7
|
306
296
|
|
307
|
-
begin
|
308
|
-
res = client.system_rename_column_family(old_name, new_name)
|
309
|
-
rescue CassandraThrift::TimedOutException => te
|
310
|
-
puts "Timed out: #{te.inspect}"
|
311
|
-
end
|
312
297
|
@schema = nil
|
313
|
-
|
298
|
+
return client.system_rename_column_family(old_name, new_name)
|
314
299
|
end
|
315
300
|
|
316
301
|
##
|
@@ -319,13 +304,8 @@ class Cassandra
|
|
319
304
|
def update_column_family(cf_def)
|
320
305
|
return false if Cassandra.VERSION.to_f < 0.7
|
321
306
|
|
322
|
-
begin
|
323
|
-
res = client.system_update_column_family(cf_def)
|
324
|
-
rescue CassandraThrift::TimedOutException => te
|
325
|
-
puts "Timed out: #{te.inspect}"
|
326
|
-
end
|
327
307
|
@schema = nil
|
328
|
-
|
308
|
+
return client.system_update_column_family(cf_def)
|
329
309
|
end
|
330
310
|
|
331
311
|
##
|
@@ -336,15 +316,8 @@ class Cassandra
|
|
336
316
|
def add_keyspace(ks_def)
|
337
317
|
return false if Cassandra.VERSION.to_f < 0.7
|
338
318
|
|
339
|
-
begin
|
340
|
-
res = client.system_add_keyspace(ks_def)
|
341
|
-
rescue CassandraThrift::TimedOutException => toe
|
342
|
-
puts "Timed out: #{toe.inspect}"
|
343
|
-
rescue Thrift::TransportException => te
|
344
|
-
puts "Timed out: #{te.inspect}"
|
345
|
-
end
|
346
319
|
@keyspaces = nil
|
347
|
-
|
320
|
+
return client.system_add_keyspace(ks_def)
|
348
321
|
end
|
349
322
|
|
350
323
|
##
|
@@ -355,16 +328,10 @@ class Cassandra
|
|
355
328
|
def drop_keyspace(keyspace=@keyspace)
|
356
329
|
return false if Cassandra.VERSION.to_f < 0.7
|
357
330
|
|
358
|
-
begin
|
359
|
-
res = client.system_drop_keyspace(keyspace)
|
360
|
-
rescue CassandraThrift::TimedOutException => toe
|
361
|
-
puts "Timed out: #{toe.inspect}"
|
362
|
-
rescue Thrift::TransportException => te
|
363
|
-
puts "Timed out: #{te.inspect}"
|
364
|
-
end
|
365
|
-
keyspace = "system" if keyspace.eql?(@keyspace)
|
366
331
|
@keyspaces = nil
|
367
|
-
|
332
|
+
ret = client.system_drop_keyspace(keyspace)
|
333
|
+
keyspace = "system" if keyspace.eql?(@keyspace)
|
334
|
+
return ret
|
368
335
|
end
|
369
336
|
|
370
337
|
##
|
@@ -377,16 +344,10 @@ class Cassandra
|
|
377
344
|
def rename_keyspace(old_name, new_name)
|
378
345
|
return false if Cassandra.VERSION.to_f < 0.7
|
379
346
|
|
380
|
-
begin
|
381
|
-
res = client.system_rename_keyspace(old_name, new_name)
|
382
|
-
rescue CassandraThrift::TimedOutException => toe
|
383
|
-
puts "Timed out: #{toe.inspect}"
|
384
|
-
rescue Thrift::TransportException => te
|
385
|
-
puts "Timed out: #{te.inspect}"
|
386
|
-
end
|
387
|
-
keyspace = new_name if old_name.eql?(@keyspace)
|
388
347
|
@keyspaces = nil
|
389
|
-
|
348
|
+
ret = client.system_rename_keyspace(old_name, new_name)
|
349
|
+
keyspace = new_name if old_name.eql?(@keyspace)
|
350
|
+
return ret
|
390
351
|
end
|
391
352
|
|
392
353
|
##
|
@@ -395,15 +356,8 @@ class Cassandra
|
|
395
356
|
def update_keyspace(ks_def)
|
396
357
|
return false if Cassandra.VERSION.to_f < 0.7
|
397
358
|
|
398
|
-
begin
|
399
|
-
res = client.system_update_keyspace(ks_def)
|
400
|
-
rescue CassandraThrift::TimedOutException => toe
|
401
|
-
puts "Timed out: #{toe.inspect}"
|
402
|
-
rescue Thrift::TransportException => te
|
403
|
-
puts "Timed out: #{te.inspect}"
|
404
|
-
end
|
405
359
|
@keyspaces = nil
|
406
|
-
|
360
|
+
return client.system_update_keyspace(ks_def)
|
407
361
|
end
|
408
362
|
##
|
409
363
|
# The initial default consistency is set to ONE, but you can use this method
|
data/lib/cassandra/composite.rb
CHANGED
@@ -11,16 +11,13 @@ class Cassandra
|
|
11
11
|
if parts.last.is_a?(Hash)
|
12
12
|
options = parts.pop
|
13
13
|
end
|
14
|
-
@column_slice = options[:slice]
|
15
|
-
raise ArgumentError if @column_slice != nil && ![:before, :after].include?(@column_slice)
|
16
14
|
|
17
15
|
if parts.length == 1 && parts[0].instance_of?(self.class)
|
18
|
-
|
19
|
-
@parts = parts[0].parts
|
16
|
+
make_from_parts(parts[0].parts, :slice => parts[0].column_slice)
|
20
17
|
elsif parts.length == 1 && parts[0].instance_of?(String) && @column_slice.nil? && try_packed_composite(parts[0])
|
21
18
|
@hash = parts[0].hash
|
22
19
|
else
|
23
|
-
|
20
|
+
make_from_parts(parts, options)
|
24
21
|
end
|
25
22
|
end
|
26
23
|
|
@@ -30,6 +27,13 @@ class Cassandra
|
|
30
27
|
return obj
|
31
28
|
end
|
32
29
|
|
30
|
+
def self.new_from_parts(parts, args={})
|
31
|
+
obj = new
|
32
|
+
obj.make_from_parts(parts, args)
|
33
|
+
|
34
|
+
return obj
|
35
|
+
end
|
36
|
+
|
33
37
|
def [](*args)
|
34
38
|
return @parts[*args]
|
35
39
|
end
|
@@ -102,6 +106,12 @@ class Cassandra
|
|
102
106
|
@column_slice = :before if end_of_component == "\xFF"
|
103
107
|
end
|
104
108
|
|
109
|
+
def make_from_parts(parts, args)
|
110
|
+
@parts = parts
|
111
|
+
@column_slice = args[:slice]
|
112
|
+
raise ArgumentError if @column_slice != nil && ![:before, :after].include?(@column_slice)
|
113
|
+
end
|
114
|
+
|
105
115
|
private
|
106
116
|
def try_packed_composite(packed_string)
|
107
117
|
parts = []
|
data/test/cassandra_test.rb
CHANGED
@@ -1244,6 +1244,9 @@ class CassandraTest < Test::Unit::TestCase
|
|
1244
1244
|
|
1245
1245
|
def test_composite_column_type_conversion
|
1246
1246
|
columns = {}
|
1247
|
+
@composites.push(
|
1248
|
+
Cassandra::Composite.new_from_parts([[20].pack('N'), "meerkat"])
|
1249
|
+
)
|
1247
1250
|
@composites.each_with_index do |c, index|
|
1248
1251
|
columns[c] = "value-#{index}"
|
1249
1252
|
end
|
@@ -1253,12 +1256,13 @@ class CassandraTest < Test::Unit::TestCase
|
|
1253
1256
|
Cassandra::Composite.new([5].pack('N'), "aardvark"),
|
1254
1257
|
Cassandra::Composite.new([5].pack('N'), "zebra"),
|
1255
1258
|
Cassandra::Composite.new([10].pack('N'), "kangaroo"),
|
1259
|
+
Cassandra::Composite.new([20].pack('N'), "meerkat"),
|
1256
1260
|
]
|
1257
1261
|
assert_equal(columns_in_order, @type_conversions.get(:CompositeColumnConversion, key).keys)
|
1258
1262
|
|
1259
1263
|
column_slice = @type_conversions.get(:CompositeColumnConversion, key,
|
1260
1264
|
:start => Cassandra::Composite.new([1].pack('N')),
|
1261
|
-
:finish => Cassandra::Composite.new([
|
1265
|
+
:finish => Cassandra::Composite.new([20].pack('N'))
|
1262
1266
|
).keys
|
1263
1267
|
assert_equal(columns_in_order[0..-2], column_slice)
|
1264
1268
|
|
@@ -1271,12 +1275,12 @@ class CassandraTest < Test::Unit::TestCase
|
|
1271
1275
|
column_slice = @type_conversions.get(:CompositeColumnConversion, key,
|
1272
1276
|
:start => Cassandra::Composite.new([5].pack('N'), :slice => :after).to_s
|
1273
1277
|
).keys
|
1274
|
-
assert_equal(
|
1278
|
+
assert_equal(columns_in_order[-2..-1], column_slice)
|
1275
1279
|
|
1276
1280
|
column_slice = @type_conversions.get(:CompositeColumnConversion, key,
|
1277
1281
|
:finish => Cassandra::Composite.new([10].pack('N'), :slice => :before).to_s
|
1278
1282
|
).keys
|
1279
|
-
assert_equal(columns_in_order[0..-
|
1283
|
+
assert_equal(columns_in_order[0..-3], column_slice)
|
1280
1284
|
|
1281
1285
|
assert_equal('value-2', @type_conversions.get(:CompositeColumnConversion, key, columns_in_order.first))
|
1282
1286
|
end
|
data/test/composite_type_test.rb
CHANGED
@@ -24,6 +24,11 @@ class CompositeTypesTest < Test::Unit::TestCase
|
|
24
24
|
assert_equal(@col_parts[i], @dycol[i])
|
25
25
|
assert_equal(@col_parts[i], @dycol_alias[i])
|
26
26
|
end
|
27
|
+
|
28
|
+
col2 = Cassandra::Composite.new_from_parts(@col_parts)
|
29
|
+
(0..2).each do |i|
|
30
|
+
assert_equal(@col_parts[i], col2[i].to_s)
|
31
|
+
end
|
27
32
|
end
|
28
33
|
|
29
34
|
def test_packing_and_unpacking
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassandra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Weaver, Ryan King
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thrift_client
|