google-cloud-bigtable-v2 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -746,6 +746,82 @@ module Google
746
746
  extend ::Google::Protobuf::MessageExts::ClassMethods
747
747
  end
748
748
  end
749
+
750
+ # Request message for Bigtable.ExecuteQuery
751
+ # @!attribute [rw] instance_name
752
+ # @return [::String]
753
+ # Required. The unique name of the instance against which the query should be
754
+ # executed.
755
+ # Values are of the form `projects/<project>/instances/<instance>`
756
+ # @!attribute [rw] app_profile_id
757
+ # @return [::String]
758
+ # Optional. This value specifies routing for replication. If not specified,
759
+ # the `default` application profile will be used.
760
+ # @!attribute [rw] query
761
+ # @return [::String]
762
+ # Required. The query string.
763
+ # @!attribute [rw] proto_format
764
+ # @return [::Google::Cloud::Bigtable::V2::ProtoFormat]
765
+ # Protocol buffer format as described by ProtoSchema and ProtoRows
766
+ # messages.
767
+ # @!attribute [rw] resume_token
768
+ # @return [::String]
769
+ # Optional. If this request is resuming a previously interrupted query
770
+ # execution, `resume_token` should be copied from the last
771
+ # PartialResultSet yielded before the interruption. Doing this
772
+ # enables the query execution to resume where the last one left
773
+ # off.
774
+ # The rest of the request parameters must exactly match the
775
+ # request that yielded this token. Otherwise the request will fail.
776
+ # @!attribute [rw] params
777
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::V2::Value}]
778
+ # Required. params contains string type keys and Bigtable type values that
779
+ # bind to placeholders in the query string. In query string, a parameter
780
+ # placeholder consists of the
781
+ # `@` character followed by the parameter name (for example, `@firstName`) in
782
+ # the query string.
783
+ #
784
+ # For example, if
785
+ # `params["firstName"] = bytes_value: "foo" type {bytes_type {}}`
786
+ # then `@firstName` will be replaced with googlesql bytes value "foo" in the
787
+ # query string during query evaluation.
788
+ #
789
+ # In case of Value.kind is not set, it will be set to corresponding null
790
+ # value in googlesql.
791
+ # `params["firstName"] = type {string_type {}}`
792
+ # then `@firstName` will be replaced with googlesql null string.
793
+ #
794
+ # Value.type should always be set and no inference of type will be made from
795
+ # Value.kind. If Value.type is not set, we will return INVALID_ARGUMENT
796
+ # error.
797
+ class ExecuteQueryRequest
798
+ include ::Google::Protobuf::MessageExts
799
+ extend ::Google::Protobuf::MessageExts::ClassMethods
800
+
801
+ # @!attribute [rw] key
802
+ # @return [::String]
803
+ # @!attribute [rw] value
804
+ # @return [::Google::Cloud::Bigtable::V2::Value]
805
+ class ParamsEntry
806
+ include ::Google::Protobuf::MessageExts
807
+ extend ::Google::Protobuf::MessageExts::ClassMethods
808
+ end
809
+ end
810
+
811
+ # Response message for Bigtable.ExecuteQuery
812
+ # @!attribute [rw] metadata
813
+ # @return [::Google::Cloud::Bigtable::V2::ResultSetMetadata]
814
+ # Structure of rows in this response stream. The first (and only the first)
815
+ # response streamed from the server will be of this type.
816
+ # @!attribute [rw] results
817
+ # @return [::Google::Cloud::Bigtable::V2::PartialResultSet]
818
+ # A partial result set with row data potentially including additional
819
+ # instructions on how recent past and future partial responses should be
820
+ # interpreted.
821
+ class ExecuteQueryResponse
822
+ include ::Google::Protobuf::MessageExts
823
+ extend ::Google::Protobuf::MessageExts::ClassMethods
824
+ end
749
825
  end
750
826
  end
751
827
  end
@@ -98,6 +98,21 @@ module Google
98
98
  # The typed fields in `Value` are used as a transport encoding for the actual
99
99
  # value (which may be of a more complex type). See the documentation of the
100
100
  # `Type` message for more details.
