google-cloud-bigtable-v2 1.9.0 → 1.10.0

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
  SHA256:
3
- metadata.gz: eab880e644ec4ac54c1becd61253bf2474e0925f6a93cbb6d4b1656065b367e6
4
- data.tar.gz: ce4b65afcb8ecf686833d67a90af2a4fd5fd4d3b31324034da52b1a5e437a82c
3
+ metadata.gz: 63f904f0304e6d2348a03a594590060814a9c862126450f419630086f79f04f3
4
+ data.tar.gz: 743d117b411acc5baa92ab177430bae3e1b619f6b3657b0987ac37e5c475214b
5
5
  SHA512:
6
- metadata.gz: d33574049cdaeb881c256a234117594eed4bfdfe0e179287687e7c74564e4dc03deea810a19081ba671e5d5f1ce7555ef406c75ee406a005d0601d904568ba34
7
- data.tar.gz: 611990071b0652bef1fbc2d8e9f17e81da229f8323a9e77a3e57c31ccf70a5a1b87a9198c6eae7f869403322c8038d7a9c18024dcc970da2ccbab12ea3ec1f00
6
+ metadata.gz: '065429e0a3033394f76394184475d96187b7289a65a6b9c7ca2a93e8a1e550af72751e09ac6e058bfe13c39cc140376a092c6a5bb38f9f0d4fa7e2bfce0c7f80'
7
+ data.tar.gz: 91b51f5be9a697c33e9790bcc60d014217a87032c0a7e603873ea837d6af3604c67babcba719c9aa709cde35643c735958eeb8278847ac1f7640635414c602fd
@@ -7,7 +7,7 @@ require 'google/protobuf'
7
7
  require 'google/api/field_behavior_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n\x1egoogle/bigtable/v2/types.proto\x12\x12google.bigtable.v2\x1a\x1fgoogle/api/field_behavior.proto\"\xb8\x12\n\x04Type\x12\x34\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesH\x00\x12\x36\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StringH\x00\x12\x34\n\nint64_type\x18\x05 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.Int64H\x00\x12\x38\n\x0c\x66loat32_type\x18\x0c \x01(\x0b\x32 .google.bigtable.v2.Type.Float32H\x00\x12\x38\n\x0c\x66loat64_type\x18\t \x01(\x0b\x32 .google.bigtable.v2.Type.Float64H\x00\x12\x32\n\tbool_type\x18\x08 \x01(\x0b\x32\x1d.google.bigtable.v2.Type.BoolH\x00\x12<\n\x0etimestamp_type\x18\n \x01(\x0b\x32\".google.bigtable.v2.Type.TimestampH\x00\x12\x32\n\tdate_type\x18\x0b \x01(\x0b\x32\x1d.google.bigtable.v2.Type.DateH\x00\x12<\n\x0e\x61ggregate_type\x18\x06 \x01(\x0b\x32\".google.bigtable.v2.Type.AggregateH\x00\x12\x36\n\x0bstruct_type\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StructH\x00\x12\x34\n\narray_type\x18\x03 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ArrayH\x00\x12\x30\n\x08map_type\x18\x04 \x01(\x0b\x32\x1c.google.bigtable.v2.Type.MapH\x00\x12\x34\n\nproto_type\x18\r \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ProtoH\x00\x12\x32\n\tenum_type\x18\x0e \x01(\x0b\x32\x1d.google.bigtable.v2.Type.EnumH\x00\x1a\x9d\x01\n\x05\x42ytes\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Bytes.Encoding\x1aY\n\x08\x45ncoding\x12:\n\x03raw\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Bytes.Encoding.RawH\x00\x1a\x05\n\x03RawB\n\n\x08\x65ncoding\x1a\x8d\x02\n\x06String\x12:\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32(.google.bigtable.v2.Type.String.Encoding\x1a\xc6\x01\n\x08\x45ncoding\x12H\n\x08utf8_raw\x18\x01 \x01(\x0b\x32\x30.google.bigtable.v2.Type.String.Encoding.Utf8RawB\x02\x18\x01H\x00\x12H\n\nutf8_bytes\x18\x02 \x01(\x0b\x32\x32.google.bigtable.v2.Type.String.Encoding.Utf8BytesH\x00\x1a\r\n\x07Utf8Raw:\x02\x18\x01\x1a\x0b\n\tUtf8BytesB\n\n\x08\x65ncoding\x1a\xf5\x01\n\x05Int64\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.Encoding\x1a\xb0\x01\n\x08\x45ncoding\x12R\n\x10\x62ig_endian_bytes\x18\x01 \x01(\x0b\x32\x36.google.bigtable.v2.Type.Int64.Encoding.BigEndianBytesH\x00\x1a\x44\n\x0e\x42igEndianBytes\x12\x32\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesB\n\n\x08\x65ncoding\x1a\x06\n\x04\x42ool\x1a\t\n\x07\x46loat32\x1a\t\n\x07\x46loat64\x1a\x0b\n\tTimestamp\x1a\x06\n\x04\x44\x61te\x1a\x84\x01\n\x06Struct\x12\x35\n\x06\x66ields\x18\x01 \x03(\x0b\x32%.google.bigtable.v2.Type.Struct.Field\x1a\x43\n\x05\x46ield\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12&\n\x04type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\x37\n\x05Proto\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x14\n\x0cmessage_name\x18\x02 \x01(\t\x1a\x33\n\x04\x45num\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x11\n\tenum_name\x18\x02 \x01(\t\x1a\x37\n\x05\x41rray\x12.\n\x0c\x65lement_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a_\n\x03Map\x12*\n\x08key_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12,\n\nvalue_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xb7\x03\n\tAggregate\x12,\n\ninput_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12\x31\n\nstate_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.TypeB\x03\xe0\x41\x03\x12\x35\n\x03sum\x18\x04 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.SumH\x00\x12_\n\x12hllpp_unique_count\x18\x05 \x01(\x0b\x32\x41.google.bigtable.v2.Type.Aggregate.HyperLogLogPlusPlusUniqueCountH\x00\x12\x35\n\x03max\x18\x06 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MaxH\x00\x12\x35\n\x03min\x18\x07 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MinH\x00\x1a\x05\n\x03Sum\x1a\x05\n\x03Max\x1a\x05\n\x03Min\x1a \n\x1eHyperLogLogPlusPlusUniqueCountB\x0c\n\naggregatorB\x06\n\x04kindB\xb4\x01\n\x16\x63om.google.bigtable.v2B\nTypesProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xaa\x02\x18Google.Cloud.Bigtable.V2\xca\x02\x18Google\\Cloud\\Bigtable\\V2\xea\x02\x1bGoogle::Cloud::Bigtable::V2b\x06proto3"
