yugabyte-ycql-driver 3.2.3.1 → 3.2.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0420f05d4a063e020526b1869f3c2a4bf61b7eb7
4
- data.tar.gz: 594ee209ed49626772e68fcbe0b9331f1e0d8412
3
+ metadata.gz: b753f0f1caa1a111c6b06f09948f2d43044135f0
4
+ data.tar.gz: c206ec00e72602d3029d0331d8cdf850115929b1
5
5
  SHA512:
6
- metadata.gz: ef47feef7a8915c1bc87ef13f21ebc07b01520dc67690cdaa98ba8e7d691c428a9ef6a2c7c52d0e1607e910e82fbc86a7a630f4a4b681f7e80fc58922e77bae8
7
- data.tar.gz: e298797101462cd87d89d0408204f34ea8dca108e2fd4ebe0ec34255d2d6bdc71d02eed339a37a161799867eddb27c3ca5b7c375dad88f666d01be1c1f67f428
6
+ metadata.gz: 152346040cbf20ac767041f1966f3978e5fc9a46a6fa3a8f8808095917768443e332e7e06206e65fe31424b64597ae06c3517477c04339bd8a99de31521f6db3
7
+ data.tar.gz: b48e47de726948927484dda1e08a96717a7b767d3c2df352df4162c4a7f6a687db2da4edcd480ac2d5cd03a08f43a2d4cf4df0e25721112a1b054a6567348d2e
data/README.md CHANGED
@@ -11,7 +11,7 @@ the Cassandra Query Language version 3 (CQL3) and Cassandra's native protocol.
11
11
 
12
12
  - Code: https://github.com/yugabyte/cassandra-ruby-driver
13
13
  - Docs: http://docs.datastax.com/en/developer/ruby-driver
14
- - Mailing List: https://groups.google.com/a/lists.datastax.com/forum/#!forum/ruby-driver-user
14
+ - Forum: https://forum.yugabyte.com
15
15
 
16
16
  This driver is based on [the cql-rb gem](https://github.com/iconara/cql-rb) by [Theo Hultberg](https://github.com/iconara) and we added support for:
17
17
 
@@ -227,7 +227,7 @@ Driver for Apache Cassandra will continue on this project, while
227
227
 
228
228
  ## Copyright
229
229
 
230
- Copyright DataStax, Inc.
230
+ Copyright 2019, YugaByte, Inc.
231
231
 
232
232
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
233
233
  except in compliance with the License. You may obtain a copy of the License at
@@ -60,6 +60,7 @@ module Cassandra
60
60
  when 'smallint' then Cassandra::Types.smallint
61
61
  when 'time' then Cassandra::Types.time
62
62
  when 'tinyint' then Cassandra::Types.tinyint
63
+ when 'jsonb' then Cassandra::Types.jsonb
63
64
  when 'map' then
64
65
  Cassandra::Types.map(*node.children.map { |t| lookup_type(t, types)})
65
66
  when 'set' then
@@ -117,6 +117,7 @@ module Cassandra
117
117
  type.value_type)
118
118
  when :udt then write_udt_v4(buffer, value, type.fields)
119
119
  when :tuple then write_tuple_v4(buffer, value, type.members)
120
+ when :jsonb then write_text(buffer, value)
120
121
  else