101
+ # @!attribute [rw] type
102
+ # @return [::Google::Cloud::Bigtable::V2::Type]
103
+ # The verified `Type` of this `Value`, if it cannot be inferred.
104
+ #
105
+ # Read results will never specify the encoding for `type` since the value
106
+ # will already have been decoded by the server. Furthermore, the `type` will
107
+ # be omitted entirely if it can be inferred from a previous response. The
108
+ # exact semantics for inferring `type` will vary, and are therefore
109
+ # documented separately for each read method.
110
+ #
111
+ # When using composite types (Struct, Array, Map) only the outermost `Value`
112
+ # will specify the `type`. This top-level `type` will define the types for
113
+ # any nested `Struct' fields, `Array` elements, or `Map` key/value pairs.
114
+ # If a nested `Value` provides a `type` on write, the request will be
115
+ # rejected with INVALID_ARGUMENT.
101
116
  # @!attribute [rw] raw_value
102
117
  # @return [::String]
103
118
  # Represents a raw byte sequence with no type information.
@@ -106,15 +121,48 @@ module Google
106
121
  # @return [::Integer]
107
122
  # Represents a raw cell timestamp with no type information.
108
123
  # The `type` field must be omitted.
124
+ # @!attribute [rw] bytes_value
125
+ # @return [::String]
126
+ # Represents a typed value transported as a byte sequence.
127
+ # @!attribute [rw] string_value
128
+ # @return [::String]
129
+ # Represents a typed value transported as a string.
109
130
  # @!attribute [rw] int_value
110
131
  # @return [::Integer]
111
132
  # Represents a typed value transported as an integer.
112
- # Default type for writes: `Int64`
133
+ # @!attribute [rw] bool_value
134
+ # @return [::Boolean]
135
+ # Represents a typed value transported as a boolean.
136
+ # @!attribute [rw] float_value
137
+ # @return [::Float]
138
+ # Represents a typed value transported as a floating point number.
139
+ # @!attribute [rw] timestamp_value
140
+ # @return [::Google::Protobuf::Timestamp]
141
+ # Represents a typed value transported as a timestamp.
142
+ # @!attribute [rw] date_value
143
+ # @return [::Google::Type::Date]
144
+ # Represents a typed value transported as a date.
145
+ # @!attribute [rw] array_value
146
+ # @return [::Google::Cloud::Bigtable::V2::ArrayValue]
147
+ # Represents a typed value transported as a sequence of values.
148
+ # To differentiate between `Struct`, `Array`, and `Map`, the outermost
149
+ # `Value` must provide an explicit `type` on write. This `type` will
150
+ # apply recursively to the nested `Struct` fields, `Array` elements,
151
+ # or `Map` key/value pairs, which *must not* supply their own `type`.
113
152
  class Value
114
153
  include ::Google::Protobuf::MessageExts
115
154
  extend ::Google::Protobuf::MessageExts::ClassMethods
116
155
  end
117
156
 
157
+ # `ArrayValue` is an ordered list of `Value`.
158
+ # @!attribute [rw] values
159
+ # @return [::Array<::Google::Cloud::Bigtable::V2::Value>]
160
+ # The ordered elements in the array.
161
+ class ArrayValue
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
118
166
  # Specifies a contiguous range of rows.
119
167
  # @!attribute [rw] start_key_closed
120
168
  # @return [::String]
@@ -476,6 +524,9 @@ module Google
476
524
  # @!attribute [rw] add_to_cell
477
525
  # @return [::Google::Cloud::Bigtable::V2::Mutation::AddToCell]
478
526
  # Incrementally updates an `Aggregate` cell.
527
+ # @!attribute [rw] merge_to_cell
528
+ # @return [::Google::Cloud::Bigtable::V2::Mutation::MergeToCell]
529
+ # Merges accumulated state to an `Aggregate` cell.
479
530
  # @!attribute [rw] delete_from_column
480
531
  # @return [::Google::Cloud::Bigtable::V2::Mutation::DeleteFromColumn]
481
532
  # Deletes cells from a column.
@@ -536,6 +587,31 @@ module Google
536
587
  extend ::Google::Protobuf::MessageExts::ClassMethods
537
588
  end
538
589
 