10
+ descriptor_data = "\n\x1egoogle/bigtable/v2/types.proto\x12\x12google.bigtable.v2\x1a\x1fgoogle/api/field_behavior.proto\"\x87\x18\n\x04Type\x12\x34\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesH\x00\x12\x36\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StringH\x00\x12\x34\n\nint64_type\x18\x05 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.Int64H\x00\x12\x38\n\x0c\x66loat32_type\x18\x0c \x01(\x0b\x32 .google.bigtable.v2.Type.Float32H\x00\x12\x38\n\x0c\x66loat64_type\x18\t \x01(\x0b\x32 .google.bigtable.v2.Type.Float64H\x00\x12\x32\n\tbool_type\x18\x08 \x01(\x0b\x32\x1d.google.bigtable.v2.Type.BoolH\x00\x12<\n\x0etimestamp_type\x18\n \x01(\x0b\x32\".google.bigtable.v2.Type.TimestampH\x00\x12\x32\n\tdate_type\x18\x0b \x01(\x0b\x32\x1d.google.bigtable.v2.Type.DateH\x00\x12<\n\x0e\x61ggregate_type\x18\x06 \x01(\x0b\x32\".google.bigtable.v2.Type.AggregateH\x00\x12\x36\n\x0bstruct_type\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StructH\x00\x12\x34\n\narray_type\x18\x03 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ArrayH\x00\x12\x30\n\x08map_type\x18\x04 \x01(\x0b\x32\x1c.google.bigtable.v2.Type.MapH\x00\x12\x34\n\nproto_type\x18\r \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ProtoH\x00\x12\x32\n\tenum_type\x18\x0e \x01(\x0b\x32\x1d.google.bigtable.v2.Type.EnumH\x00\x1a\xb3\x01\n\x05\x42ytes\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Bytes.Encoding\x1ao\n\x08\x45ncoding\x12:\n\x03raw\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Bytes.Encoding.RawH\x00\x1a\x1b\n\x03Raw\x12\x14\n\x0c\x65scape_nulls\x18\x01 \x01(\x08\x42\n\n\x08\x65ncoding\x1a\xa7\x02\n\x06String\x12:\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32(.google.bigtable.v2.Type.String.Encoding\x1a\xe0\x01\n\x08\x45ncoding\x12H\n\x08utf8_raw\x18\x01 \x01(\x0b\x32\x30.google.bigtable.v2.Type.String.Encoding.Utf8RawB\x02\x18\x01H\x00\x12H\n\nutf8_bytes\x18\x02 \x01(\x0b\x32\x32.google.bigtable.v2.Type.String.Encoding.Utf8BytesH\x00\x1a\r\n\x07Utf8Raw:\x02\x18\x01\x1a%\n\tUtf8Bytes\x12\x18\n\x10null_escape_char\x18\x01 \x01(\tB\n\n\x08\x65ncoding\x1a\xe5\x02\n\x05Int64\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.Encoding\x1a\xa0\x02\n\x08\x45ncoding\x12R\n\x10\x62ig_endian_bytes\x18\x01 \x01(\x0b\x32\x36.google.bigtable.v2.Type.Int64.Encoding.BigEndianBytesH\x00\x12V\n\x12ordered_code_bytes\x18\x02 \x01(\x0b\x32\x38.google.bigtable.v2.Type.Int64.Encoding.OrderedCodeBytesH\x00\x1aH\n\x0e\x42igEndianBytes\x12\x36\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesB\x02\x18\x01\x1a\x12\n\x10OrderedCodeBytesB\n\n\x08\x65ncoding\x1a\x06\n\x04\x42ool\x1a\t\n\x07\x46loat32\x1a\t\n\x07\x46loat64\x1a\xa8\x01\n\tTimestamp\x12=\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Timestamp.Encoding\x1a\\\n\x08\x45ncoding\x12\x44\n\x11unix_micros_int64\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.EncodingH\x00\x42\n\n\x08\x65ncoding\x1a\x06\n\x04\x44\x61te\x1a\x95\x04\n\x06Struct\x12\x35\n\x06\x66ields\x18\x01 \x03(\x0b\x32%.google.bigtable.v2.Type.Struct.Field\x12:\n\x08\x65ncoding\x18\x02 \x01(\x0b\x32(.google.bigtable.v2.Type.Struct.Encoding\x1a\x43\n\x05\x46ield\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12&\n\x04type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xd2\x02\n\x08\x45ncoding\x12G\n\tsingleton\x18\x01 \x01(\x0b\x32\x32.google.bigtable.v2.Type.Struct.Encoding.SingletonH\x00\x12R\n\x0f\x64\x65limited_bytes\x18\x02 \x01(\x0b\x32\x37.google.bigtable.v2.Type.Struct.Encoding.DelimitedBytesH\x00\x12W\n\x12ordered_code_bytes\x18\x03 \x01(\x0b\x32\x39.google.bigtable.v2.Type.Struct.Encoding.OrderedCodeBytesH\x00\x1a\x0b\n\tSingleton\x1a#\n\x0e\x44\x65limitedBytes\x12\x11\n\tdelimiter\x18\x01 \x01(\x0c\x1a\x12\n\x10OrderedCodeBytesB\n\n\x08\x65ncoding\x1a\x37\n\x05Proto\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x14\n\x0cmessage_name\x18\x02 \x01(\t\x1a\x33\n\x04\x45num\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x11\n\tenum_name\x18\x02 \x01(\t\x1a\x37\n\x05\x41rray\x12.\n\x0c\x65lement_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a_\n\x03Map\x12*\n\x08key_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12,\n\nvalue_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xb7\x03\n\tAggregate\x12,\n\ninput_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12\x31\n\nstate_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.TypeB\x03\xe0\x41\x03\x12\x35\n\x03sum\x18\x04 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.SumH\x00\x12_\n\x12hllpp_unique_count\x18\x05 \x01(\x0b\x32\x41.google.bigtable.v2.Type.Aggregate.HyperLogLogPlusPlusUniqueCountH\x00\x12\x35\n\x03max\x18\x06 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MaxH\x00\x12\x35\n\x03min\x18\x07 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MinH\x00\x1a\x05\n\x03Sum\x1a\x05\n\x03Max\x1a\x05\n\x03Min\x1a \n\x1eHyperLogLogPlusPlusUniqueCountB\x0c\n\naggregatorB\x06\n\x04kindB\xb4\x01\n\x16\x63om.google.bigtable.v2B\nTypesProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xaa\x02\x18Google.Cloud.Bigtable.V2\xca\x02\x18Google\\Cloud\\Bigtable\\V2\xea\x02\x1bGoogle::Cloud::Bigtable::V2b\x06proto3"
11
11
 
