google-cloud-spanner 2.20.0 → 2.22.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: bb4b25a92a8c1064831ca356c5504c6114fde3efbda272ff4553dda86bf1a902
4
- data.tar.gz: 66c330a8e53e6e9ffac6735008586c5ad0027629e71f66f8401e2c58ea4394a9
3
+ metadata.gz: 513a3295d6e11b7e4550647a7aad81ac3d52d4ea3e758d79eb39c7d62a2c7202
4
+ data.tar.gz: a86f44421150171474e3335af0fa82712e26387c5ecb12051ea6d3b661a2c310
5
5
  SHA512:
6
- metadata.gz: 6f296b9eb6930cad1c242402bc2dc8cb0ac47eaef1761acb598f35aaa63779d33192c0d92d5df852fe711ff7ad54c7b0f7695d2a0055b55a7dd05b80aa3d855d
7
- data.tar.gz: e3de3a8796cbcade1973cd2b4d3d5a632c6677173f24cd1ba0b9dfa7d8355e93122d9d0c0c3926d442271d057517adf9125cfb61e2f896faa54ec324d590aed4
6
+ metadata.gz: b57e293bd3a352475fa1a57177dd54c153240850df552b230088c13fa5222916391dd17b36cb06817f214bd067b457ae0a66a638e30d7a364d1467e76cd70a1e
7
+ data.tar.gz: a91b6efe6724f1f3a2e8b77fb2c85918bfe3b732bf17dc52b8728db9c10e1f18bde501dd09a08af24fd29f8297c4206cdbac3cdbb18427b21d97f2af584ecd81
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Release History
2
2
 