121
122
  raise Errors::EncodingError, %(Unsupported value type: #{type})
122
123
  end
@@ -217,6 +218,7 @@ module Cassandra
217
218
  when 0x0031 then Types.tuple(
218
219
  *::Array.new(buffer.read_short) { read_type_v4(buffer) }
219
220
  )
221
+ when 0x0080 then Types.jsonb
220
222
  else
221
223
  raise Errors::DecodingError, %(Unsupported column type: #{id})
222
224
  end
@@ -255,6 +257,7 @@ module Cassandra
255
257
  when :time then read_time(buffer)
256
258
  when :date then read_date(buffer)
257
259
  when :custom then read_custom(buffer, type, custom_type_handlers)
260
+ when :jsonb then read_text(buffer)
258
261
  when :list
259
262
  return nil unless read_size(buffer)
260
263
 
@@ -405,6 +408,7 @@ module Cassandra
405
408
  type.value_type)
406
409
  when :udt then write_udt_v3(buffer, value, type.fields)
407
410
  when :tuple then write_tuple_v3(buffer, value, type.members)
411
+ when :jsonb then write_text(buffer, value)
408
412
  else
409
413
  raise Errors::EncodingError, %(Unsupported value type: #{type})
410
414
  end
@@ -438,6 +442,7 @@ module Cassandra
438
442
  when :text then read_text(buffer)
439
443
  when :varint then read_varint(buffer)
440
444
  when :inet then read_inet(buffer)
445
+ when :jsonb then read_text(buffer)
441
446
  when :list
442
447
  return nil unless read_size(buffer)
443
448
 
@@ -568,6 +573,7 @@ module Cassandra
568
573
  when 0x0031 then Types.tuple(
569
574
  *::Array.new(buffer.read_short) { read_type_v3(buffer) }
570
575
  )
576
+ when 0x0080 then Types.jsonb
571
577
  else
572
578
  raise Errors::DecodingError, %(Unsupported column type: #{id})
573
579
  end
@@ -628,6 +634,7 @@ module Cassandra
628
634
  when :timestamp then write_timestamp(buffer, value)
629
635
  when :timeuuid, :uuid then write_uuid(buffer, value)
630
636
  when :varint then write_varint(buffer, value)
637
+ when :jsonb then write_text(buffer, value)
631
638
  when :list, :set then write_list_v1(buffer, value, type.value_type)
632
639
  when :map then write_map_v1(buffer,
633
640
  value,
@@ -666,6 +673,7 @@ module Cassandra
666
673
  when :uuid then read_uuid(buffer)
667
674
  when :timeuuid then read_uuid(buffer, TimeUuid)
668
675
  when :inet then read_inet(buffer)
676
+ when :jsonb then read_text(buffer)
669
677
  when :list
670
678
  return nil unless read_size(buffer)
671
679
 
@@ -757,6 +765,7 @@ module Cassandra
757
765
  when 0x0020 then Types.list(read_type_v1(buffer))
758
766
  when 0x0021 then Types.map(read_type_v1(buffer), read_type_v1(buffer))
759
767
  when 0x0022 then Types.set(read_type_v1(buffer))
768
+ when 0x0080 then Types.text
760
769
  else
761
770
  raise Errors::DecodingError, %(Unsupported column type: #{kind})
762
771
  end
@@ -995,6 +1004,9 @@ module Cassandra
995
1004
  when :varint
996
1005
  size = read_short_size(buffer)
997
1006
  size && buffer.read_varint(size)
1007
+ when :jsonb
1008
+ value = buffer.read_short_bytes
1009
+ value && value.force_encoding(::Encoding::UTF_8)
998
1010
  else
999
1011
  raise Errors::EncodingError, %(Unsupported short value type: #{type})
1000
1012
  end
@@ -1068,6 +1080,8 @@ module Cassandra
1068
1080
  end
1069
1081
  when :varint
1070
1082
  buffer.append_short_bytes(value && CqlByteBuffer.new.append_varint(value))
1083
+ when :jsonb
1084
+ buffer.append_short_bytes(value && value.encode(::Encoding::UTF_8))
1071
1085
  else
1072
1086
  raise Errors::EncodingError, %(Unsupported short value type: #{type})
1073
1087
  end
@@ -264,6 +264,15 @@ module Cassandra
264
264
  Util.assert_instance_of(::Integer, value, message, &block)
265
265
  Util.assert(value <= 127 && value >= -128, message, &block)
266
266
  end
267
+
268
+ def new_jsonb(value)
269
+ String(value)
270
+ end
271
+
272
+ def assert_jsonb(value, message, &block)
273
+ Util.assert_instance_of(::String, value, message, &block)
274
+ end
275
+
267
276
  end
268
277
 
269
278
  # @!parse
@@ -1036,6 +1045,38 @@ module Cassandra
1036
1045
  # end
1037
1046
  const_set('Tinyint', Simple.new(:tinyint))
1038
1047
 
1048
+ # @!parse
1049
+ # class Jsonb < Type
1050
+ # # @return [Symbol] `:jsonb`
1051
+ # # @see Cassandra::Type#kind
1052
+ # def kind
1053
+ # end
1054
+ #
1055
+ # # Coerces the value to String
1056
+ # # @param value [Object] original value
1057
+ # # @return [String] value
1058
+ # # @see Cassandra::Type#new
1059
+ # def new(value)
1060
+ # end
1061
+ #
1062
+ # # Asserts that a given value is a String
1063
+ # # @param value [Object] value to be validated
1064
+ # # @param message [String] error message to use when assertion
1065
+ # # fails
1066
+ # # @yieldreturn [String] error message to use when assertion fails
1067
+ # # @raise [ArgumentError] if the value is not a String
1068
+ # # @return [void]
1069
+ # # @see Cassandra::Type#assert
1070
+ # def assert(value, message = nil, &block)
1071
+ # end
1072
+ #
1073
+ # # @return [String] `"jsonb"`
1074
+ # # @see Cassandra::Type#to_s
1075
+ # def to_s
1076
+ # end
1077
+ # end
1078
+ const_set('Jsonb', Simple.new(:jsonb))
1079
+
1039
1080
  class Tuple < Type
1040
1081
  # @private
1041
1082
  attr_reader :members
@@ -1581,6 +1622,11 @@ module Cassandra
1581
1622
  Tinyint
1582
1623
  end
1583
1624
 
1625
+ # @return [Cassandra::Types::Jsonb] jsonb type
1626
+ def jsonb
1627
+ Jsonb
1628
+ end
1629
+
1584
1630
  # @param value_type [Cassandra::Type] the type of elements in this list
1585
1631
  # @return [Cassandra::Types::List] list type
1586
1632
  def list(value_type)
@@ -17,5 +17,5 @@
17
17
  #++
18
18
 
19
19
  module Cassandra
20
- VERSION = '3.2.3.1'.freeze
20
+ VERSION = '3.2.3.2'.freeze
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yugabyte-ycql-driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3.1
4
+ version: 3.2.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Theo Hultberg
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-03-12 00:00:00.000000000 Z
14
+ date: 2019-10-01 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: ione
@@ -213,7 +213,7 @@ files:
213
213
  - lib/ycql.rb
214
214
  homepage: https://github.com/YugaByte/cassandra-ruby-driver
215
215
  licenses:
216
- - Apache License 2.0
216
+ - Apache-2.0
217
217
  metadata: {}
218
218
  post_install_message:
219
219
  rdoc_options:
@@ -236,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
236
236
  version: '0'
237
237
  requirements: []
238
238
  rubyforge_project:
239
- rubygems_version: 2.5.1
239
+ rubygems_version: 2.6.11
240
240
  signing_key:
241
241
  specification_version: 4
242
242
  summary: Ruby Driver for YugaByte DB