12
12
  pool = Google::Protobuf::DescriptorPool.generated_pool
13
13
 
@@ -48,13 +48,19 @@ module Google
48
48
  Type::Int64 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64").msgclass
49
49
  Type::Int64::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding").msgclass
50
50
  Type::Int64::Encoding::BigEndianBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding.BigEndianBytes").msgclass
51
+ Type::Int64::Encoding::OrderedCodeBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding.OrderedCodeBytes").msgclass
51
52
  Type::Bool = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Bool").msgclass
52
53
  Type::Float32 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Float32").msgclass
53
54
  Type::Float64 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Float64").msgclass
54
55
  Type::Timestamp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Timestamp").msgclass
56
+ Type::Timestamp::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Timestamp.Encoding").msgclass
55
57
  Type::Date = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Date").msgclass
56
58
  Type::Struct = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct").msgclass
57
59
  Type::Struct::Field = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Field").msgclass
60
+ Type::Struct::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding").msgclass
61
+ Type::Struct::Encoding::Singleton = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.Singleton").msgclass
62
+ Type::Struct::Encoding::DelimitedBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.DelimitedBytes").msgclass
63
+ Type::Struct::Encoding::OrderedCodeBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.OrderedCodeBytes").msgclass
58
64
  Type::Proto = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Proto").msgclass