590
+ # A Mutation which merges accumulated state into a cell in an `Aggregate`
591
+ # family.
592
+ # @!attribute [rw] family_name
593
+ # @return [::String]
594
+ # The name of the `Aggregate` family into which new data should be added.
595
+ # This must be a family with a `value_type` of `Aggregate`.
596
+ # Format: `[-_.a-zA-Z0-9]+`
597
+ # @!attribute [rw] column_qualifier
598
+ # @return [::Google::Cloud::Bigtable::V2::Value]
599
+ # The qualifier of the column into which new data should be added. This
600
+ # must be a `raw_value`.
601
+ # @!attribute [rw] timestamp
602
+ # @return [::Google::Cloud::Bigtable::V2::Value]
603
+ # The timestamp of the cell to which new data should be added. This must
604
+ # be a `raw_timestamp_micros` that matches the table's `granularity`.
605
+ # @!attribute [rw] input
606
+ # @return [::Google::Cloud::Bigtable::V2::Value]
607
+ # The input value to be merged into the specified cell. This must be
608
+ # compatible with the family's `value_type.state_type`. Merging `NULL` is
609
+ # allowed, but has no effect.
610
+ class MergeToCell
611
+ include ::Google::Protobuf::MessageExts
612
+ extend ::Google::Protobuf::MessageExts::ClassMethods
613
+ end
614
+
539
615
  # A Mutation which deletes cells from the specified column, optionally
540
616
  # restricting the deletions to a given timestamp range.
541
617
  # @!attribute [rw] family_name
@@ -633,6 +709,109 @@ module Google
633
709
  include ::Google::Protobuf::MessageExts
634
710
  extend ::Google::Protobuf::MessageExts::ClassMethods
635
711
  end
712
+
713
+ # Protocol buffers format descriptor, as described by Messages ProtoSchema and
714
+ # ProtoRows
715
+ class ProtoFormat
716
+ include ::Google::Protobuf::MessageExts
717
+ extend ::Google::Protobuf::MessageExts::ClassMethods
718
+ end
719
+
720
+ # Describes a column in a Bigtable Query Language result set.
721
+ # @!attribute [rw] name
722
+ # @return [::String]
723
+ # The name of the column.
724
+ # @!attribute [rw] type
725
+ # @return [::Google::Cloud::Bigtable::V2::Type]
726
+ # The type of the column.
727
+ class ColumnMetadata
728
+ include ::Google::Protobuf::MessageExts
729
+ extend ::Google::Protobuf::MessageExts::ClassMethods
730
+ end
731
+
732
+ # ResultSet schema in proto format
733
+ # @!attribute [rw] columns
734
+ # @return [::Array<::Google::Cloud::Bigtable::V2::ColumnMetadata>]
735
+ # The columns in the result set.
736
+ class ProtoSchema
737
+ include ::Google::Protobuf::MessageExts
738
+ extend ::Google::Protobuf::MessageExts::ClassMethods
739
+ end
740
+
741
+ # Describes the structure of a Bigtable result set.
742
+ # @!attribute [rw] proto_schema
743
+ # @return [::Google::Cloud::Bigtable::V2::ProtoSchema]
744
+ # Schema in proto format
745
+ class ResultSetMetadata
746
+ include ::Google::Protobuf::MessageExts
747
+ extend ::Google::Protobuf::MessageExts::ClassMethods
748
+ end
749
+
750
+ # Rows represented in proto format.
751
+ #
752
+ # This should be constructed by concatenating the `batch_data` from each
753
+ # of the relevant `ProtoRowsBatch` messages and parsing the result as a
754
+ # `ProtoRows` message.
755
+ # @!attribute [rw] values
756
+ # @return [::Array<::Google::Cloud::Bigtable::V2::Value>]
757
+ # A proto rows message consists of a list of values. Every N complete values
758
+ # defines a row, where N is equal to the number of entries in the
759
+ # `metadata.proto_schema.columns` value received in the first response.
760
+ class ProtoRows
761
+ include ::Google::Protobuf::MessageExts
762
+ extend ::Google::Protobuf::MessageExts::ClassMethods
763
+ end
764
+
765
+ # Batch of serialized ProtoRows.
766
+ # @!attribute [rw] batch_data
767
+ # @return [::String]
768
+ # Merge partial results by concatenating these bytes, then parsing the
769
+ # overall value as a `ProtoRows` message.
770
+ class ProtoRowsBatch
771
+ include ::Google::Protobuf::MessageExts
772
+ extend ::Google::Protobuf::MessageExts::ClassMethods
773
+ end
774
+
775
+ # A partial result set from the streaming query API.
776
+ # CBT client will buffer partial_rows from result_sets until it gets a
777
+ # resumption_token.
778
+ # @!attribute [rw] proto_rows_batch
779
+ # @return [::Google::Cloud::Bigtable::V2::ProtoRowsBatch]
780
+ # Partial rows in serialized ProtoRows format.
781
+ # @!attribute [rw] resume_token
782
+ # @return [::String]
783
+ # An opaque token sent by the server to allow query resumption and signal
784
+ # the client to accumulate `partial_rows` since the last non-empty
785
+ # `resume_token`. On resumption, the resumed query will return the remaining
786
+ # rows for this query.
787
+ #
788
+ # If there is a batch in progress, a non-empty `resume_token`
789
+ # means that that the batch of `partial_rows` will be complete after merging
790
+ # the `partial_rows` from this response. The client must only yield
791
+ # completed batches to the application, and must ensure that any future
792
+ # retries send the latest token to avoid returning duplicate data.
793
+ #
794
+ # The server may set 'resume_token' without a 'partial_rows'. If there is a
795
+ # batch in progress the client should yield it.
796
+ #
797
+ # The server will also send a sentinel `resume_token` when last batch of
798
+ # `partial_rows` is sent. If the client retries the ExecuteQueryRequest with
799
+ # the sentinel `resume_token`, the server will emit it again without any
800
+ # `partial_rows`, then return OK.
801
+ # @!attribute [rw] estimated_batch_size
802
+ # @return [::Integer]
803
+ # Estimated size of a new batch. The server will always set this when
804
+ # returning the first `partial_rows` of a batch, and will not set it at any
805
+ # other time.
806
+ #
807
+ # The client can use this estimate to allocate an initial buffer for the
808
+ # batched results. This helps minimize the number of allocations required,
809
+ # though the buffer size may still need to be increased if the estimate is
810
+ # too low.
811
+ class PartialResultSet
812
+ include ::Google::Protobuf::MessageExts
813
+ extend ::Google::Protobuf::MessageExts::ClassMethods
814
+ end
636
815
  end
