cassandra-driver 3.0.2-java → 3.0.3-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 +5 -5
- data/lib/cassandra/cluster/schema/fetchers.rb +4 -7
- data/lib/cassandra/column_container.rb +2 -3
- data/lib/cassandra/execution/options.rb +1 -1
- data/lib/cassandra/keyspace.rb +12 -4
- data/lib/cassandra/materialized_view.rb +9 -7
- data/lib/cassandra/version.rb +1 -1
- data/lib/cassandra_murmur3.jar +0 -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: dd12699ee5345d58839cfaf6ebc7e9f39529f835
|
4
|
+
data.tar.gz: 05efbd46f2dbef7ff4669c79c88e3671629a898f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8c4bc332b1cdd24dda360c19a564a4af64e865b04a139ac04208768949622fedc4bb83d421d1c1a7450d9bb089e14ba6c24e7b8238b562d349ba88d24980c10
|
7
|
+
data.tar.gz: c99658b87ff4197aedd1c7d0f719be36720252b025797beaefd0a0e0ba718dfdcba17d20c705acd39785e1f9344b0679095aadae9f35217d4c22a561088de403
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Datastax Ruby Driver for Apache Cassandra
|
2
2
|
|
3
|
-
*If you're reading this on GitHub, please note that this is the readme for the development version and that some features described here might not yet have been released. You can [find the documentation for the latest version through ruby driver docs](http://docs.datastax.com/en/latest-ruby-driver/ruby-driver/whatsNew.html) or via the release tags, [e.g. v3.0.
|
3
|
+
*If you're reading this on GitHub, please note that this is the readme for the development version and that some features described here might not yet have been released. You can [find the documentation for the latest version through ruby driver docs](http://docs.datastax.com/en/latest-ruby-driver/ruby-driver/whatsNew.html) or via the release tags, [e.g. v3.0.3](https://github.com/datastax/ruby-driver/tree/v3.0.3).*
|
4
4
|
|
5
5
|
[](https://travis-ci.org/datastax/ruby-driver)
|
6
6
|
|
@@ -90,11 +90,11 @@ __Note__: if you want to use compression you should also install [snappy](http:/
|
|
90
90
|
|
91
91
|
## Upgrading from cql-rb
|
92
92
|
|
93
|
-
Some of the new features added to the driver have unfortunately led to changes in the original cql-rb API. In the examples directory, you can find [an example of how to wrap the ruby driver to achieve almost complete interface parity with cql-rb](https://github.com/datastax/ruby-driver/blob/v3.0.
|
93
|
+
Some of the new features added to the driver have unfortunately led to changes in the original cql-rb API. In the examples directory, you can find [an example of how to wrap the ruby driver to achieve almost complete interface parity with cql-rb](https://github.com/datastax/ruby-driver/blob/v3.0.3/examples/cql-rb-wrapper.rb) to assist you with gradual upgrade.
|
94
94
|
|
95
95
|
## What's new in v3.0
|
96
96
|
|
97
|
-
See the [changelog](https://github.com/datastax/ruby-driver/blob/v3.0.
|
97
|
+
See the [changelog](https://github.com/datastax/ruby-driver/blob/v3.0.3/CHANGELOG.md) for details on patch versions.
|
98
98
|
|
99
99
|
### Features:
|
100
100
|
|
@@ -164,7 +164,7 @@ examples in the `features/` directory.
|
|
164
164
|
## Running tests
|
165
165
|
|
166
166
|
If you don't feel like reading through the following instructions on how to run
|
167
|
-
ruby-driver tests, feel free to [check out .travis.yml for the entire build code](https://github.com/datastax/ruby-driver/blob/v3.0.
|
167
|
+
ruby-driver tests, feel free to [check out .travis.yml for the entire build code](https://github.com/datastax/ruby-driver/blob/v3.0.3/.travis.yml).
|
168
168
|
|
169
169
|
* Check out the driver codebase and install test dependencies:
|
170
170
|
|
@@ -188,7 +188,7 @@ CASSANDRA_VERSION=2.0.17 bundle exec rake test # run both as well as integration
|
|
188
188
|
## Changelog & versioning
|
189
189
|
|
190
190
|
Check out the [releases on GitHub](https://github.com/datastax/ruby-driver/releases) and
|
191
|
-
[changelog](https://github.com/datastax/ruby-driver/blob/v3.0.
|
191
|
+
[changelog](https://github.com/datastax/ruby-driver/blob/v3.0.3/CHANGELOG.md). Version
|
192
192
|
numbering follows the [semantic versioning](http://semver.org/) scheme.
|
193
193
|
|
194
194
|
Private and experimental APIs, defined as whatever is not in the
|
@@ -107,10 +107,8 @@ module Cassandra
|
|
107
107
|
nil
|
108
108
|
else
|
109
109
|
view_row = rows_views.first
|
110
|
-
base_table = @schema.keyspace(keyspace_name).table(view_row['base_table_name'])
|
111
110
|
create_materialized_view(view_row,
|
112
|
-
rows_columns
|
113
|
-
base_table)
|
111
|
+
rows_columns)
|
114
112
|
end
|
115
113
|
end
|
116
114
|
end
|
@@ -1216,10 +1214,8 @@ module Cassandra
|
|
1216
1214
|
|
1217
1215
|
views = rows_views.each_with_object({}) do |row, h|
|
1218
1216
|
view_name = row['view_name']
|
1219
|
-
base_table = tables[row['base_table_name']]
|
1220
1217
|
h[view_name] = create_materialized_view(row,
|
1221
1218
|
lookup_columns[view_name],
|
1222
|
-
base_table,
|
1223
1219
|
types)
|
1224
1220
|
end
|
1225
1221
|
|
@@ -1366,9 +1362,10 @@ module Cassandra
|
|
1366
1362
|
options['target'], options))
|
1367
1363
|
end
|
1368
1364
|
|
1369
|
-
def create_materialized_view(view_data, rows_columns,
|
1365
|
+
def create_materialized_view(view_data, rows_columns, types = nil)
|
1370
1366
|
keyspace_name = view_data['keyspace_name']
|
1371
1367
|
view_name = view_data['view_name']
|
1368
|
+
base_table_name = view_data['base_table_name']
|
1372
1369
|
include_all_columns = view_data['include_all_columns']
|
1373
1370
|
where_clause = view_data['where_clause']
|
1374
1371
|
|
@@ -1406,7 +1403,7 @@ module Cassandra
|
|
1406
1403
|
view_options,
|
1407
1404
|
include_all_columns,
|
1408
1405
|
where_clause,
|
1409
|
-
|
1406
|
+
base_table_name,
|
1410
1407
|
view_data['id'])
|
1411
1408
|
end
|
1412
1409
|
end
|
@@ -286,13 +286,12 @@ module Cassandra
|
|
286
286
|
|
287
287
|
# @private
|
288
288
|
# keyspace attribute may be nil because when this object was constructed, we didn't have
|
289
|
-
# its keyspace constructed yet. So allow updating @keyspace
|
289
|
+
# its keyspace constructed yet. So allow updating @keyspace, thus
|
290
290
|
# allowing fetchers to create keyspace, table/view, and hook them together without
|
291
291
|
# worrying about chickens and eggs.
|
292
|
-
# NOTE: Ignore the set request if the @keyspace is already set.
|
293
292
|
# rubocop:disable Style/AccessorMethodName
|
294
293
|
def set_keyspace(keyspace)
|
295
|
-
@keyspace = keyspace
|
294
|
+
@keyspace = keyspace
|
296
295
|
end
|
297
296
|
|
298
297
|
# @private
|
@@ -54,7 +54,7 @@ module Cassandra
|
|
54
54
|
#
|
55
55
|
# @see https://github.com/apache/cassandra/blob/cassandra-3.4/doc/native_protocol_v4.spec#L125-L131 Description
|
56
56
|
# of custom payload in Cassandra native protocol v4.
|
57
|
-
# @see
|
57
|
+
# @see http://docs.datastax.com/en/developer/java-driver/3.0/supplemental/manual/custom_payloads/?local=true&nav=toc#enabling-custom-payloads-on-c-nodes
|
58
58
|
# Enabling custom payloads on Cassandra nodes.
|
59
59
|
#
|
60
60
|
# @example Sending a custom payload
|
data/lib/cassandra/keyspace.rb
CHANGED
@@ -113,13 +113,15 @@ module Cassandra
|
|
113
113
|
# @return [Boolean] whether this keyspace has a materialized view with the given name
|
114
114
|
# @param name [String] materialized view name
|
115
115
|
def has_materialized_view?(name)
|
116
|
-
|
116
|
+
# We check if the view exists *and* that its base-table is set. If base-table isn't available,
|
117
|
+
# it will be soon, so the user can poll on this method until we return a fully-baked materialized view.
|
118
|
+
@views.key?(name) && !@views[name].base_table.nil?
|
117
119
|
end
|
118
120
|
|
119
121
|
# @return [Cassandra::MaterializedView, nil] a materialized view or nil
|
120
122
|
# @param name [String] materialized view name
|
121
123
|
def materialized_view(name)
|
122
|
-
@views[name]
|
124
|
+
@views[name] if has_materialized_view?(name)
|
123
125
|
end
|
124
126
|
|
125
127
|
# Yield or enumerate each materialized view defined in this keyspace
|
@@ -130,10 +132,16 @@ module Cassandra
|
|
130
132
|
# @return [Array<Cassandra::MaterializedView>] a list of materialized views
|
131
133
|
def each_materialized_view(&block)
|
132
134
|
if block_given?
|
133
|
-
@views.each_value
|
135
|
+
@views.each_value do |v|
|
136
|
+
block.call(v) if v.base_table
|
137
|
+
end
|
134
138
|
self
|
135
139
|
else
|
136
|
-
|
140
|
+
result = []
|
141
|
+
@views.each_value do |v|
|
142
|
+
result << v if v.base_table
|
143
|
+
end
|
144
|
+
result
|
137
145
|
end
|
138
146
|
end
|
139
147
|
alias materialized_views each_materialized_view
|
@@ -21,9 +21,6 @@ module Cassandra
|
|
21
21
|
# @see Cassandra::Keyspace#each_materialized_view
|
22
22
|
# @see Cassandra::Keyspace#materialized_view
|
23
23
|
class MaterializedView < ColumnContainer
|
24
|
-
# @return [Table] the table that this materialized view applies to.
|
25
|
-
attr_reader :base_table
|
26
|
-
|
27
24
|
# @private
|
28
25
|
def initialize(keyspace,
|
29
26
|
name,
|
@@ -33,12 +30,17 @@ module Cassandra
|
|
33
30
|
options,
|
34
31
|
include_all_columns,
|
35
32
|
where_clause,
|
36
|
-
|
33
|
+
base_table_name,
|
37
34
|
id)
|
38
35
|
super(keyspace, name, partition_key, clustering_columns, other_columns, options, id)
|
39
36
|
@include_all_columns = include_all_columns
|
40
37
|
@where_clause = where_clause
|
41
|
-
@
|
38
|
+
@base_table_name = base_table_name
|
39
|
+
end
|
40
|
+
|
41
|
+
# @return [Table] the table that this materialized view applies to.
|
42
|
+
def base_table
|
43
|
+
@keyspace.table(@base_table_name)
|
42
44
|
end
|
43
45
|
|
44
46
|
# @return [String] a cql representation of this materialized view
|
@@ -52,7 +54,7 @@ module Cassandra
|
|
52
54
|
Util.escape_name(column.name)
|
53
55
|
end.join(', ')
|
54
56
|
end
|
55
|
-
cql << "\nFROM #{keyspace_name}.#{Util.escape_name(@
|
57
|
+
cql << "\nFROM #{keyspace_name}.#{Util.escape_name(@base_table_name)}"
|
56
58
|
cql << "\nWHERE #{@where_clause}" if @where_clause
|
57
59
|
cql << "\nPRIMARY KEY (("
|
58
60
|
cql << @partition_key.map do |column|
|
@@ -74,7 +76,7 @@ module Cassandra
|
|
74
76
|
super.eql?(other) &&
|
75
77
|
@include_all_columns == other.include_all_columns &&
|
76
78
|
@where_clause == other.where_clause &&
|
77
|
-
@
|
79
|
+
@base_table_name == other.base_table.name
|
78
80
|
end
|
79
81
|
alias == eql?
|
80
82
|
|
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.3
|
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-07-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|