59
65
  Type::Enum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Enum").msgclass
60
66
  Type::Array = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Array").msgclass
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Bigtable
23
23
  module V2
24
- VERSION = "1.9.0"
24
+ VERSION = "1.10.0"
25
25
  end
26
26
  end
27
27
  end
@@ -26,25 +26,23 @@ module Google
26
26
  # familiarity and consistency across products and features.
27
27
  #
28
28
  # For compatibility with Bigtable's existing untyped APIs, each `Type` includes
29
- # an `Encoding` which describes how to convert to/from the underlying data.
29
+ # an `Encoding` which describes how to convert to or from the underlying data.
30
30
  #
31
- # Each encoding also defines the following properties:
31
+ # Each encoding can operate in one of two modes:
32
32
  #
33
- # * Order-preserving: Does the encoded value sort consistently with the
34
- # original typed value? Note that Bigtable will always sort data based on
35
- # the raw encoded value, *not* the decoded type.
36
- # - Example: BYTES values sort in the same order as their raw encodings.
37
- # - Counterexample: Encoding INT64 as a fixed-width decimal string does
38
- # *not* preserve sort order when dealing with negative numbers.
39
- # `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001)`.
40
- # * Self-delimiting: If we concatenate two encoded values, can we always tell
41
- # where the first one ends and the second one begins?
42
- # - Example: If we encode INT64s to fixed-width STRINGs, the first value
43
- # will always contain exactly N digits, possibly preceded by a sign.
44
- # - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have
45
- # no way to tell where the first one ends.
46
- # * Compatibility: Which other systems have matching encoding schemes? For
47
- # example, does this encoding have a GoogleSQL equivalent? HBase? Java?
33
+ # - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)`
34
+ # if and only if `X <= Y`. This is useful anywhere sort order is important,
35
+ # for example when encoding keys.
36
+ # - Distinct: In this mode, Bigtable guarantees that if `X != Y` then
37
+ # `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For
38
+ # example, both `{'foo': '1', 'bar': '2'}` and `{'bar': '2', 'foo': '1'}`
39
+ # are valid encodings of the same JSON value.
40
+ #
41
+ # The API clearly documents which mode is used wherever an encoding can be
42
+ # configured. Each encoding also documents which values are supported in which
43
+ # modes. For example, when encoding INT64 as a numeric STRING, negative numbers
44
+ # cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but
45
+ # `STRING("-00001") > STRING("00001")`.
48
46
  # @!attribute [rw] bytes_type
