cassandra 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,19 +6,28 @@ class CompositeTypesTest < Test::Unit::TestCase
6
6
  def setup
7
7
  @col_parts = [[363].pack('N'), 'extradites-mulling', SimpleUUID::UUID.new().bytes]
8
8
  @col = Cassandra::Composite.new(*@col_parts)
9
+
10
+ @part0_length = 2 + 4 + 1 # size + int + end_term
11
+ @part1_length = 2 + @col_parts[1].length + 1 # size + string_len + end_term
12
+ @part2_length = 2 + @col_parts[2].length + 1 # size + uuid_bytes + end_term
13
+
14
+ @types = ['IntegerType', 'UTF8Type', 'TimeUUIDType']
15
+ @type_aliaes = ['i', 's', 't']
16
+
17
+ @dycol = Cassandra::DynamicComposite.new(*@types.zip(@col_parts))
18
+ @dycol_alias = Cassandra::DynamicComposite.new(*@type_aliaes.zip(@col_parts))
9
19
  end
10
20
 
11
21
  def test_creation_from_parts
12
- assert_equal(@col_parts[0], @col[0])
13
- assert_equal(@col_parts[1], @col[1])
14
- assert_equal(@col_parts[2], @col[2])
22
+ (0..2).each do |i|
23
+ assert_equal(@col_parts[i], @col[i])
24
+ assert_equal(@col_parts[i], @dycol[i])
25
+ assert_equal(@col_parts[i], @dycol_alias[i])
26
+ end
15
27
  end
16
28
 
17
29
  def test_packing_and_unpacking
18
- part0_length = 2 + 4 + 1 # size + int + end_term
19
- part1_length = 2 + @col_parts[1].length + 1 # size + string_len + end_term
20
- part2_length = 2 + @col_parts[2].length + 1 # size + uuid_bytes + end_term
21
- assert_equal(part0_length + part1_length + part2_length, @col.pack.length)
30
+ assert_equal(@part0_length + @part1_length + @part2_length, @col.pack.length)
22
31
 
23
32
  col2 = Cassandra::Composite.new(@col.pack)
24
33
  assert_equal(@col_parts[0], col2[0])
@@ -26,4 +35,30 @@ class CompositeTypesTest < Test::Unit::TestCase
26
35
  assert_equal(@col_parts[2], col2[2])
27
36
  assert_equal(@col, col2)
28
37
  end
38
+
39
+ def test_packing_and_unpacking_dynamic_columns
40
+ part0_length = @part0_length + 2 + @types[0].length
41
+ part1_length = @part1_length + 2 + @types[1].length
42
+ part2_length = @part2_length + 2 + @types[2].length
43
+ assert_equal(part0_length + part1_length + part2_length, @dycol.pack.length)
44
+
45
+ col2 = Cassandra::DynamicComposite.new(@dycol.pack)
46
+ assert_equal(@col_parts[0], col2[0])
47
+ assert_equal(@col_parts[1], col2[1])
48
+ assert_equal(@col_parts[2], col2[2])
49
+ assert_equal(@dycol, col2)
50
+ end
51
+
52
+ def test_packing_and_unpacking_dynamic_columns_with_aliases
53
+ part0_length = @part0_length + 2
54
+ part1_length = @part1_length + 2
55
+ part2_length = @part2_length + 2
56
+ assert_equal(part0_length + part1_length + part2_length, @dycol_alias.pack.length)
57
+
58
+ col2 = Cassandra::DynamicComposite.new(@dycol_alias.pack)
59
+ assert_equal(@col_parts[0], col2[0])
60
+ assert_equal(@col_parts[1], col2[1])
61
+ assert_equal(@col_parts[2], col2[2])
62
+ assert_equal(@dycol_alias, col2)
63
+ end
29
64
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassandra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,25 +9,25 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-19 00:00:00.000000000Z
12
+ date: 2012-08-06 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thrift_client
16
- requirement: &70318435226060 !ruby/object:Gem::Requirement
16
+ requirement: &70277980333560 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - <
20
- - !ruby/object:Gem::Version
21
- version: '0.9'
22
19
  - - ! '>='
23
20
  - !ruby/object:Gem::Version
24
21
  version: 0.7.0
22
+ - - <
23
+ - !ruby/object:Gem::Version
24
+ version: '0.9'
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70318435226060
27
+ version_requirements: *70277980333560
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: json
30
- requirement: &70318435225320 !ruby/object:Gem::Requirement
30
+ requirement: &70277980332520 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70318435225320
38
+ version_requirements: *70277980332520
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
41
- requirement: &70318435224840 !ruby/object:Gem::Requirement
41
+ requirement: &70277980331940 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: '0'
47
47
  type: :runtime
48
48
  prerelease: false
49
- version_requirements: *70318435224840
49
+ version_requirements: *70277980331940
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: simple_uuid
52
- requirement: &70318435224360 !ruby/object:Gem::Requirement
52
+ requirement: &70277980331080 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ~>
@@ -57,17 +57,31 @@ dependencies:
57
57
  version: 0.2.0
58
58
  type: :runtime
59
59
  prerelease: false
60
- version_requirements: *70318435224360
60
+ version_requirements: *70277980331080
61
+ - !ruby/object:Gem::Dependency
62
+ name: echoe
63
+ requirement: &70277980330380 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: *70277980330380
61
72
  description: A Ruby client for the Cassandra distributed database.
