google-cloud-spanner 2.20.0 → 2.22.0

Sign up to get free protection for your applications and to get access to all the features.
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