49
47
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
50
48
  # Bytes
@@ -123,12 +121,12 @@ module Google
123
121
  # Values of type `Bytes` are stored in `Value.bytes_value`.
124
122
  # @!attribute [rw] encoding
125
123
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
126
- # The encoding to use when converting to/from lower level types.
124
+ # The encoding to use when converting to or from lower level types.
127
125
  class Bytes
128
126
  include ::Google::Protobuf::MessageExts
129
127
  extend ::Google::Protobuf::MessageExts::ClassMethods
130
128
 
131
- # Rules used to convert to/from lower level types.
129
+ # Rules used to convert to or from lower level types.
132
130
  # @!attribute [rw] raw
133
131
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
134
132
  # Use `Raw` encoding.
@@ -136,10 +134,17 @@ module Google
136
134
  include ::Google::Protobuf::MessageExts
137
135
  extend ::Google::Protobuf::MessageExts::ClassMethods
138
136
 
139
- # Leaves the value "as-is"
140
- # * Order-preserving? Yes
141
- # * Self-delimiting? No
142
- # * Compatibility? N/A
137
+ # Leaves the value as-is.
138
+ #
139
+ # Sorted mode: all values are supported.
140
+ #
141
+ # Distinct mode: all values are supported.
142
+ # @!attribute [rw] escape_nulls
143
+ # @return [::Boolean]
144
+ # If set, allows NULL values to be encoded as the empty string "".
145
+ #
146
+ # The actual empty string, or any value which only contains the
147
+ # null byte `0x00`, has one more null byte appended.
143
148
  class Raw
144
149
  include ::Google::Protobuf::MessageExts
145
150
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -151,12 +156,12 @@ module Google
151
156
  # Values of type `String` are stored in `Value.string_value`.
152
157
  # @!attribute [rw] encoding
153
158
  # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
154
- # The encoding to use when converting to/from lower level types.
159
+ # The encoding to use when converting to or from lower level types.
155
160
  class String
156
161
  include ::Google::Protobuf::MessageExts
157
162
  extend ::Google::Protobuf::MessageExts::ClassMethods
158
163
 
159
- # Rules used to convert to/from lower level types.
164
+ # Rules used to convert to or from lower level types.
160
165
  # @!attribute [rw] utf8_raw