62
73
  email: ''
63
74
  executables:
64
75
  - cassandra_helper
65
- extensions: []
76
+ extensions:
77
+ - ext/extconf.rb
66
78
  extra_rdoc_files:
67
79
  - CHANGELOG
68
80
  - LICENSE
69
81
  - README.md
70
82
  - bin/cassandra_helper
83
+ - ext/cassandra_native.c
84
+ - ext/extconf.rb
71
85
  - lib/cassandra.rb
72
86
  - lib/cassandra/0.6.rb
73
87
  - lib/cassandra/0.6/cassandra.rb
@@ -81,10 +95,10 @@ extra_rdoc_files:
81
95
  - lib/cassandra/0.8/cassandra.rb
82
96
  - lib/cassandra/0.8/columns.rb
83
97
  - lib/cassandra/0.8/protocol.rb
98
+ - lib/cassandra/1.0.rb
84
99
  - lib/cassandra/1.0/cassandra.rb
85
100
  - lib/cassandra/1.0/columns.rb
86
101
  - lib/cassandra/1.0/protocol.rb
87
- - lib/cassandra/1.0.rb
88
102
  - lib/cassandra/array.rb
89
103
  - lib/cassandra/cassandra.rb
90
104
  - lib/cassandra/column_family.rb
@@ -93,6 +107,7 @@ extra_rdoc_files:
93
107
  - lib/cassandra/composite.rb
94
108
  - lib/cassandra/constants.rb
95
109
  - lib/cassandra/debug.rb
110
+ - lib/cassandra/dynamic_composite.rb
96
111
  - lib/cassandra/helpers.rb
97
112
  - lib/cassandra/keyspace.rb
98
113
  - lib/cassandra/long.rb
@@ -102,6 +117,7 @@ extra_rdoc_files:
102
117
  - lib/cassandra/time.rb
103
118
  files:
104
119
  - CHANGELOG
120
+ - Gemfile
105
121
  - LICENSE
106
122
  - Manifest
107
123
  - README.md
@@ -121,6 +137,13 @@ files:
121
137
  - conf/0.8/log4j-server.properties
122
138
  - conf/0.8/schema.json
123
139
  - conf/0.8/schema.txt
140
+ - conf/1.0/cassandra.in.sh
141
+ - conf/1.0/cassandra.yaml
142
+ - conf/1.0/log4j-server.properties
143
+ - conf/1.0/schema.json
144
+ - conf/1.0/schema.txt
145
+ - ext/cassandra_native.c
146
+ - ext/extconf.rb
124
147
  - lib/cassandra.rb
125
148
  - lib/cassandra/0.6.rb
126
149
  - lib/cassandra/0.6/cassandra.rb
@@ -134,10 +157,10 @@ files:
134
157
  - lib/cassandra/0.8/cassandra.rb
135
158
  - lib/cassandra/0.8/columns.rb
136
159
  - lib/cassandra/0.8/protocol.rb
160
+ - lib/cassandra/1.0.rb
137
161
  - lib/cassandra/1.0/cassandra.rb
138
162
  - lib/cassandra/1.0/columns.rb
139
163
  - lib/cassandra/1.0/protocol.rb
140
- - lib/cassandra/1.0.rb
141
164
  - lib/cassandra/array.rb
142
165
  - lib/cassandra/cassandra.rb
143
166
  - lib/cassandra/column_family.rb
@@ -146,6 +169,7 @@ files:
146
169
  - lib/cassandra/composite.rb
147
170
  - lib/cassandra/constants.rb
148
171
  - lib/cassandra/debug.rb
172
+ - lib/cassandra/dynamic_composite.rb
149
173
  - lib/cassandra/helpers.rb
150
174
  - lib/cassandra/keyspace.rb
151
175
  - lib/cassandra/long.rb
@@ -174,7 +198,7 @@ files:
174
198
  - vendor/1.0/gen-rb/cassandra_constants.rb
175
199
  - vendor/1.0/gen-rb/cassandra_types.rb
176
200
  - cassandra.gemspec
177
- homepage: http://github.com/twitter/cassandra/
201
+ homepage: http://github.com/twitter/cassandra
178
202
  licenses: []
179
203
  post_install_message:
180
204
  rdoc_options:
@@ -186,6 +210,7 @@ rdoc_options:
186
210
  - README.md
187
211
  require_paths:
188
212
  - lib
213
+ - ext
189
214
  required_ruby_version: !ruby/object:Gem::Requirement
190
215
  none: false
191
216
  requirements:
@@ -199,16 +224,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
224
  - !ruby/object:Gem::Version
200
225
  version: '0.8'
201
226
  requirements: []
202
- rubyforge_project: fauna
227
+ rubyforge_project: cassandra
203
228
  rubygems_version: 1.8.17
204
229
  signing_key:
205
230
  specification_version: 3
206
231
  summary: A Ruby client for the Cassandra distributed database.
207
232
  test_files:
208
- - test/cassandra_mock_test.rb
209
- - test/ordered_hash_test.rb
210
233
  - test/cassandra_client_test.rb
234
+ - test/cassandra_mock_test.rb
211
235
  - test/cassandra_test.rb
212
236
  - test/comparable_types_test.rb
213
- - test/test_helper.rb
237
+ - test/composite_type_test.rb
214
238
  - test/eventmachine_test.rb
239
+ - test/ordered_hash_test.rb
240
+ - test/test_helper.rb