sessionm-cassandra_object 2.5.1 → 2.5.2
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/lib/cassandra_object/associations.rb +2 -2
- data/lib/cassandra_object/associations/one_to_many.rb +2 -2
- data/lib/cassandra_object/associations/one_to_one.rb +5 -5
- data/lib/cassandra_object/connection.rb +3 -3
- data/lib/cassandra_object/cursor.rb +2 -2
- data/lib/cassandra_object/finder_methods.rb +11 -11
- data/lib/cassandra_object/persistence.rb +18 -17
- data/sessionm-cassandra_object.gemspec +1 -1
- metadata +2 -2
@@ -38,8 +38,8 @@ module CassandraObject
|
|
38
38
|
|
39
39
|
def remove(key)
|
40
40
|
begin
|
41
|
-
|
42
|
-
|
41
|
+
CassandraObject::Base.with_connection(key) do
|
42
|
+
ActiveSupport::Notifications.instrument("remove.cassandra_object", column_family: relationships_column_family, key: key) do
|
43
43
|
connection.remove(relationships_column_family, key.to_s, consistency: thrift_write_consistency)
|
44
44
|
end
|
45
45
|
end
|
@@ -19,8 +19,8 @@ module CassandraObject
|
|
19
19
|
def add(owner, record, set_inverse = true)
|
20
20
|
key = owner.key
|
21
21
|
attributes = {@association_name=>{new_key=>record.key.to_s}}
|
22
|
-
|
23
|
-
|
22
|
+
CassandraObject::Base.with_connection(key) do
|
23
|
+
ActiveSupport::Notifications.instrument("insert.cassandra_object", :column_family => column_family, :key => key, :attributes => attributes) do
|
24
24
|
connection.insert(column_family, key.to_s, attributes, :consistency => @owner_class.thrift_write_consistency)
|
25
25
|
end
|
26
26
|
end
|
@@ -24,15 +24,15 @@ module CassandraObject
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def clear(owner)
|
27
|
-
|
28
|
-
|
27
|
+
CassandraObject::Base.with_connection(owner.key) do
|
28
|
+
ActiveSupport::Notifications.instrument("remove.cassandra_object", :column_family => column_family, :key => owner.key, :columns => @association_name) do
|
29
29
|
connection.remove(column_family, owner.key.to_s, @association_name)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
def find(owner)
|
35
|
-
CassandraObject::Base.with_connection do
|
35
|
+
CassandraObject::Base.with_connection(owner.key.to_s) do
|
36
36
|
if key = connection.get(column_family, owner.key.to_s, @association_name.to_s, :count=>1).values.first
|
37
37
|
target_class.get(key)
|
38
38
|
else
|
@@ -45,8 +45,8 @@ module CassandraObject
|
|
45
45
|
clear(owner)
|
46
46
|
key = owner.key
|
47
47
|
attributes = {@association_name=>{new_key=>record.key.to_s}}
|
48
|
-
|
49
|
-
|
48
|
+
CassandraObject::Base.with_connection(key) do
|
49
|
+
ActiveSupport::Notifications.instrument("insert.cassandra_object", :column_family => column_family, :key => key, :attributes => attributes) do
|
50
50
|
connection.insert(column_family, key.to_s, attributes, :consistency => @owner_class.thrift_write_consistency)
|
51
51
|
end
|
52
52
|
end
|
@@ -108,12 +108,12 @@ module CassandraObject
|
|
108
108
|
end
|
109
109
|
def self.connection?() !!connection end
|
110
110
|
|
111
|
-
def self.with_connection(&block)
|
111
|
+
def self.with_connection(key=nil, &block)
|
112
112
|
self.connection_pool.with_connection(&block)
|
113
113
|
end
|
114
114
|
|
115
|
-
def with_connection(&block)
|
116
|
-
self.class.with_connection(&block)
|
115
|
+
def with_connection(key=nil, &block)
|
116
|
+
self.class.with_connection(key, &block)
|
117
117
|
end
|
118
118
|
|
119
119
|
def self.disconnect!
|
@@ -25,7 +25,7 @@ module CassandraObject
|
|
25
25
|
while objects.size < number_to_find && !out_of_keys
|
26
26
|
index_results =
|
27
27
|
begin
|
28
|
-
CassandraObject::Base.with_connection do
|
28
|
+
CassandraObject::Base.with_connection(@key) do
|
29
29
|
connection.get(@column_family, @key, @super_column,
|
30
30
|
count: limit,
|
31
31
|
start: start_with,
|
@@ -85,7 +85,7 @@ module CassandraObject
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def remove(index_key)
|
88
|
-
CassandraObject::Base.with_connection do
|
88
|
+
CassandraObject::Base.with_connection(@key) do
|
89
89
|
connection.remove(@column_family, @key, @super_column, index_key, consistency: target_class.thrift_write_consistency)
|
90
90
|
end
|
91
91
|
end
|
@@ -11,8 +11,8 @@ module CassandraObject
|
|
11
11
|
|
12
12
|
attributes =
|
13
13
|
begin
|
14
|
-
|
15
|
-
|
14
|
+
CassandraObject::Base.with_connection(key) do
|
15
|
+
ActiveSupport::Notifications.instrument("get.cassandra_object", column_family: column_family, key: key) do
|
16
16
|
connection.get column_family, key, opts.slice(:consistency)
|
17
17
|
end
|
18
18
|
end
|
@@ -35,8 +35,8 @@ module CassandraObject
|
|
35
35
|
opts.assert_valid_keys(:consistency)
|
36
36
|
opts[:consistency] ||= thrift_read_consistency
|
37
37
|
|
38
|
-
|
39
|
-
|
38
|
+
CassandraObject::Base.with_connection(key) do
|
39
|
+
result = ActiveSupport::Notifications.instrument("get_counter.cassandra_object", column_family: column_family, key: key, column: column) do
|
40
40
|
connection.get(column_family, key, column, opts)
|
41
41
|
end
|
42
42
|
end
|
@@ -50,8 +50,8 @@ module CassandraObject
|
|
50
50
|
|
51
51
|
def all(options = {})
|
52
52
|
limit = options[:limit] || 100
|
53
|
-
results =
|
54
|
-
|
53
|
+
results = CassandraObject::Base.with_connection do
|
54
|
+
ActiveSupport::Notifications.instrument("get_range.cassandra_object", column_family: column_family, key_count: limit) do
|
55
55
|
connection.get_range(column_family, key_count: limit, consistency: thrift_read_consistency)
|
56
56
|
end
|
57
57
|
end
|
@@ -88,7 +88,7 @@ module CassandraObject
|
|
88
88
|
|
89
89
|
# Selecting a slice of a super column
|
90
90
|
def get_slice(key, start, finish, opts={})
|
91
|
-
CassandraObject::Base.with_connection do
|
91
|
+
CassandraObject::Base.with_connection(key) do
|
92
92
|
connection.get_slice(column_family,
|
93
93
|
key,
|
94
94
|
start,
|
@@ -118,8 +118,8 @@ module CassandraObject
|
|
118
118
|
end
|
119
119
|
|
120
120
|
def multi_get(keys, options={})
|
121
|
-
attribute_results =
|
122
|
-
|
121
|
+
attribute_results = CassandraObject::Base.with_connection do
|
122
|
+
ActiveSupport::Notifications.instrument("multi_get.cassandra_object", column_family: column_family, keys: keys) do
|
123
123
|
connection.multi_get(column_family, keys.map(&:to_s), consistency: thrift_read_consistency)
|
124
124
|
end
|
125
125
|
end
|
@@ -130,8 +130,8 @@ module CassandraObject
|
|
130
130
|
def multi_get_by_expression(expression, options={})
|
131
131
|
options = options.reverse_merge(:consistency => thrift_read_consistency)
|
132
132
|
|
133
|
-
attribute_results =
|
134
|
-
|
133
|
+
attribute_results = CassandraObject::Base.with_connection do
|
134
|
+
ActiveSupport::Notifications.instrument("multi_get_by_expression.cassandra_object", column_family: column_family, expression: expression) do
|
135
135
|
intermediate_results = connection.get_indexed_slices(column_family, expression, options)
|
136
136
|
connection.send(:multi_columns_to_hash!, column_family, intermediate_results)
|
137
137
|
end
|
@@ -8,8 +8,8 @@ module CassandraObject
|
|
8
8
|
# the options are removed, leaving just columns
|
9
9
|
columns = columns_and_options
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
CassandraObject::Base.with_connection(key) do
|
12
|
+
ActiveSupport::Notifications.instrument("add.cassandra_object", column_family: column_family, key: key, column: column, sub_column: sub_column, value: value) do
|
13
13
|
connection.add(column_family, key, value, *columns, :consistency => thrift_write_consistency)
|
14
14
|
end
|
15
15
|
end
|
@@ -28,16 +28,16 @@ module CassandraObject
|
|
28
28
|
values.uniq!
|
29
29
|
value_spec = values.length == 1 ? values[0] : '<various>'
|
30
30
|
|
31
|
-
|
32
|
-
|
31
|
+
CassandraObject::Base.with_connection(key) do
|
32
|
+
ActiveSupport::Notifications.instrument("add.cassandra_object", column_family: column_family, key: key, column: column_spec, value: value_spec) do
|
33
33
|
connection.add_multiple_columns(column_family, key, hash, :consistency => thrift_write_consistency)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
38
|
def remove(key)
|
39
|
-
|
40
|
-
|
39
|
+
CassandraObject::Base.with_connection(key) do
|
40
|
+
ActiveSupport::Notifications.instrument("remove.cassandra_object", column_family: column_family, key: key) do
|
41
41
|
connection.remove(column_family, key.to_s, consistency: thrift_write_consistency)
|
42
42
|
end
|
43
43
|
end
|
@@ -46,17 +46,17 @@ module CassandraObject
|
|
46
46
|
# remove_counter is not exposed by Cassandra gem.
|
47
47
|
# TODO: move this to Cassandra gem.
|
48
48
|
def remove_counter(key)
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
CassandraObject::Base.with_connection(key) do
|
50
|
+
ActiveSupport::Notifications.instrument("remove.cassandra_object", column_family: column_family, key: key) do
|
51
|
+
parent = CassandraThrift::ColumnParent.new(:column_family => column_family)
|
52
52
|
connection.send(:client).remove_counter(key, parent, thrift_write_consistency)
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
57
|
def delete_all
|
58
|
-
|
59
|
-
|
58
|
+
CassandraObject::Base.with_connection do
|
59
|
+
ActiveSupport::Notifications.instrument("truncate.cassandra_object", column_family: column_family) do
|
60
60
|
connection.truncate!(column_family)
|
61
61
|
end
|
62
62
|
end
|
@@ -72,13 +72,14 @@ module CassandraObject
|
|
72
72
|
key.tap do |key|
|
73
73
|
unless attributes.blank?
|
74
74
|
attributes = encode_columns_hash(attributes, schema_version)
|
75
|
-
|
75
|
+
CassandraObject::Base.with_connection(key) do
|
76
|
+
ActiveSupport::Notifications.instrument("insert.cassandra_object", column_family: column_family, key: key, attributes: attributes) do
|
76
77
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
78
|
+
options = {}.tap do |options|
|
79
|
+
options[:consistency] = thrift_write_consistency
|
80
|
+
options[:ttl] = row_ttl unless row_ttl.nil?
|
81
|
+
end
|
82
|
+
|
82
83
|
connection.insert(column_family, key.to_s, attributes, options)
|
83
84
|
end
|
84
85
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sessionm-cassandra_object
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-06-
|
14
|
+
date: 2013-06-06 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|