161
166
  # @deprecated This field is deprecated and may be removed in the next major version update.
162
167
  # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
@@ -179,13 +184,32 @@ module Google
179
184
  extend ::Google::Protobuf::MessageExts::ClassMethods
180
185
  end
181
186
 
182
- # UTF-8 encoding
183
- # * Order-preserving? Yes (code point order)
184
- # * Self-delimiting? No
185
- # * Compatibility?
186
- # - BigQuery Federation `TEXT` encoding
187
- # - HBase `Bytes.toBytes`
188
- # - Java `String#getBytes(StandardCharsets.UTF_8)`
187
+ # UTF-8 encoding.
188
+ #
189
+ # Sorted mode:
190
+ # - All values are supported.
191
+ # - Code point order is preserved.
192
+ #
193
+ # Distinct mode: all values are supported.
194
+ #
195
+ # Compatible with:
196
+ #
197
+ # - BigQuery `TEXT` encoding
198
+ # - HBase `Bytes.toBytes`
199
+ # - Java `String#getBytes(StandardCharsets.UTF_8)`
200
+ # @!attribute [rw] null_escape_char
201
+ # @return [::String]
202
+ # Single-character escape sequence used to support NULL values.
203
+ #
204
+ # If set, allows NULL values to be encoded as the empty string "".
205
+ #
206
+ # The actual empty string, or any value where every character equals
207
+ # `null_escape_char`, has one more `null_escape_char` appended.
208
+ #
209
+ # If `null_escape_char` is set and does not equal the ASCII null
210
+ # character `0x00`, then the encoding will not support sorted mode.
211
+ #
212
+ # .
189
213
  class Utf8Bytes
190
214
  include ::Google::Protobuf::MessageExts
191
215
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -197,34 +221,56 @@ module Google
197
221
  # Values of type `Int64` are stored in `Value.int_value`.
198
222
  # @!attribute [rw] encoding
199
223
  # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
200
- # The encoding to use when converting to/from lower level types.
224
+ # The encoding to use when converting to or from lower level types.
201
225
  class Int64
202
226
  include ::Google::Protobuf::MessageExts
203
227
  extend ::Google::Protobuf::MessageExts::ClassMethods
204
228
 
205
- # Rules used to convert to/from lower level types.
229
+ # Rules used to convert to or from lower level types.
206
230
  # @!attribute [rw] big_endian_bytes
207
231
  # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
208
232
  # Use `BigEndianBytes` encoding.
233
+ #
234
+ # Note: The following fields are mutually exclusive: `big_endian_bytes`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
235
+ # @!attribute [rw] ordered_code_bytes
236
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::OrderedCodeBytes]
237
+ # Use `OrderedCodeBytes` encoding.
238
+ #
239
+ # Note: The following fields are mutually exclusive: `ordered_code_bytes`, `big_endian_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
209
240
  class Encoding
210
241
  include ::Google::Protobuf::MessageExts
211
242
  extend ::Google::Protobuf::MessageExts::ClassMethods
212
243
 
213
- # Encodes the value as an 8-byte big endian twos complement `Bytes`
214
- # value.
215
- # * Order-preserving? No (positive values only)
216
- # * Self-delimiting? Yes
217
- # * Compatibility?
218
- # - BigQuery Federation `BINARY` encoding
219
- # - HBase `Bytes.toBytes`
220
- # - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
244
+ # Encodes the value as an 8-byte big-endian two's complement value.
245
+ #
246
+ # Sorted mode: non-negative values are supported.
247
+ #
248
+ # Distinct mode: all values are supported.
249
+ #
250
+ # Compatible with:
251
+ #
252
+ # - BigQuery `BINARY` encoding
253
+ # - HBase `Bytes.toBytes`
254
+ # - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
221
255
  # @!attribute [rw] bytes_type
256
+ # @deprecated This field is deprecated and may be removed in the next major version update.
222
257
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
223
258
  # Deprecated: ignored if set.
224
259
  class BigEndianBytes
