google-cloud-bigtable-v2 1.0.0 → 1.2.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.
@@ -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