3
+ ### 2.22.0 (2024-04-01)
4
+
5
+ #### Features
6
+
7
+ * Support FLOAT32 datatype ([#94](https://github.com/googleapis/ruby-spanner/issues/94))
8
+ * Update minimum Ruby version to 2.7 ([#89](https://github.com/googleapis/ruby-spanner/issues/89))
9
+ #### Bug Fixes
10
+
11
+ * Use https in Gemfile to avoid security vulnerability ([#95](https://github.com/googleapis/ruby-spanner/issues/95))
12
+
13
+ ### 2.21.0 (2024-02-07)
14
+
15
+ #### Features
16
+
17
+ * support max_commit_delay for commit_options ([#85](https://github.com/googleapis/ruby-spanner/issues/85))
18
+
3
19
  ### 2.20.0 (2024-01-31)
4
20
 
5
21
  #### Features
@@ -196,8 +196,8 @@ module Google
196
196
  snp_session = session
197
197
  snp_grpc = @project.service.create_snapshot \
198
198
  snp_session.path, strong: strong,
199
- timestamp: (timestamp || read_timestamp),
200
- staleness: (staleness || exact_staleness)
199
+ timestamp: timestamp || read_timestamp,
200
+ staleness: staleness || exact_staleness
201
201
  BatchSnapshot.from_grpc snp_grpc, snp_session, directed_read_options: @directed_read_options
202
202
  end
203
203
 
@@ -306,6 +306,7 @@ module Google
306
306
  # * `:BYTES`
307
307
  # * `:DATE`
308
308
  # * `:FLOAT64`
309
+ # * `:FLOAT32`
309
310
  # * `:INT64`
310
311
  # * `:STRING`
311
312
  # * `:TIMESTAMP`
@@ -128,6 +128,7 @@ module Google
128
128
  # | `BOOL` | `true`/`false` | |
129
129
  # | `INT64` | `Integer` | |
130
130
  # | `FLOAT64` | `Float` | |
131
+ # | `FLOAT32` | `Float` | |
131
132
  # | `STRING` | `String` | |
132
133
  # | `DATE` | `Date` | |
133
134
  # | `TIMESTAMP` | `Time`, `DateTime` | |
@@ -153,6 +154,7 @@ module Google
153
154
  # * `:BYTES`
154
155
  # * `:DATE`
155
156
  # * `:FLOAT64`
157
+ # * `:FLOAT32`
156
158
  # * `:INT64`
157
159
  # * `:STRING`
158
160
  # * `:TIMESTAMP`
@@ -255,7 +257,7 @@ module Google
255
257
  partition_token: grpc.partition_token,
256
258
  query_options: query_options,
257
259
  data_boost_enabled: data_boost_enabled,
258
- directed_read_options: (directed_read_options || @directed_read_options)
260
+ directed_read_options: directed_read_options || @directed_read_options
259
261
  }.compact
260
262
  )
261
263
  Partition.from_execute_sql_grpc execute_sql_grpc
@@ -365,7 +367,7 @@ module Google
365
367
  transaction: tx_selector,
366
368
  partition_token: grpc.partition_token,
367
369
  data_boost_enabled: data_boost_enabled,
368
- directed_read_options: (directed_read_options || @directed_read_options)
370
+ directed_read_options: directed_read_options || @directed_read_options
369
371
  }.compact
370
372
  )
371
373
  Partition.from_read_grpc read_grpc
@@ -477,6 +479,7 @@ module Google
477
479
  # | `BOOL` | `true`/`false` | |
478
480
  # | `INT64` | `Integer` | |
479
481
  # | `FLOAT64` | `Float` | |
482
+ # | `FLOAT32` | `Float` | |
480
483
  # | `STRING` | `String` | |
481
484
  # | `DATE` | `Date` | |
482
485
  # | `TIMESTAMP` | `Time`, `DateTime` | |
@@ -502,6 +505,7 @@ module Google
502
505
  # * `:BYTES`
503
506
  # * `:DATE`
504
507
  # * `:FLOAT64`
508
+ # * `:FLOAT32`
505
509
  # * `:INT64`
506
510
  # * `:STRING`
507
511
  # * `:TIMESTAMP`
@@ -704,7 +708,7 @@ module Google
704
708
  transaction: tx_selector,
705
709
  query_options: query_options,
706
710
  call_options: call_options,
707
- directed_read_options: (directed_read_options || @directed_read_options)
711
+ directed_read_options: directed_read_options || @directed_read_options
708
712
  end
709
713
  alias execute execute_query
710
714
  alias query execute_query
@@ -780,7 +784,7 @@ module Google
780
784
  session.read table, columns, keys: keys, index: index, limit: limit,
781
785
  transaction: tx_selector,
782
786
  call_options: call_options,
783
- directed_read_options: (directed_read_options || @directed_read_options)
787
+ directed_read_options: directed_read_options || @directed_read_options
784
788
  end
785
789
 
786
790
  ##
@@ -59,6 +59,7 @@ module Google
59
59
  # | `BOOL` | `true`/`false` | |
60
60
  # | `INT64` | `Integer` | |
61
61
  # | `FLOAT64` | `Float` | |
62
+ # | `FLOAT32` | `Float` | |
62
63
  # | `STRING` | `String` | |
63
64
  # | `DATE` | `Date` | |
64
65
  # | `TIMESTAMP` | `Time`, `DateTime` | |
@@ -85,6 +86,7 @@ module Google
85
86
  # * `:BYTES`
86
87
  # * `:DATE`
87
88
  # * `:FLOAT64`
89
+ # * `:FLOAT32`
88
90
  # * `:INT64`
89
91
  # * `:STRING`
90
92
  # * `:TIMESTAMP`
@@ -148,6 +148,7 @@ module Google
148
148
  # | `BOOL` | `true`/`false` | |
149
149
  # | `INT64` | `Integer` | |
150
150
  # | `FLOAT64` | `Float` | |
151
+ # | `FLOAT32` | `Float` | |
151
152
  # | `NUMERIC` | `BigDecimal` | |
152
153
  # | `STRING` | `String` | |
153
154
  # | `DATE` | `Date` | |
@@ -174,6 +175,7 @@ module Google
174
175
  # * `:BYTES`
175
176
  # * `:DATE`
176
177
  # * `:FLOAT64`
178
+ # * `:FLOAT32`
177
179
  # * `:NUMERIC`
178
180
  # * `:INT64`
179
181
  # * `:STRING`
@@ -473,7 +475,7 @@ module Google
473
475
  results = session.execute_query \
474
476
  sql, params: params, types: types, transaction: single_use_tx,
475
477
  query_options: query_options, request_options: request_options,
476
- call_options: call_options, directed_read_options: (directed_read_options || @directed_read_options),
478
+ call_options: call_options, directed_read_options: directed_read_options || @directed_read_options,
477
479
  route_to_leader: route_to_leader
478
480
  end
479
481
  results
@@ -584,6 +586,7 @@ module Google
584
586
  # | `BOOL` | `true`/`false` | |
585
587
  # | `INT64` | `Integer` | |
586
588
  # | `FLOAT64` | `Float` | |
589
+ # | `FLOAT32` | `Float` | |
587
590
  # | `NUMERIC` | `BigDecimal` | |
588
591
  # | `STRING` | `String` | |
589
592
  # | `DATE` | `Date` | |
@@ -611,6 +614,7 @@ module Google
611
614
  # * `:BYTES`
612
615
  # * `:DATE`
613
616
  # * `:FLOAT64`
617
+ # * `:FLOAT32`
614
618
  # * `:NUMERIC`
615
619
  # * `:INT64`
616
620
  # * `:STRING`
@@ -970,7 +974,7 @@ module Google
970
974
  transaction: single_use_tx,
971
975
  request_options: request_options,
972
976
  call_options: call_options,
973
- directed_read_options: (directed_read_options || @directed_read_options),
977
+ directed_read_options: directed_read_options || @directed_read_options,
974
978
  route_to_leader: route_to_leader
975
979
  end
976
980
  results
@@ -1005,6 +1009,7 @@ module Google
1005
1009
  # | `BOOL` | `true`/`false` | |
1006
1010
  # | `INT64` | `Integer` | |
1007
1011
  # | `FLOAT64` | `Float` | |
1012
+ # | `FLOAT32` | `Float` | |
1008
1013
  # | `NUMERIC` | `BigDecimal` | |
1009
1014
  # | `STRING` | `String` | |
1010
1015
  # | `DATE` | `Date` | |
@@ -1022,6 +1027,10 @@ module Google
1022
1027
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1023
1028
  # then statistics related to the transaction will be included in
1024
1029
  # {CommitResponse}. Default value is `false`
1030
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1031
+ # is willing to incur in order to improve throughput.
1032
+ # The commit delay must be at least 0ms and at most 500ms.
1033
+ # Default value is nil.
1025
1034
  # @param [Hash] request_options Common request options.
1026
1035
  #
1027
1036
  # * `:priority` (String) The relative priority for requests.
@@ -1125,6 +1134,7 @@ module Google
1125
1134
  # | `BOOL` | `true`/`false` | |
1126
1135
  # | `INT64` | `Integer` | |
1127
1136
  # | `FLOAT64` | `Float` | |
1137
+ # | `FLOAT32` | `Float` | |
1128
1138
  # | `NUMERIC` | `BigDecimal` | |
1129
1139
  # | `STRING` | `String` | |
1130
1140
  # | `DATE` | `Date` | |
@@ -1141,6 +1151,10 @@ module Google
1141
1151
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1142
1152
  # then statistics related to the transaction will be included in
1143
1153
  # {CommitResponse}. Default value is `false`
1154
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1155
+ # is willing to incur in order to improve throughput.
1156
+ # The commit delay must be at least 0ms and at most 500ms.
1157
+ # Default value is nil.
1144
1158
  # @param [Hash] request_options Common request options.
1145
1159
  #
1146
1160
  # * `:priority` (String) The relative priority for requests.
@@ -1243,6 +1257,7 @@ module Google
1243
1257
  # | `BOOL` | `true`/`false` | |
1244
1258
  # | `INT64` | `Integer` | |
1245
1259
  # | `FLOAT64` | `Float` | |
1260
+ # | `FLOAT32` | `Float` | |
1246
1261
  # | `NUMERIC` | `BigDecimal` | |
1247
1262
  # | `STRING` | `String` | |
1248
1263
  # | `DATE` | `Date` | |
@@ -1259,6 +1274,10 @@ module Google
1259
1274
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1260
1275
  # then statistics related to the transaction will be included in
1261
1276
  # {CommitResponse}. Default value is `false`
1277
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1278
+ # is willing to incur in order to improve throughput.
1279
+ # The commit delay must be at least 0ms and at most 500ms.
1280
+ # Default value is nil.
1262
1281
  # @param [Hash] request_options Common request options.
1263
1282
  #
1264
1283
  # * `:priority` (String) The relative priority for requests.
@@ -1362,6 +1381,7 @@ module Google
1362
1381
  # | `BOOL` | `true`/`false` | |
1363
1382
  # | `INT64` | `Integer` | |
1364
1383
  # | `FLOAT64` | `Float` | |
1384
+ # | `FLOAT32` | `Float` | |
1365
1385
  # | `NUMERIC` | `BigDecimal` | |
1366
1386
  # | `STRING` | `String` | |
1367
1387
  # | `DATE` | `Date` | |
@@ -1378,6 +1398,10 @@ module Google
1378
1398
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1379
1399
  # then statistics related to the transaction will be included in
1380
1400
  # {CommitResponse}. Default value is `false`
1401
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1402
+ # is willing to incur in order to improve throughput.
1403
+ # The commit delay must be at least 0ms and at most 500ms.
1404
+ # Default value is nil.
1381
1405
  # @param [Hash] request_options Common request options.
1382
1406
  #
1383
1407
  # * `:priority` (String) The relative priority for requests.
@@ -1475,6 +1499,10 @@ module Google
1475
1499
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1476
1500
  # then statistics related to the transaction will be included in
1477
1501
  # {CommitResponse}. Default value is `false`
1502
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1503
+ # is willing to incur in order to improve throughput.
1504
+ # The commit delay must be at least 0ms and at most 500ms.
1505
+ # Default value is nil.
1478
1506
  # @param [Hash] request_options Common request options.
1479
1507
  #
1480
1508
  # * `:priority` (String) The relative priority for requests.
@@ -1579,6 +1607,10 @@ module Google
1579
1607
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1580
1608
  # then statistics related to the transaction will be included in
1581
1609
  # {CommitResponse}. Default value is `false`
1610
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1611
+ # is willing to incur in order to improve throughput.
1612
+ # The commit delay must be at least 0ms and at most 500ms.
1613
+ # Default value is nil.
1582
1614
  # @param [Hash] request_options Common request options.
1583
1615
  #
1584
1616
  # * `:priority` (String) The relative priority for requests.
@@ -1706,6 +1738,10 @@ module Google
1706
1738
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1707
1739
  # then statistics related to the transaction will be included in
1708
1740
  # {CommitResponse}. Default value is `false`
1741
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1742
+ # is willing to incur in order to improve throughput.
1743
+ # The commit delay must be at least 0ms and at most 500ms.
1744
+ # Default value is nil.
1709
1745
  # @param [Hash] request_options Common request options.
1710
1746
  #
1711
1747
  # * `:priority` (String) The relative priority for requests.
@@ -1975,8 +2011,8 @@ module Google
1975
2011
  @pool.with_session do |session|
1976
2012
  snp_grpc = @project.service.create_snapshot \
1977
2013
  session.path, strong: strong,
1978
- timestamp: (timestamp || read_timestamp),
1979
- staleness: (staleness || exact_staleness),
2014
+ timestamp: timestamp || read_timestamp,
2015
+ staleness: staleness || exact_staleness,
1980
2016
  call_options: call_options
1981
2017
  Thread.current[IS_TRANSACTION_RUNNING_KEY] = true
1982
2018
  snp = Snapshot.from_grpc snp_grpc, session, @directed_read_options
@@ -2010,6 +2046,7 @@ module Google
2010
2046
  # * `:BYTES`
2011
2047
  # * `:DATE`
2012
2048
  # * `:FLOAT64`
2049
+ # * `:FLOAT32`
2013
2050
  # * `:NUMERIC`
2014
2051
  # * `:INT64`
2015
2052
  # * `:STRING`
@@ -69,6 +69,7 @@ module Google
69
69
  # | `BOOL` | `true`/`false` | |
70
70
  # | `INT64` | `Integer` | |
71
71
  # | `FLOAT64` | `Float` | |
72
+ # | `FLOAT32` | `Float` | |
72
73
  # | `NUMERIC` | `BigDecimal` | |
73
74
  # | `STRING` | `String` | |
74
75
  # | `DATE` | `Date` | |
@@ -128,6 +129,7 @@ module Google
128
129
  # | `BOOL` | `true`/`false` | |
129
130
  # | `INT64` | `Integer` | |
130
131
  # | `FLOAT64` | `Float` | |
132
+ # | `FLOAT32` | `Float` | |
131
133
  # | `NUMERIC` | `BigDecimal` | |
132
134
  # | `STRING` | `String` | |
133
135
  # | `DATE` | `Date` | |
@@ -186,6 +188,7 @@ module Google
186
188
  # | `BOOL` | `true`/`false` | |
187
189
  # | `INT64` | `Integer` | |
188
190
  # | `FLOAT64` | `Float` | |
191
+ # | `FLOAT32` | `Float` | |
189
192
  # | `NUMERIC` | `BigDecimal` | |
190
193
  # | `STRING` | `String` | |
191
194
  # | `DATE` | `Date` | |
@@ -246,6 +249,7 @@ module Google
246
249
  # | `BOOL` | `true`/`false` | |
247
250
  # | `INT64` | `Integer` | |
248
251
  # | `FLOAT64` | `Float` | |
252
+ # | `FLOAT32` | `Float` | |
249
253
  # | `NUMERIC` | `BigDecimal` | |
250
254
  # | `STRING` | `String` | |
251
255
  # | `DATE` | `Date` | |
@@ -183,7 +183,7 @@ module Google
183
183
  when :PG_NUMERIC
184
184
  V1::Type.new(code: :NUMERIC, type_annotation: :PG_NUMERIC)
185
185
  when :PG_JSONB
186
- V1::Type.new(code: :JSON, type_annotation: :PG_JSONB)
186
+ V1::Type.new(code: :JSON, type_annotation: :PG_JSONB)
187
187
  else
188
188
  V1::Type.new(code: field)
189
189
  end
@@ -197,7 +197,7 @@ module Google
197
197
  value.bool_value
198
198
  when :INT64
199
199
  Integer value.string_value
200
- when :FLOAT64
200
+ when :FLOAT32, :FLOAT64
201
201
  if value.kind == :string_value
202
202
  if value.string_value == "Infinity"
203
203
  Float::INFINITY
@@ -242,8 +242,9 @@ module Google
242
242
  Hash[row_to_pairs(row_types, row)]
243
243
  end
244
244
 
245
- def number_to_duration number
245
+ def number_to_duration number, millisecond: false
246
246
  return nil if number.nil?
247
+ number = number/1000.to_f if millisecond
247
248
 
248
249
  Google::Protobuf::Duration.new \
249
250
  seconds: number.to_i,
@@ -95,8 +95,7 @@ module Google
95
95
  def database
96
96
  return nil unless done?
97
97
  return nil unless @grpc.grpc_op.result == :response
98
- return nil unless @grpc.results.instance_of? \
99
- Admin::Database::V1::Database
98
+ return nil unless @grpc.results.instance_of? Admin::Database::V1::Database
100
99
  Database.from_grpc @grpc.results, service
101
100
  end
102
101
 
@@ -63,6 +63,7 @@ module Google
63
63
  # * `:BYTES`
64
64
  # * `:DATE`
65
65
  # * `:FLOAT64`
66
+ # * `:FLOAT32`
66
67
  # * `:NUMERIC`
67
68
  # * `:INT64`
68
69
  # * `:STRING`
@@ -173,7 +174,7 @@ module Google
173
174
  # @return [Boolean] Returns `true` if there are duplicate names.
174
175
  #
175
176
  def duplicate_names?
176
- keys.group_by { |e| e }.select { |_k, v| v.size > 1 }.any?
177
+ keys.group_by { |e| e }.any? { |_k, v| v.size > 1 }
177
178
  end
178
179
 
179
180
  ##
@@ -283,7 +283,7 @@ module Google
283
283
  # Whether the row count is the lower bound row count for PDML
284
284
  # statements.
285
285
  def row_count_lower_bound?
286
- return nil if @stats.nil?
286
+ return nil if @stats.nil? # rubocop:disable Style/ReturnNilInPredicateMethodDefinition
287
287
  @stats.row_count == :row_count_lower_bound
288
288
  end
289
289
 
@@ -291,7 +291,7 @@ module Google
291
291
  # @private
292
292
  # Whether the row count is the exact row count for DML statements.
293
293
  def row_count_exact?
294
- return nil if @stats.nil?
294
+ return nil if @stats.nil? # rubocop:disable Style/ReturnNilInPredicateMethodDefinition
295
295
  @stats.row_count == :row_count_exact
296
296
  end
297
297
 
@@ -453,13 +453,26 @@ module Google
453
453
  request_options: request_options
454
454
  }
455
455
 
456
- if commit_options
457
- request[:return_commit_stats] = commit_options[:return_commit_stats]
458
- end
456
+ request = add_commit_options request, commit_options
459
457
 
460
458
  service.commit request, opts
461
459
  end
462
460
 
461
+ def add_commit_options request, commit_options
462
+ if commit_options
463
+ if commit_options.key? :return_commit_stats
464
+ request[:return_commit_stats] =
465
+ commit_options[:return_commit_stats]
466
+ end
467
+ if commit_options.key? :max_commit_delay
468
+ request[:max_commit_delay] =
469
+ Convert.number_to_duration(commit_options[:max_commit_delay],
470
+ millisecond: true)
471
+ end
472
+ end
473
+ request
474
+ end
475
+
463
476
  def rollback session_name, transaction_id, call_options: nil
464
477
  route_to_leader = LARHeaders.rollback
465
478
  opts = default_options session_name: session_name,
@@ -116,6 +116,7 @@ module Google
116
116
  # | `BOOL` | `true`/`false` | |
117
117
  # | `INT64` | `Integer` | |
118
118
  # | `FLOAT64` | `Float` | |
119
+ # | `FLOAT32` | `Float` | |
119
120
  # | `NUMERIC` | `BigDecimal` | |
120
121
  # | `STRING` | `String` | |
121
122
  # | `DATE` | `Date` | |
@@ -142,6 +143,7 @@ module Google
142
143
  # * `:BYTES`
143
144
  # * `:DATE`
144
145
  # * `:FLOAT64`
146
+ # * `:FLOAT32`
145
147
  # * `:NUMERIC`
146
148
  # * `:INT64`
147
149
  # * `:STRING`
@@ -569,8 +571,11 @@ module Google
569
571
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
570
572
  # then statistics related to the transaction will be included in
571
573
  # {CommitResponse}. Default value is `false`
574
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
575
+ # is willing to incur in order to improve throughput.
576
+ # The commit delay must be at least 0ms and at most 500ms.
577
+ # Default value is nil.
572
578
  #
573
- # transaction. Default it is `false`.
574
579
  # @param [Hash] request_options Common request options.
575
580
  #
576
581
  # * `:request_tag` (String) A per-request tag which can be applied
@@ -669,6 +674,7 @@ module Google
669
674
  # | `BOOL` | `true`/`false` | |
670
675
  # | `INT64` | `Integer` | |
671
676
  # | `FLOAT64` | `Float` | |
677
+ # | `FLOAT32` | `Float` | |
672
678
  # | `NUMERIC` | `BigDecimal` | |
673
679
  # | `STRING` | `String` | |
674
680
  # | `DATE` | `Date` | |
@@ -686,7 +692,10 @@ module Google
686
692
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
687
693
  # then statistics related to the transaction will be included in
688
694
  # {CommitResponse}. Default value is `false`
689
- #
695
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
696
+ # is willing to incur in order to improve throughput.
697
+ # The commit delay must be at least 0ms and at most 500ms.
698
+ # Default value is nil.
690
699
  # @param [Hash] request_options Common request options.
691
700
  #
692
701
  # * `:request_tag` (String) A per-request tag which can be applied
@@ -777,6 +786,7 @@ module Google
777
786
  # | `BOOL` | `true`/`false` | |
778
787
  # | `INT64` | `Integer` | |
779
788
  # | `FLOAT64` | `Float` | |
789
+ # | `FLOAT32` | `Float` | |
780
790
  # | `NUMERIC` | `BigDecimal` | |
781
791
  # | `STRING` | `String` | |
782
792
  # | `DATE` | `Date` | |
@@ -794,7 +804,10 @@ module Google
794
804
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
795
805
  # then statistics related to the transaction will be included in
796
806
  # {CommitResponse}. Default value is `false`
797
- #
807
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
808
+ # is willing to incur in order to improve throughput.
809
+ # The commit delay must be at least 0ms and at most 500ms.
810
+ # Default value is nil.
798
811
  # @param [Hash] request_options Common request options.
799
812
  #
800
813
  # * `:request_tag` (String) A per-request tag which can be applied
@@ -884,6 +897,7 @@ module Google
884
897
  # | `BOOL` | `true`/`false` | |
885
898
  # | `INT64` | `Integer` | |
886
899
  # | `FLOAT64` | `Float` | |
900
+ # | `FLOAT32` | `Float` | |
887
901
  # | `NUMERIC` | `BigDecimal` | |
888
902
  # | `STRING` | `String` | |
889
903
  # | `DATE` | `Date` | |
@@ -901,7 +915,10 @@ module Google
901
915
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
902
916
  # then statistics related to the transaction will be included in
903
917
  # {CommitResponse}. Default value is `false`
904
- #
918
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
919
+ # is willing to incur in order to improve throughput.
920
+ # The commit delay must be at least 0ms and at most 500ms.
921
+ # Default value is nil.
905
922
  # @param [Hash] request_options Common request options.
906
923
  #
907
924
  # * `:request_tag` (String) A per-request tag which can be applied
@@ -993,6 +1010,7 @@ module Google
993
1010
  # | `BOOL` | `true`/`false` | |
994
1011
  # | `INT64` | `Integer` | |
995
1012
  # | `FLOAT64` | `Float` | |
1013
+ # | `FLOAT32` | `Float` | |
996
1014
  # | `NUMERIC` | `BigDecimal` | |
997
1015
  # | `STRING` | `String` | |
998
1016
  # | `DATE` | `Date` | |
@@ -1009,7 +1027,11 @@ module Google
1009
1027
  #
1010
1028
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1011
1029
  # then statistics related to the transaction will be included in
1012
- # {CommitResponse}. Default value is `false`.
1030
+ # {CommitResponse}. Default value is `false`
1031
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1032
+ # is willing to incur in order to improve throughput.
1033
+ # The commit delay must be at least 0ms and at most 500ms.
1034
+ # Default value is nil.
1013
1035
  #
1014
1036
  # @param [Hash] request_options Common request options.
1015
1037
  #
@@ -1099,7 +1121,10 @@ module Google
1099
1121
  # * `:return_commit_stats` (Boolean) A boolean value. If `true`,
1100
1122
  # then statistics related to the transaction will be included in
1101
1123
  # {CommitResponse}. Default value is `false`
1102
- #
1124
+ # * `:maxCommitDelay` (Numeric) The amount of latency in millisecond in this request
1125
+ # is willing to incur in order to improve throughput.
1126
+ # The commit delay must be at least 0ms and at most 500ms.
1127
+ # Default value is nil.
1103
1128
  # @param [Hash] request_options Common request options.
1104
1129
  #
1105
1130
  # * `:request_tag` (String) A per-request tag which can be applied
@@ -83,6 +83,7 @@ module Google
83
83
  # | `BOOL` | `true`/`false` | |
84
84
  # | `INT64` | `Integer` | |
85
85
  # | `FLOAT64` | `Float` | |
86
+ # | `FLOAT32` | `Float` | |
86
87
  # | `NUMERIC` | `BigDecimal` | |
87
88
  # | `STRING` | `String` | |
88
89
  # | `DATE` | `Date` | |
@@ -109,6 +110,7 @@ module Google
109
110
  # * `:BYTES`
110
111
  # * `:DATE`
111
112
  # * `:FLOAT64`
113
+ # * `:FLOAT32`
112
114
  # * `:NUMERIC`
113
115
  # * `:INT64`
114
116
  # * `:STRING`
@@ -310,7 +312,7 @@ module Google
310
312
  transaction: tx_selector,
311
313
  query_options: query_options,
312
314
  call_options: call_options,
313
- directed_read_options: (directed_read_options || @directed_read_options)
315
+ directed_read_options: directed_read_options || @directed_read_options
314
316
  end
315
317
  alias execute execute_query
316
318
  alias query execute_query
@@ -387,7 +389,7 @@ module Google
387
389
  session.read table, columns, keys: keys, index: index, limit: limit,
388
390
  transaction: tx_selector,
389
391
  call_options: call_options,
390
- directed_read_options: (directed_read_options || @directed_read_options)
392
+ directed_read_options: directed_read_options || @directed_read_options
391
393
  end
392
394
 
393
395
  ##
@@ -416,6 +418,7 @@ module Google
416
418
  # * `:BYTES`
417
419
  # * `:DATE`
418
420
  # * `:FLOAT64`
421
+ # * `:FLOAT32`
419
422
  # * `:NUMERIC`
420
423
  # * `:INT64`
421
424
  # * `:STRING`
@@ -139,6 +139,7 @@ module Google
139
139
  # | `BOOL` | `true`/`false` | |
140
140
  # | `INT64` | `Integer` | |
141
141
  # | `FLOAT64` | `Float` | |
142
+ # | `FLOAT32` | `Float` | |
142
143
  # | `NUMERIC` | `BigDecimal` | |
143
144
  # | `STRING` | `String` | |
144
145
  # | `DATE` | `Date` | |
@@ -165,6 +166,7 @@ module Google
165
166
  # * `:BYTES`
166
167
  # * `:DATE`
167
168
  # * `:FLOAT64`
169
+ # * `:FLOAT32`
168
170
  # * `:NUMERIC`
169
171
  # * `:INT64`
170
172
  # * `:STRING`
@@ -402,6 +404,7 @@ module Google
402
404
  # | `BOOL` | `true`/`false` | |
403
405
  # | `INT64` | `Integer` | |
404
406
  # | `FLOAT64` | `Float` | |
407
+ # | `FLOAT32` | `Float` | |
405
408
  # | `NUMERIC` | `BigDecimal` | |
406
409
  # | `STRING` | `String` | |
407
410
  # | `DATE` | `Date` | |
@@ -429,6 +432,7 @@ module Google
429
432
  # * `:BYTES`
430
433
  # * `:DATE`
431
434
  # * `:FLOAT64`
435
+ # * `:FLOAT32`
432
436
  # * `:NUMERIC`
433
437
  # * `:INT64`
434
438
  # * `:STRING`
@@ -752,6 +756,7 @@ module Google
752
756
  # | `BOOL` | `true`/`false` | |
753
757
  # | `INT64` | `Integer` | |
754
758
  # | `FLOAT64` | `Float` | |
759
+ # | `FLOAT32` | `Float` | |
755
760
  # | `NUMERIC` | `BigDecimal` | |
756
761
  # | `STRING` | `String` | |
757
762
  # | `DATE` | `Date` | |
@@ -799,6 +804,7 @@ module Google
799
804
  # | `BOOL` | `true`/`false` | |
800
805
  # | `INT64` | `Integer` | |
801
806
  # | `FLOAT64` | `Float` | |
807
+ # | `FLOAT32` | `Float` | |
802
808
  # | `NUMERIC` | `BigDecimal` | |
803
809
  # | `STRING` | `String` | |
804
810
  # | `DATE` | `Date` | |
@@ -845,6 +851,7 @@ module Google
845
851
  # | `BOOL` | `true`/`false` | |
846
852
  # | `INT64` | `Integer` | |
847
853
  # | `FLOAT64` | `Float` | |
854
+ # | `FLOAT32` | `Float` | |
848
855
  # | `NUMERIC` | `BigDecimal` | |
849
856
  # | `STRING` | `String` | |
850
857
  # | `DATE` | `Date` | |
@@ -893,6 +900,7 @@ module Google
893
900
  # | `BOOL` | `true`/`false` | |
894
901
  # | `INT64` | `Integer` | |
895
902
  # | `FLOAT64` | `Float` | |
903
+ # | `FLOAT32` | `Float` | |
896
904
  # | `NUMERIC` | `BigDecimal` | |
897
905
  # | `STRING` | `String` | |
898
906
  # | `DATE` | `Date` | |
@@ -995,6 +1003,7 @@ module Google
995
1003
  # * `:BYTES`
996
1004
  # * `:DATE`
997
1005
  # * `:FLOAT64`
1006
+ # * `:FLOAT32`
998
1007
  # * `:NUMERIC`
999
1008
  # * `:INT64`
1000
1009
  # * `:STRING`
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Spanner
19
- VERSION = "2.20.0".freeze
19
+ VERSION = "2.22.0".freeze
20
20
  end
21
21
  end
22
22
  end
@@ -74,8 +74,9 @@ module Google
74
74
  # spanner = gcloud.spanner scope: platform_scope
75
75
  #
76
76
  def spanner scope: nil, timeout: nil, lib_name: nil, lib_version: nil
77
+ timeout ||= @timeout
77
78
  Google::Cloud.spanner @project, @keyfile, scope: scope,
78
- timeout: (timeout || @timeout),
79
+ timeout: timeout,
79
80
  lib_name: lib_name,
80
81
  lib_version: lib_version
81
82
  end
@@ -130,8 +131,10 @@ module Google
130
131
  require "google/cloud/spanner"
131
132
  Google::Cloud::Spanner.new project_id: project_id,
132
133
  credentials: credentials,
133
- scope: scope, timeout: timeout,
134
- lib_name: lib_name, lib_version: lib_version
134
+ scope: scope,
135
+ timeout: timeout,
136
+ lib_name: lib_name,
137
+ lib_version: lib_version
135
138
  end
136
139
  end
137
140
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.20.0
4
+ version: 2.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-01-31 00:00:00.000000000 Z
12
+ date: 2024-04-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -81,188 +81,6 @@ dependencies:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.0'
84
- - !ruby/object:Gem::Dependency
85
- name: gapic-common
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 0.11.0
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: 0.11.0
98
- - !ruby/object:Gem::Dependency
99
- name: google-style
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - "~>"
103
- - !ruby/object:Gem::Version
104
- version: 1.26.1
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - "~>"
110
- - !ruby/object:Gem::Version
111
- version: 1.26.1
112
- - !ruby/object:Gem::Dependency
113
- name: minitest
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - "~>"
117
- - !ruby/object:Gem::Version
118
- version: '5.16'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '5.16'
126
- - !ruby/object:Gem::Dependency
127
- name: minitest-autotest
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: '1.0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: '1.0'
140
- - !ruby/object:Gem::Dependency
141
- name: minitest-focus
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - "~>"
145
- - !ruby/object:Gem::Version
146
- version: '1.1'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - "~>"
152
- - !ruby/object:Gem::Version
153
- version: '1.1'
154
- - !ruby/object:Gem::Dependency
155
- name: minitest-rg
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - "~>"
159
- - !ruby/object:Gem::Version
160
- version: '5.2'
161
- type: :development
162
- prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - "~>"
166
- - !ruby/object:Gem::Version
167
- version: '5.2'
168
- - !ruby/object:Gem::Dependency
169
- name: autotest-suffix
170
- requirement: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - "~>"
173
- - !ruby/object:Gem::Version
174
- version: '1.1'
175
- type: :development
176
- prerelease: false
177
- version_requirements: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: '1.1'
182
- - !ruby/object:Gem::Dependency
183
- name: redcarpet
184
- requirement: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - "~>"
187
- - !ruby/object:Gem::Version
188
- version: '3.0'
189
- type: :development
190
- prerelease: false
191
- version_requirements: !ruby/object:Gem::Requirement
192
- requirements:
193
- - - "~>"
194
- - !ruby/object:Gem::Version
195
- version: '3.0'
196
- - !ruby/object:Gem::Dependency
197
- name: simplecov
198
- requirement: !ruby/object:Gem::Requirement
199
- requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '0.9'
203
- type: :development
204
- prerelease: false
205
- version_requirements: !ruby/object:Gem::Requirement
206
- requirements:
207
- - - "~>"
208
- - !ruby/object:Gem::Version
209
- version: '0.9'
210
- - !ruby/object:Gem::Dependency
211
- name: yard
212
- requirement: !ruby/object:Gem::Requirement
213
- requirements:
214
- - - "~>"
215
- - !ruby/object:Gem::Version
216
- version: '0.9'
217
- type: :development
218
- prerelease: false
219
- version_requirements: !ruby/object:Gem::Requirement
220
- requirements:
221
- - - "~>"
222
- - !ruby/object:Gem::Version
223
- version: '0.9'
224
- - !ruby/object:Gem::Dependency
225
- name: yard-doctest
226
- requirement: !ruby/object:Gem::Requirement
227
- requirements:
228
- - - "~>"
229
- - !ruby/object:Gem::Version
230
- version: 0.1.13
231
- type: :development
232
- prerelease: false
233
- version_requirements: !ruby/object:Gem::Requirement
234
- requirements:
235
- - - "~>"
236
- - !ruby/object:Gem::Version
237
- version: 0.1.13
238
- - !ruby/object:Gem::Dependency
239
- name: grpc
240
- requirement: !ruby/object:Gem::Requirement
241
- requirements:
242
- - - "~>"
243
- - !ruby/object:Gem::Version
244
- version: '1.36'
245
- type: :development
246
- prerelease: false
247
- version_requirements: !ruby/object:Gem::Requirement
248
- requirements:
249
- - - "~>"
250
- - !ruby/object:Gem::Version
251
- version: '1.36'
252
- - !ruby/object:Gem::Dependency
253
- name: grpc-tools
254
- requirement: !ruby/object:Gem::Requirement
255
- requirements:
256
- - - "~>"
257
- - !ruby/object:Gem::Version
258
- version: '1.36'
259
- type: :development
260
- prerelease: false
261
- version_requirements: !ruby/object:Gem::Requirement
262
- requirements:
263
- - - "~>"
264
- - !ruby/object:Gem::Version
265
- version: '1.36'
266
84
  description: google-cloud-spanner is the official library for Google Cloud Spanner
267
85
  API.
268
86
  email:
@@ -342,14 +160,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
342
160
  requirements:
343
161
  - - ">="
344
162
  - !ruby/object:Gem::Version
345
- version: '2.6'
163
+ version: '2.7'
346
164
  required_rubygems_version: !ruby/object:Gem::Requirement
347
165
  requirements:
348
166
  - - ">="
349
167
  - !ruby/object:Gem::Version
350
168
  version: '0'
351
169
  requirements: []
352
- rubygems_version: 3.5.3
170
+ rubygems_version: 3.5.6
353
171
  signing_key:
354
172
  specification_version: 4
355
173
  summary: API Client library for Google Cloud Spanner API