225
260
  include ::Google::Protobuf::MessageExts
226
261
  extend ::Google::Protobuf::MessageExts::ClassMethods
227
262
  end
263
+
264
+ # Encodes the value in a variable length binary format of up to 10 bytes.
265
+ # Values that are closer to zero use fewer bytes.
266
+ #
267
+ # Sorted mode: all values are supported.
268
+ #
269
+ # Distinct mode: all values are supported.
270
+ class OrderedCodeBytes
271
+ include ::Google::Protobuf::MessageExts
272
+ extend ::Google::Protobuf::MessageExts::ClassMethods
273
+ end
228
274
  end
229
275
  end
230
276
 
@@ -251,9 +297,26 @@ module Google
251
297
 
252
298
  # Timestamp
253
299
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
300
+ # @!attribute [rw] encoding
301
+ # @return [::Google::Cloud::Bigtable::V2::Type::Timestamp::Encoding]
302
+ # The encoding to use when converting to or from lower level types.
254
303
  class Timestamp
255
304
  include ::Google::Protobuf::MessageExts
256
305
  extend ::Google::Protobuf::MessageExts::ClassMethods
306
+
307
+ # Rules used to convert to or from lower level types.
308
+ # @!attribute [rw] unix_micros_int64
309
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
310
+ # Encodes the number of microseconds since the Unix epoch using the
311
+ # given `Int64` encoding. Values must be microsecond-aligned.
312
+ #
313
+ # Compatible with:
314
+ #
315
+ # - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`
316
+ class Encoding
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+ end
257
320
  end
258
321
 
259
322
  # Date
@@ -270,6 +333,9 @@ module Google
270
333
  # @!attribute [rw] fields
271
334
  # @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
272
335
  # The names and types of the fields in this struct.
336
+ # @!attribute [rw] encoding
337
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding]
338
+ # The encoding to use when converting to or from lower level types.
273
339
  class Struct
274
340
  include ::Google::Protobuf::MessageExts
275
341
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -286,6 +352,107 @@ module Google
286
352
  include ::Google::Protobuf::MessageExts
287
353
  extend ::Google::Protobuf::MessageExts::ClassMethods
288
354
  end
