yugabyte-ycql-driver 3.2.3.1 → 3.2.3.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.
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