eurydice 1.0.1-java → 1.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.
data/examples/05_loading_data.rb
CHANGED
@@ -6,6 +6,7 @@ require_relative 'common'
|
|
6
6
|
cluster = Eurydice.connect
|
7
7
|
keyspace = cluster.keyspace('my_keyspace')
|
8
8
|
column_family = keyspace.column_family('employees', :create => false)
|
9
|
+
column_family.drop! if column_family.exists?
|
9
10
|
column_family.create!(:column_metadata => {'name' => {:validation_class => :utf8, :index_name => 'name_index', :index_type => :keys}})
|
10
11
|
column_family.insert('employee:1', {'name' => 'Sam', 'role' => 'Developer'})
|
11
12
|
column_family.insert('employee:2', {'name' => 'Phil', 'role' => 'Accountant'})
|
@@ -40,6 +41,18 @@ end
|
|
40
41
|
|
41
42
|
puts '---'
|
42
43
|
|
44
|
+
column_family.insert('letters', ('a'..'z').to_a.zip(('A'..'Z').to_a))
|
45
|
+
|
46
|
+
# Load a page of columns
|
47
|
+
result = column_family.get('letters', :max_column_count => 10)
|
48
|
+
puts result.keys.join(', ')
|
49
|
+
# For the next page you need to tell Eurydice which the last key you saw was
|
50
|
+
result = column_family.get('letters', :from_column => result.keys.last, :max_column_count => 11)
|
51
|
+
# The last key is included in the next page (so we load one extra column, and shift off the first column)
|
52
|
+
puts result.keys[1..-1].join(', ')
|
53
|
+
|
54
|
+
puts '---'
|
55
|
+
|
43
56
|
# Load only the value from a single column
|
44
57
|
employee1_name = column_family.get_column('employee:1', 'name')
|
45
58
|
puts "employee:1 => #{employee1_name}"
|
@@ -148,6 +148,8 @@ module Eurydice
|
|
148
148
|
|
149
149
|
private
|
150
150
|
|
151
|
+
EMPTY_STRING = ''.freeze
|
152
|
+
|
151
153
|
def get_single(row_key, options={})
|
152
154
|
thrift_exception_handler do
|
153
155
|
selector = @keyspace.create_selector
|
@@ -170,6 +172,10 @@ module Eurydice
|
|
170
172
|
def create_column_predicate(options)
|
171
173
|
max_column_count = options.fetch(:max_column_count, java.lang.Integer::MAX_VALUE)
|
172
174
|
reversed = options.fetch(:reversed, false)
|
175
|
+
if options.key?(:from_column)
|
176
|
+
raise ArgumentError, %(You can set either :columns or :from_column, but not both) if options.key?(:columns)
|
177
|
+
options[:columns] = options[:from_column]..EMPTY_STRING
|
178
|
+
end
|
173
179
|
case options[:columns]
|
174
180
|
when Range
|
175
181
|
::Pelops::Selector.new_columns_predicate(to_pelops_bytes(options[:columns].begin), to_pelops_bytes(options[:columns].end), reversed, max_column_count)
|
data/lib/eurydice/version.rb
CHANGED
@@ -258,6 +258,15 @@ module Eurydice
|
|
258
258
|
@cf.get('ABC', :max_column_count => 10).should == Hash[('a'..'z').take(10).map { |a| [a, a.upcase] }]
|
259
259
|
end
|
260
260
|
|
261
|
+
it 'loads a page of columns' do
|
262
|
+
@cf.insert('ABC', Hash[('a'..'z').map { |a| [a, a.upcase] }.shuffle])
|
263
|
+
@cf.get('ABC', :from_column => 'm', :max_column_count => 10).should == Hash[('m'..'z').take(10).map { |a| [a, a.upcase] }]
|
264
|
+
end
|
265
|
+
|
266
|
+
it 'raises an error if both :columns and :from_column are given' do
|
267
|
+
expect { @cf.get('ABC', :columns => 'a'..'z', :from_column => 'm') }.to raise_error(ArgumentError)
|
268
|
+
end
|
269
|
+
|
261
270
|
it 'loads columns in reverse order with :reversed => true' do
|
262
271
|
@cf.insert('ABC', Hash[('a'..'f').map { |a| [a, a.upcase] }.shuffle])
|
263
272
|
@cf.get('ABC', :reversed => true).keys.should == ('a'..'f').to_a.reverse
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: eurydice
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.2
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Theo Hultberg
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-11-
|
13
|
+
date: 2011-11-03 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: pelops-jars
|