637
816
  end
638
817
  end
@@ -0,0 +1,353 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigtable
23
+ module V2
24
+ # `Type` represents the type of data that is written to, read from, or stored
25
+ # in Bigtable. It is heavily based on the GoogleSQL standard to help maintain
26
+ # familiarity and consistency across products and features.
27
+ #
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.
30
+ #
31
+ # Each encoding also defines the following properties:
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?
48
+ # @!attribute [rw] bytes_type
49
+ # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
50
+ # Bytes
51
+ # @!attribute [rw] string_type
52
+ # @return [::Google::Cloud::Bigtable::V2::Type::String]
53
+ # String
54
+ # @!attribute [rw] int64_type
55
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64]
56
+ # Int64
57
+ # @!attribute [rw] float32_type
58
+ # @return [::Google::Cloud::Bigtable::V2::Type::Float32]
59
+ # Float32
60
+ # @!attribute [rw] float64_type
61
+ # @return [::Google::Cloud::Bigtable::V2::Type::Float64]
62
+ # Float64
63
+ # @!attribute [rw] bool_type
64
+ # @return [::Google::Cloud::Bigtable::V2::Type::Bool]
65
+ # Bool
66
+ # @!attribute [rw] timestamp_type
67
+ # @return [::Google::Cloud::Bigtable::V2::Type::Timestamp]
68
+ # Timestamp
69
+ # @!attribute [rw] date_type
70
+ # @return [::Google::Cloud::Bigtable::V2::Type::Date]
71
+ # Date
72
+ # @!attribute [rw] aggregate_type
73
+ # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate]
74
+ # Aggregate
75
+ # @!attribute [rw] struct_type
76
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct]
77
+ # Struct
78
+ # @!attribute [rw] array_type
79
+ # @return [::Google::Cloud::Bigtable::V2::Type::Array]
80
+ # Array
81
+ # @!attribute [rw] map_type
82
+ # @return [::Google::Cloud::Bigtable::V2::Type::Map]
83
+ # Map
84
+ class Type
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+
88
+ # Bytes
89
+ # Values of type `Bytes` are stored in `Value.bytes_value`.
90
+ # @!attribute [rw] encoding
91
+ # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
92
+ # The encoding to use when converting to/from lower level types.
93
+ class Bytes
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+
97
+ # Rules used to convert to/from lower level types.
98
+ # @!attribute [rw] raw
99
+ # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
100
+ # Use `Raw` encoding.
101
+ class Encoding
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+
105
+ # Leaves the value "as-is"
106
+ # * Order-preserving? Yes
107
+ # * Self-delimiting? No
108
+ # * Compatibility? N/A
109
+ class Raw
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+ end
113
+ end
114
+ end
115
+
116
+ # String
117
+ # Values of type `String` are stored in `Value.string_value`.
118
+ # @!attribute [rw] encoding
119
+ # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
120
+ # The encoding to use when converting to/from lower level types.
121
+ class String
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+
125
+ # Rules used to convert to/from lower level types.
126
+ # @!attribute [rw] utf8_raw
127
+ # @deprecated This field is deprecated and may be removed in the next major version update.
128
+ # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
129
+ # Deprecated: if set, converts to an empty `utf8_bytes`.
130
+ # @!attribute [rw] utf8_bytes
131
+ # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
132
+ # Use `Utf8Bytes` encoding.
133
+ class Encoding
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+
137
+ # Deprecated: prefer the equivalent `Utf8Bytes`.
138
+ # @deprecated This message is deprecated and may be removed in the next major version update.
139
+ class Utf8Raw
140
+ include ::Google::Protobuf::MessageExts
141
+ extend ::Google::Protobuf::MessageExts::ClassMethods
142
+ end
143
+
144
+ # UTF-8 encoding
145
+ # * Order-preserving? Yes (code point order)
146
+ # * Self-delimiting? No
147
+ # * Compatibility?
148
+ # - BigQuery Federation `TEXT` encoding
149
+ # - HBase `Bytes.toBytes`
150
+ # - Java `String#getBytes(StandardCharsets.UTF_8)`
151
+ class Utf8Bytes
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+ end
156
+ end
157
+
158
+ # Int64
159
+ # Values of type `Int64` are stored in `Value.int_value`.
160
+ # @!attribute [rw] encoding
161
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
162
+ # The encoding to use when converting to/from lower level types.
163
+ class Int64
164
+ include ::Google::Protobuf::MessageExts
165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
166
+
167
+ # Rules used to convert to/from lower level types.
168
+ # @!attribute [rw] big_endian_bytes
169
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
170
+ # Use `BigEndianBytes` encoding.
171
+ class Encoding
172
+ include ::Google::Protobuf::MessageExts
173
+ extend ::Google::Protobuf::MessageExts::ClassMethods
174
+
175
+ # Encodes the value as an 8-byte big endian twos complement `Bytes`
176
+ # value.
177
+ # * Order-preserving? No (positive values only)
178
+ # * Self-delimiting? Yes
179
+ # * Compatibility?
180
+ # - BigQuery Federation `BINARY` encoding
181
+ # - HBase `Bytes.toBytes`
182
+ # - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
183
+ # @!attribute [rw] bytes_type
184
+ # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
185
+ # Deprecated: ignored if set.
186
+ class BigEndianBytes
187
+ include ::Google::Protobuf::MessageExts
188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
189
+ end
190
+ end
191
+ end
192
+
193
+ # bool
194
+ # Values of type `Bool` are stored in `Value.bool_value`.
195
+ class Bool
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Float32
201
+ # Values of type `Float32` are stored in `Value.float_value`.
202
+ class Float32
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+ end
206
+
207
+ # Float64
208
+ # Values of type `Float64` are stored in `Value.float_value`.
209
+ class Float64
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+ end
213
+
214
+ # Timestamp
215
+ # Values of type `Timestamp` are stored in `Value.timestamp_value`.
216
+ class Timestamp
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+ end
220
+
221
+ # Date
222
+ # Values of type `Date` are stored in `Value.date_value`.
223
+ class Date
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # A structured data value, consisting of fields which map to dynamically
229
+ # typed values.
230
+ # Values of type `Struct` are stored in `Value.array_value` where entries are
231
+ # in the same order and number as `field_types`.
232
+ # @!attribute [rw] fields
233
+ # @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
234
+ # The names and types of the fields in this struct.
235
+ class Struct
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+
239
+ # A struct field and its type.
240
+ # @!attribute [rw] field_name
241
+ # @return [::String]
242
+ # The field name (optional). Fields without a `field_name` are considered
243
+ # anonymous and cannot be referenced by name.
244
+ # @!attribute [rw] type
245
+ # @return [::Google::Cloud::Bigtable::V2::Type]
246
+ # The type of values in this field.
247
+ class Field
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+ end
252
+
253
+ # An ordered list of elements of a given type.
254
+ # Values of type `Array` are stored in `Value.array_value`.
255
+ # @!attribute [rw] element_type
256
+ # @return [::Google::Cloud::Bigtable::V2::Type]
257
+ # The type of the elements in the array. This must not be `Array`.
258
+ class Array
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+ end
262
+
263
+ # A mapping of keys to values of a given type.
264
+ # Values of type `Map` are stored in a `Value.array_value` where each entry
265
+ # is another `Value.array_value` with two elements (the key and the value,
266
+ # in that order).
267
+ # Normally encoded Map values won't have repeated keys, however, clients are
268
+ # expected to handle the case in which they do. If the same key appears
269
+ # multiple times, the _last_ value takes precedence.
270
+ # @!attribute [rw] key_type
271
+ # @return [::Google::Cloud::Bigtable::V2::Type]
272
+ # The type of a map key.
273
+ # Only `Bytes`, `String`, and `Int64` are allowed as key types.
274
+ # @!attribute [rw] value_type
275
+ # @return [::Google::Cloud::Bigtable::V2::Type]
276
+ # The type of the values in a map.
277
+ class Map
278
+ include ::Google::Protobuf::MessageExts
279
+ extend ::Google::Protobuf::MessageExts::ClassMethods
280
+ end
281
+
282
+ # A value that combines incremental updates into a summarized value.
283
+ #
284
+ # Data is never directly written or read using type `Aggregate`. Writes will
285
+ # provide either the `input_type` or `state_type`, and reads will always
286
+ # return the `state_type` .
287
+ # @!attribute [rw] input_type
288
+ # @return [::Google::Cloud::Bigtable::V2::Type]
289
+ # Type of the inputs that are accumulated by this `Aggregate`, which must
290
+ # specify a full encoding.
291
+ # Use `AddInput` mutations to accumulate new inputs.
292
+ # @!attribute [r] state_type
293
+ # @return [::Google::Cloud::Bigtable::V2::Type]
294
+ # Output only. Type that holds the internal accumulator state for the
295
+ # `Aggregate`. This is a function of the `input_type` and `aggregator`
296
+ # chosen, and will always specify a full encoding.
297
+ # @!attribute [rw] sum
298
+ # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
299
+ # Sum aggregator.
300
+ # @!attribute [rw] hllpp_unique_count
301
+ # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
302
+ # HyperLogLogPlusPlusUniqueCount aggregator.
303
+ # @!attribute [rw] max
304
+ # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
305
+ # Max aggregator.
306
+ # @!attribute [rw] min
307
+ # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
308
+ # Min aggregator.
309
+ class Aggregate
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+
313
+ # Computes the sum of the input values.
314
+ # Allowed input: `Int64`
315
+ # State: same as input
316
+ class Sum
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+ end
320
+
321
+ # Computes the max of the input values.
322
+ # Allowed input: `Int64`
323
+ # State: same as input
324
+ class Max
325
+ include ::Google::Protobuf::MessageExts
326
+ extend ::Google::Protobuf::MessageExts::ClassMethods
327
+ end
328
+
329
+ # Computes the min of the input values.
330
+ # Allowed input: `Int64`
331
+ # State: same as input
332
+ class Min
333
+ include ::Google::Protobuf::MessageExts
334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
335
+ end
336
+
337
+ # Computes an approximate unique count over the input values. When using
338
+ # raw data as input, be careful to use a consistent encoding. Otherwise
339
+ # the same value encoded differently could count more than once, or two
340
+ # distinct values could count as identical.
341
+ # Input: Any, or omit for Raw
342
+ # State: TBD
343
+ # Special state conversions: `Int64` (the unique count estimate)
344
+ class HyperLogLogPlusPlusUniqueCount
345
+ include ::Google::Protobuf::MessageExts
346
+ extend ::Google::Protobuf::MessageExts::ClassMethods
347
+ end
348
+ end
349
+ end
350
+ end
351
+ end
352
+ end
353
+ end