355
+
356
+ # Rules used to convert to or from lower level types.
357
+ # @!attribute [rw] singleton
358
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::Singleton]
359
+ # Use `Singleton` encoding.
360
+ #
361
+ # Note: The following fields are mutually exclusive: `singleton`, `delimited_bytes`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
362
+ # @!attribute [rw] delimited_bytes
363
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::DelimitedBytes]
364
+ # Use `DelimitedBytes` encoding.
365
+ #
366
+ # Note: The following fields are mutually exclusive: `delimited_bytes`, `singleton`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
367
+ # @!attribute [rw] ordered_code_bytes
368
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::OrderedCodeBytes]
369
+ # User `OrderedCodeBytes` encoding.
370
+ #
371
+ # Note: The following fields are mutually exclusive: `ordered_code_bytes`, `singleton`, `delimited_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
372
+ class Encoding
373
+ include ::Google::Protobuf::MessageExts
374
+ extend ::Google::Protobuf::MessageExts::ClassMethods
375
+
376
+ # Uses the encoding of `fields[0].type` as-is.
377
+ # Only valid if `fields.size == 1`.
378
+ class Singleton
379
+ include ::Google::Protobuf::MessageExts
380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
381
+ end
382
+
383
+ # Fields are encoded independently and concatenated with a configurable
384
+ # `delimiter` in between.
385
+ #
386
+ # A struct with no fields defined is encoded as a single `delimiter`.
387
+ #
388
+ # Sorted mode:
389
+ #
390
+ # - Fields are encoded in sorted mode.
391
+ # - Encoded field values must not contain any bytes <= `delimiter[0]`
392
+ # - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if
393
+ # `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first.
394
+ #
395
+ # Distinct mode:
396
+ #
397
+ # - Fields are encoded in distinct mode.
398
+ # - Encoded field values must not contain `delimiter[0]`.
399
+ # @!attribute [rw] delimiter
400
+ # @return [::String]
401
+ # Byte sequence used to delimit concatenated fields. The delimiter must
402
+ # contain at least 1 character and at most 50 characters.
403
+ class DelimitedBytes
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+ end
407
+
408
+ # Fields are encoded independently and concatenated with the fixed byte
409
+ # pair `{0x00, 0x01}` in between.
410
+ #
411
+ # Any null `(0x00)` byte in an encoded field is replaced by the fixed
412
+ # byte pair `{0x00, 0xFF}`.
413
+ #
414
+ # Fields that encode to the empty string "" have special handling:
415
+ #
416
+ # - If *every* field encodes to "", or if the STRUCT has no fields
417
+ # defined, then the STRUCT is encoded as the fixed byte pair
418
+ # `{0x00, 0x00}`.
419
+ # - Otherwise, the STRUCT only encodes until the last non-empty field,
420
+ # omitting any trailing empty fields. Any empty fields that aren't
421
+ # omitted are replaced with the fixed byte pair `{0x00, 0x00}`.
422
+ #
423
+ # Examples:
424
+ #
425
+ # ```
426
+ # - STRUCT() -> "\00\00"
427
+ # - STRUCT("") -> "\00\00"
428
+ # - STRUCT("", "") -> "\00\00"
429
+ # - STRUCT("", "B") -> "\00\00" + "\00\01" + "B"
430
+ # - STRUCT("A", "") -> "A"
431
+ # - STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B"
432
+ # - STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C"
433
+ # ```
434
+ #
435
+ #
436
+ # Since null bytes are always escaped, this encoding can cause size
437
+ # blowup for encodings like `Int64.BigEndianBytes` that are likely to
438
+ # produce many such bytes.
439
+ #
440
+ # Sorted mode:
441
+ #
442
+ # - Fields are encoded in sorted mode.
443
+ # - All values supported by the field encodings are allowed
444
+ # - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if
445
+ # `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first.
446
+ #
447
+ # Distinct mode:
448
+ #
449
+ # - Fields are encoded in distinct mode.
450
+ # - All values supported by the field encodings are allowed.
451
+ class OrderedCodeBytes
452
+ include ::Google::Protobuf::MessageExts
453
+ extend ::Google::Protobuf::MessageExts::ClassMethods
454
+ end
455
+ end
289
456
  end
290
457
 
291
458
  # A protobuf message type.
@@ -347,19 +514,18 @@ module Google
347
514
 
348
515
  # A value that combines incremental updates into a summarized value.
349
516
  #
350
- # Data is never directly written or read using type `Aggregate`. Writes will
351
- # provide either the `input_type` or `state_type`, and reads will always
352
- # return the `state_type` .
517
+ # Data is never directly written or read using type `Aggregate`. Writes
518
+ # provide either the `input_type` or `state_type`, and reads always return
519
+ # the `state_type` .
353
520
  # @!attribute [rw] input_type
354
521
  # @return [::Google::Cloud::Bigtable::V2::Type]
355
- # Type of the inputs that are accumulated by this `Aggregate`, which must
356
- # specify a full encoding.
522
+ # Type of the inputs that are accumulated by this `Aggregate`.
357
523
  # Use `AddInput` mutations to accumulate new inputs.
358
524
  # @!attribute [r] state_type
359
525
  # @return [::Google::Cloud::Bigtable::V2::Type]
360
526
  # Output only. Type that holds the internal accumulator state for the
361
527
  # `Aggregate`. This is a function of the `input_type` and `aggregator`
362
- # chosen, and will always specify a full encoding.
528
+ # chosen.
363
529
  # @!attribute [rw] sum
364
530
  # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
365
531
  # Sum aggregator.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigtable-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
18
+ version: '1.2'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: '1.2'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement