activerecord-spanner-adapter 2.6.0 → 2.7.1
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 +4 -4
- data/.github/workflows/acceptance-tests-on-emulator.yaml +9 -13
- data/.github/workflows/acceptance-tests-on-production.yaml +4 -3
- data/.github/workflows/ci.yaml +8 -12
- data/.github/workflows/nightly-acceptance-tests-on-emulator.yaml +9 -13
- data/.github/workflows/nightly-acceptance-tests-on-production.yaml +4 -3
- data/.github/workflows/nightly-unit-tests.yaml +8 -12
- data/.github/workflows/rubocop.yaml +3 -3
- data/.github/workflows/samples.yaml +8 -12
- data/.gitignore +0 -1
- data/.release-please-manifest.json +1 -1
- data/.rubocop.yml +2 -0
- data/Appraisals +15 -0
- data/CHANGELOG.md +19 -0
- data/Gemfile +12 -22
- data/Gemfile.lock +483 -0
- data/README.md +1 -0
- data/acceptance/cases/migration/change_table_test.rb +4 -14
- data/acceptance/cases/models/generated_column_test.rb +8 -26
- data/acceptance/test_helper.rb +10 -22
- data/activerecord-spanner-adapter.gemspec +2 -1
- data/benchmarks/db/migrate/01_create_tables.rb +1 -1
- data/examples/rails/README.md +1 -1
- data/examples/snippets/Rakefile +0 -7
- data/examples/snippets/array-data-type/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/batch-dml/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/bulk-insert/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/commit-timestamp/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/create-records/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/date-data-type/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/generated-column/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/hints/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/interleaved-tables/README.md +2 -5
- data/examples/snippets/isolation-level/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/migrations/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/mutations/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/optimistic-locking/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/partitioned-dml/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/query-logs/application.rb +3 -3
- data/examples/snippets/query-logs/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/quickstart/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/read-only-transactions/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/read-write-transactions/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/stale-reads/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/tags/db/migrate/01_create_tables.rb +1 -1
- data/examples/snippets/timestamp-data-type/db/migrate/01_create_tables.rb +1 -1
- data/gemfiles/7.1.gemfile +18 -0
- data/gemfiles/7.1.gemfile.lock +389 -0
- data/gemfiles/7.2.gemfile +18 -0
- data/gemfiles/7.2.gemfile.lock +479 -0
- data/gemfiles/8.0.gemfile +18 -0
- data/gemfiles/8.0.gemfile.lock +480 -0
- data/gemfiles/8.1.gemfile +18 -0
- data/gemfiles/8.1.gemfile.lock +478 -0
- data/lib/active_record/connection_adapters/spanner/database_statements.rb +62 -95
- data/lib/active_record/connection_adapters/spanner/quoting.rb +0 -22
- data/lib/active_record/connection_adapters/spanner/schema_creation.rb +3 -15
- data/lib/active_record/connection_adapters/spanner/schema_statements.rb +0 -4
- data/lib/active_record/connection_adapters/spanner_adapter.rb +12 -14
- data/lib/active_record/type/spanner/spanner_active_record_converter.rb +33 -2
- data/lib/activerecord_spanner_adapter/base.rb +5 -27
- data/lib/activerecord_spanner_adapter/connection.rb +0 -20
- data/lib/activerecord_spanner_adapter/information_schema.rb +1 -4
- data/lib/activerecord_spanner_adapter/table.rb +0 -22
- data/lib/activerecord_spanner_adapter/version.rb +1 -1
- data/lib/arel/visitors/spanner.rb +12 -15
- data/lib/spanner_client_ext.rb +6 -2
- metadata +27 -17
- data/acceptance/cases/interleaved_associations/has_many_associations_using_interleaved_test.rb +0 -221
- data/acceptance/cases/models/interleave_test.rb +0 -113
- data/acceptance/cases/transactions/optimistic_locking_test.rb +0 -152
- data/acceptance/models/album.rb +0 -15
- data/acceptance/models/track.rb +0 -23
- data/examples/snippets/interleaved-tables-before-7.1/README.md +0 -167
- data/examples/snippets/interleaved-tables-before-7.1/Rakefile +0 -13
- data/examples/snippets/interleaved-tables-before-7.1/application.rb +0 -122
- data/examples/snippets/interleaved-tables-before-7.1/config/database.yml +0 -9
- data/examples/snippets/interleaved-tables-before-7.1/db/migrate/01_create_tables.rb +0 -44
- data/examples/snippets/interleaved-tables-before-7.1/db/seeds.rb +0 -40
- data/examples/snippets/interleaved-tables-before-7.1/models/album.rb +0 -20
- data/examples/snippets/interleaved-tables-before-7.1/models/singer.rb +0 -18
- data/examples/snippets/interleaved-tables-before-7.1/models/track.rb +0 -28
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
activerecord-spanner-adapter (2.7.1)
|
|
5
|
+
activerecord (>= 7.1, < 9)
|
|
6
|
+
google-cloud-spanner (~> 2.25)
|
|
7
|
+
google-cloud-spanner-v1 (~> 1.7)
|
|
8
|
+
|
|
9
|
+
GEM
|
|
10
|
+
remote: https://rubygems.org/
|
|
11
|
+
specs:
|
|
12
|
+
activemodel (7.1.6)
|
|
13
|
+
activesupport (= 7.1.6)
|
|
14
|
+
activerecord (7.1.6)
|
|
15
|
+
activemodel (= 7.1.6)
|
|
16
|
+
activesupport (= 7.1.6)
|
|
17
|
+
timeout (>= 0.4.0)
|
|
18
|
+
activesupport (7.1.6)
|
|
19
|
+
base64
|
|
20
|
+
benchmark (>= 0.3)
|
|
21
|
+
bigdecimal
|
|
22
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
23
|
+
connection_pool (>= 2.2.5)
|
|
24
|
+
drb
|
|
25
|
+
i18n (>= 1.6, < 2)
|
|
26
|
+
logger (>= 1.4.2)
|
|
27
|
+
minitest (>= 5.1)
|
|
28
|
+
mutex_m
|
|
29
|
+
securerandom (>= 0.3)
|
|
30
|
+
tzinfo (~> 2.0)
|
|
31
|
+
addressable (2.9.0)
|
|
32
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
33
|
+
appraisal (2.5.0)
|
|
34
|
+
bundler
|
|
35
|
+
rake
|
|
36
|
+
thor (>= 0.14.0)
|
|
37
|
+
ast (2.4.3)
|
|
38
|
+
autotest-suffix (1.1.0)
|
|
39
|
+
base64 (0.3.0)
|
|
40
|
+
benchmark (0.5.0)
|
|
41
|
+
bigdecimal (3.3.1)
|
|
42
|
+
byebug (13.0.0)
|
|
43
|
+
reline (>= 0.6.0)
|
|
44
|
+
coderay (1.1.3)
|
|
45
|
+
concurrent-ruby (1.3.8)
|
|
46
|
+
connection_pool (3.0.2)
|
|
47
|
+
docile (1.4.1)
|
|
48
|
+
docker-api (2.4.0)
|
|
49
|
+
excon (>= 0.64.0)
|
|
50
|
+
multi_json
|
|
51
|
+
drb (2.2.3)
|
|
52
|
+
erb (6.0.7)
|
|
53
|
+
excon (1.7.3)
|
|
54
|
+
logger
|
|
55
|
+
faraday (2.15.0)
|
|
56
|
+
faraday-net_http (>= 2.0, < 3.6)
|
|
57
|
+
json
|
|
58
|
+
logger
|
|
59
|
+
faraday-net_http (3.5.0)
|
|
60
|
+
net-http (~> 0.5)
|
|
61
|
+
faraday-retry (2.4.0)
|
|
62
|
+
faraday (~> 2.0)
|
|
63
|
+
gapic-common (1.5.1)
|
|
64
|
+
faraday (>= 1.9, < 3.a)
|
|
65
|
+
faraday-retry (>= 1.0, < 3.a)
|
|
66
|
+
google-cloud-env (~> 2.2)
|
|
67
|
+
google-logging-utils (~> 0.1)
|
|
68
|
+
google-protobuf (~> 4.26)
|
|
69
|
+
googleapis-common-protos (~> 1.6)
|
|
70
|
+
googleapis-common-protos-types (~> 1.15)
|
|
71
|
+
googleauth (~> 1.12)
|
|
72
|
+
grpc (>= 1.83, < 2.a)
|
|
73
|
+
google-cloud-core (1.9.0)
|
|
74
|
+
google-cloud-env (>= 1.0, < 3.a)
|
|
75
|
+
google-cloud-errors (~> 1.0)
|
|
76
|
+
google-cloud-env (2.4.1)
|
|
77
|
+
base64 (~> 0.2)
|
|
78
|
+
faraday (>= 1.0, < 3.a)
|
|
79
|
+
google-cloud-errors (1.7.0)
|
|
80
|
+
google-cloud-spanner (2.36.1)
|
|
81
|
+
bigdecimal (~> 3.0)
|
|
82
|
+
concurrent-ruby (~> 1.0)
|
|
83
|
+
google-cloud-core (~> 1.7)
|
|
84
|
+
google-cloud-spanner-admin-database-v1 (~> 1.4)
|
|
85
|
+
google-cloud-spanner-admin-instance-v1 (~> 1.6)
|
|
86
|
+
google-cloud-spanner-v1 (~> 1.6)
|
|
87
|
+
google-cloud-spanner-admin-database-v1 (1.6.1)
|
|
88
|
+
gapic-common (>= 0.25.0, < 2.a)
|
|
89
|
+
google-cloud-errors (~> 1.0)
|
|
90
|
+
grpc-google-iam-v1 (~> 1.1)
|
|
91
|
+
google-cloud-spanner-admin-instance-v1 (1.6.0)
|
|
92
|
+
gapic-common (>= 0.25.0, < 2.a)
|
|
93
|
+
google-cloud-errors (~> 1.0)
|
|
94
|
+
grpc-google-iam-v1 (~> 1.1)
|
|
95
|
+
google-cloud-spanner-v1 (1.19.2)
|
|
96
|
+
gapic-common (~> 1.3)
|
|
97
|
+
google-cloud-errors (~> 1.0)
|
|
98
|
+
google-logging-utils (0.2.1)
|
|
99
|
+
google-protobuf (4.36.2)
|
|
100
|
+
bigdecimal
|
|
101
|
+
rake (~> 13.3)
|
|
102
|
+
google-protobuf (4.36.2-aarch64-linux-gnu)
|
|
103
|
+
bigdecimal
|
|
104
|
+
rake (~> 13.3)
|
|
105
|
+
google-protobuf (4.36.2-aarch64-linux-musl)
|
|
106
|
+
bigdecimal
|
|
107
|
+
rake (~> 13.3)
|
|
108
|
+
google-protobuf (4.36.2-arm64-darwin)
|
|
109
|
+
bigdecimal
|
|
110
|
+
rake (~> 13.3)
|
|
111
|
+
google-protobuf (4.36.2-x86-linux-gnu)
|
|
112
|
+
bigdecimal
|
|
113
|
+
rake (~> 13.3)
|
|
114
|
+
google-protobuf (4.36.2-x86-linux-musl)
|
|
115
|
+
bigdecimal
|
|
116
|
+
rake (~> 13.3)
|
|
117
|
+
google-protobuf (4.36.2-x86_64-darwin)
|
|
118
|
+
bigdecimal
|
|
119
|
+
rake (~> 13.3)
|
|
120
|
+
google-protobuf (4.36.2-x86_64-linux-gnu)
|
|
121
|
+
bigdecimal
|
|
122
|
+
rake (~> 13.3)
|
|
123
|
+
google-protobuf (4.36.2-x86_64-linux-musl)
|
|
124
|
+
bigdecimal
|
|
125
|
+
rake (~> 13.3)
|
|
126
|
+
google-style (1.32.1)
|
|
127
|
+
rubocop (~> 1.76)
|
|
128
|
+
googleapis-common-protos (1.10.0)
|
|
129
|
+
google-protobuf (~> 4.26)
|
|
130
|
+
googleapis-common-protos-types (~> 1.21)
|
|
131
|
+
grpc (~> 1.41)
|
|
132
|
+
googleapis-common-protos-types (1.23.0)
|
|
133
|
+
google-protobuf (~> 4.26)
|
|
134
|
+
googleauth (1.17.5)
|
|
135
|
+
faraday (>= 1.0, < 3.a)
|
|
136
|
+
google-cloud-env (~> 2.2)
|
|
137
|
+
google-logging-utils (~> 0.1)
|
|
138
|
+
jwt (>= 1.4, < 4.0)
|
|
139
|
+
os (>= 0.9, < 2.0)
|
|
140
|
+
pstore (~> 0.1)
|
|
141
|
+
signet (>= 0.16, < 2.a)
|
|
142
|
+
grpc (1.84.0)
|
|
143
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
144
|
+
googleapis-common-protos-types (~> 1.0)
|
|
145
|
+
grpc (1.84.0-aarch64-linux-gnu)
|
|
146
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
147
|
+
googleapis-common-protos-types (~> 1.0)
|
|
148
|
+
grpc (1.84.0-aarch64-linux-musl)
|
|
149
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
150
|
+
googleapis-common-protos-types (~> 1.0)
|
|
151
|
+
grpc (1.84.0-arm64-darwin)
|
|
152
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
153
|
+
googleapis-common-protos-types (~> 1.0)
|
|
154
|
+
grpc (1.84.0-x86-linux-gnu)
|
|
155
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
156
|
+
googleapis-common-protos-types (~> 1.0)
|
|
157
|
+
grpc (1.84.0-x86-linux-musl)
|
|
158
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
159
|
+
googleapis-common-protos-types (~> 1.0)
|
|
160
|
+
grpc (1.84.0-x86_64-darwin)
|
|
161
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
162
|
+
googleapis-common-protos-types (~> 1.0)
|
|
163
|
+
grpc (1.84.0-x86_64-linux-gnu)
|
|
164
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
165
|
+
googleapis-common-protos-types (~> 1.0)
|
|
166
|
+
grpc (1.84.0-x86_64-linux-musl)
|
|
167
|
+
google-protobuf (>= 3.25, < 5.0)
|
|
168
|
+
googleapis-common-protos-types (~> 1.0)
|
|
169
|
+
grpc-google-iam-v1 (1.10.0)
|
|
170
|
+
google-protobuf (>= 3.18, < 5.a)
|
|
171
|
+
googleapis-common-protos (~> 1.4)
|
|
172
|
+
grpc (~> 1.41)
|
|
173
|
+
i18n (1.15.2)
|
|
174
|
+
concurrent-ruby (~> 1.0)
|
|
175
|
+
io-console (0.9.4)
|
|
176
|
+
irb (1.18.0)
|
|
177
|
+
pp (>= 0.6.0)
|
|
178
|
+
prism (>= 1.3.0)
|
|
179
|
+
rdoc (>= 4.0.0)
|
|
180
|
+
reline (>= 0.4.2)
|
|
181
|
+
json (3.1.0)
|
|
182
|
+
jwt (3.3.0)
|
|
183
|
+
base64
|
|
184
|
+
language_server-protocol (3.17.0.6)
|
|
185
|
+
lint_roller (1.1.0)
|
|
186
|
+
logger (1.7.0)
|
|
187
|
+
method_source (1.1.0)
|
|
188
|
+
minitest (5.27.0)
|
|
189
|
+
minitest-autotest (1.2.0)
|
|
190
|
+
minitest-server (~> 1.0)
|
|
191
|
+
path_expander (~> 2.0)
|
|
192
|
+
minitest-focus (1.4.1)
|
|
193
|
+
minitest (> 5.0)
|
|
194
|
+
minitest-rg (5.4.0)
|
|
195
|
+
minitest (>= 5.0, < 7)
|
|
196
|
+
minitest-server (1.0.10)
|
|
197
|
+
drb (~> 2.0)
|
|
198
|
+
minitest (~> 5.16)
|
|
199
|
+
multi_json (1.21.2)
|
|
200
|
+
mustermann (3.1.1)
|
|
201
|
+
mutex_m (0.3.0)
|
|
202
|
+
net-http (0.10.0)
|
|
203
|
+
net-protocol (>= 0.3.0)
|
|
204
|
+
uri (>= 0.11.1)
|
|
205
|
+
net-protocol (0.4.0)
|
|
206
|
+
timeout
|
|
207
|
+
os (1.1.4)
|
|
208
|
+
ostruct (0.6.3)
|
|
209
|
+
parallel (2.3.0)
|
|
210
|
+
parser (3.3.12.0)
|
|
211
|
+
ast (~> 2.4.1)
|
|
212
|
+
racc
|
|
213
|
+
path_expander (2.0.1)
|
|
214
|
+
pp (0.6.4)
|
|
215
|
+
prettyprint
|
|
216
|
+
prettyprint (0.2.1)
|
|
217
|
+
prism (1.9.0)
|
|
218
|
+
pry (0.16.0)
|
|
219
|
+
coderay (~> 1.1)
|
|
220
|
+
method_source (~> 1.0)
|
|
221
|
+
reline (>= 0.6.0)
|
|
222
|
+
pry-byebug (3.12.0)
|
|
223
|
+
byebug (~> 13.0)
|
|
224
|
+
pry (>= 0.13, < 0.17)
|
|
225
|
+
pstore (0.2.1)
|
|
226
|
+
public_suffix (7.0.5)
|
|
227
|
+
racc (1.8.1)
|
|
228
|
+
rack (3.2.7)
|
|
229
|
+
rack-protection (4.2.1)
|
|
230
|
+
base64 (>= 0.1.0)
|
|
231
|
+
logger (>= 1.6.0)
|
|
232
|
+
rack (>= 3.0.0, < 4)
|
|
233
|
+
rack-session (2.1.2)
|
|
234
|
+
base64 (>= 0.1.0)
|
|
235
|
+
rack (>= 3.0.0)
|
|
236
|
+
rainbow (3.1.1)
|
|
237
|
+
rake (13.4.2)
|
|
238
|
+
rbs (4.2.0)
|
|
239
|
+
logger
|
|
240
|
+
prism (>= 1.6.0)
|
|
241
|
+
tsort
|
|
242
|
+
rdoc (8.1.0)
|
|
243
|
+
erb
|
|
244
|
+
prism (>= 1.6.0)
|
|
245
|
+
rbs (>= 4.0.0)
|
|
246
|
+
tsort
|
|
247
|
+
readline (0.0.4)
|
|
248
|
+
reline
|
|
249
|
+
redcarpet (3.6.1)
|
|
250
|
+
regexp_parser (2.13.1)
|
|
251
|
+
reline (0.7.0)
|
|
252
|
+
io-console (~> 0.5)
|
|
253
|
+
rubocop (1.92.0)
|
|
254
|
+
json (>= 2.3)
|
|
255
|
+
language_server-protocol (~> 3.17.0.2)
|
|
256
|
+
lint_roller (~> 1.1.0)
|
|
257
|
+
parallel (>= 1.10)
|
|
258
|
+
parser (>= 3.3.0.2)
|
|
259
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
260
|
+
regexp_parser (>= 2.11.3, < 3.0)
|
|
261
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
262
|
+
ruby-progressbar (~> 1.7)
|
|
263
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
264
|
+
rubocop-ast (1.50.0)
|
|
265
|
+
parser (>= 3.3.7.2)
|
|
266
|
+
prism (~> 1.7)
|
|
267
|
+
ruby-progressbar (1.13.0)
|
|
268
|
+
securerandom (0.4.1)
|
|
269
|
+
signet (0.22.1)
|
|
270
|
+
addressable (~> 2.8)
|
|
271
|
+
faraday (>= 0.17.5, < 3.a)
|
|
272
|
+
jwt (>= 1.5, < 4.0)
|
|
273
|
+
simplecov (0.22.0)
|
|
274
|
+
docile (~> 1.1)
|
|
275
|
+
simplecov-html (~> 0.11)
|
|
276
|
+
simplecov_json_formatter (~> 0.1)
|
|
277
|
+
simplecov-html (0.13.2)
|
|
278
|
+
simplecov_json_formatter (0.1.4)
|
|
279
|
+
sinatra (4.2.1)
|
|
280
|
+
logger (>= 1.6.0)
|
|
281
|
+
mustermann (~> 3.0)
|
|
282
|
+
rack (>= 3.0.0, < 4)
|
|
283
|
+
rack-protection (= 4.2.1)
|
|
284
|
+
rack-session (>= 2.0.0, < 3)
|
|
285
|
+
tilt (~> 2.0)
|
|
286
|
+
sinatra-activerecord (2.0.28)
|
|
287
|
+
activerecord (>= 4.1)
|
|
288
|
+
sinatra (>= 1.0)
|
|
289
|
+
sqlite3 (2.10.1-aarch64-linux-gnu)
|
|
290
|
+
sqlite3 (2.10.1-aarch64-linux-musl)
|
|
291
|
+
sqlite3 (2.10.1-arm-linux-gnu)
|
|
292
|
+
sqlite3 (2.10.1-arm-linux-musl)
|
|
293
|
+
sqlite3 (2.10.1-arm64-darwin)
|
|
294
|
+
sqlite3 (2.10.1-x86-linux-gnu)
|
|
295
|
+
sqlite3 (2.10.1-x86-linux-musl)
|
|
296
|
+
sqlite3 (2.10.1-x86_64-darwin)
|
|
297
|
+
sqlite3 (2.10.1-x86_64-linux-gnu)
|
|
298
|
+
sqlite3 (2.10.1-x86_64-linux-musl)
|
|
299
|
+
thor (1.5.0)
|
|
300
|
+
tilt (2.9.0)
|
|
301
|
+
timeout (0.6.1)
|
|
302
|
+
tsort (0.2.0)
|
|
303
|
+
tzinfo (2.0.6)
|
|
304
|
+
concurrent-ruby (~> 1.0)
|
|
305
|
+
unicode-display_width (3.3.0)
|
|
306
|
+
unicode-emoji (~> 4.3)
|
|
307
|
+
unicode-emoji (4.3.0)
|
|
308
|
+
uri (1.1.2)
|
|
309
|
+
yard (0.9.45)
|
|
310
|
+
yard-doctest (0.1.17)
|
|
311
|
+
minitest
|
|
312
|
+
yard
|
|
313
|
+
|
|
314
|
+
PLATFORMS
|
|
315
|
+
aarch64-linux-gnu
|
|
316
|
+
aarch64-linux-musl
|
|
317
|
+
arm-linux-gnu
|
|
318
|
+
arm-linux-musl
|
|
319
|
+
arm64-darwin
|
|
320
|
+
x86-linux-gnu
|
|
321
|
+
x86-linux-musl
|
|
322
|
+
x86_64-darwin
|
|
323
|
+
x86_64-linux-gnu
|
|
324
|
+
x86_64-linux-musl
|
|
325
|
+
|
|
326
|
+
DEPENDENCIES
|
|
327
|
+
activerecord (~> 7.1.0)
|
|
328
|
+
activerecord-spanner-adapter!
|
|
329
|
+
appraisal (~> 2.5)
|
|
330
|
+
autotest-suffix (~> 1.1)
|
|
331
|
+
bundler (>= 2.0, < 5.0)
|
|
332
|
+
docker-api
|
|
333
|
+
google-style (~> 1.32.0)
|
|
334
|
+
irb
|
|
335
|
+
minitest (~> 5.27.0)
|
|
336
|
+
minitest-autotest (~> 1.0)
|
|
337
|
+
minitest-focus (~> 1.1)
|
|
338
|
+
minitest-rg (~> 5.4.0)
|
|
339
|
+
mutex_m
|
|
340
|
+
ostruct
|
|
341
|
+
pry (~> 0.16.0)
|
|
342
|
+
pry-byebug (~> 3.12.0)
|
|
343
|
+
rake (~> 13.0)
|
|
344
|
+
readline
|
|
345
|
+
redcarpet (~> 3.0)
|
|
346
|
+
simplecov (~> 0.9)
|
|
347
|
+
sinatra-activerecord
|
|
348
|
+
sqlite3
|
|
349
|
+
yard (~> 0.9)
|
|
350
|
+
yard-doctest (~> 0.1.13)
|
|
351
|
+
|
|
352
|
+
CHECKSUMS
|
|
353
|
+
activemodel (7.1.6) sha256=f72f510018a560b5969e3ffc88214441ff09eed60b310feba678a597b2a2e721
|
|
354
|
+
activerecord (7.1.6) sha256=1aa298cd7fc97ed8639ebb05a46bd17243a1218d89945bdc2bac1e61e673f079
|
|
355
|
+
activerecord-spanner-adapter (2.7.1)
|
|
356
|
+
activesupport (7.1.6) sha256=7f12140a813b1c4922a322663e547129aef1840fc512fa262378f6d7e7fd3a7c
|
|
357
|
+
addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
|
|
358
|
+
appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
|
|
359
|
+
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
|
|
360
|
+
autotest-suffix (1.1.0) sha256=9bb29331b7b66a9659b01ef10839bd61fc1a6e95477c8ea710bd01e10c380977
|
|
361
|
+
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
362
|
+
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
363
|
+
bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218
|
|
364
|
+
byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
|
|
365
|
+
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
|
|
366
|
+
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
|
|
367
|
+
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
368
|
+
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
|
|
369
|
+
docker-api (2.4.0) sha256=824be734f4cc8718189be9c8e795b6414acbbf7e8b082a06f959a27dd8dd63e6
|
|
370
|
+
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
371
|
+
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
|
|
372
|
+
excon (1.7.3) sha256=ea13fabcab2b5f5bb64e2952a0ac018bf9882832fe7a58206630be18ba888fa9
|
|
373
|
+
faraday (2.15.0) sha256=3be0eff0187ed913a1b4f679e9fcfe845b542cdd4f75b76cd6181a4ae1335fff
|
|
374
|
+
faraday-net_http (3.5.0) sha256=2e7094c34e38754ee048cc3df47376f8657005d9375f8473bce1c3b526a22e36
|
|
375
|
+
faraday-retry (2.4.0) sha256=7b79c48fb7e56526faf247b12d94a680071ff40c9fda7cf1ec1549439ad11ebe
|
|
376
|
+
gapic-common (1.5.1) sha256=bba5d3707c72bf95b00a2c1c6f7bcee5a701d7c221dfd3a024a8f63f15b43502
|
|
377
|
+
google-cloud-core (1.9.0) sha256=ab55409f51488e8deefb6edcc1ce4771dfb5da2fe7b3bc075709a030c2b682a4
|
|
378
|
+
google-cloud-env (2.4.1) sha256=987cc58afc50ce2903128ab4dcd442159be4457246b8137e41d49d5c3fc590dd
|
|
379
|
+
google-cloud-errors (1.7.0) sha256=6e682f42d89aae08689f36f28495de629d756da076bafff0003bac7f8042ebb3
|
|
380
|
+
google-cloud-spanner (2.36.1) sha256=d32b0d21660fad4d4faf0a62f1c6e292df7d4bdbe1522c21e3861fbc74606edd
|
|
381
|
+
google-cloud-spanner-admin-database-v1 (1.6.1) sha256=6b8758e4def80d69e9ee64a42078d3a59ab028a638f7a849abd8130cf85add9b
|
|
382
|
+
google-cloud-spanner-admin-instance-v1 (1.6.0) sha256=1775b56518665854b27af393378761e6ff9b12156d746168df7bb14ce0138d54
|
|
383
|
+
google-cloud-spanner-v1 (1.19.2) sha256=f1de64f97967208dffd48e4b3673a00c6e79464e9a1c2f8ddc6684ab492a854e
|
|
384
|
+
google-logging-utils (0.2.1) sha256=73945c3ac6800eba802c26b1744765d5057cc4d89182c7255ee1347b0ca96dc7
|
|
385
|
+
google-protobuf (4.36.2) sha256=2f8daff50ae14aad36ab0ccdcf284065fa71d726c444efe114e6db82ffe62494
|
|
386
|
+
google-protobuf (4.36.2-aarch64-linux-gnu) sha256=c3279ec6eaa59f6ed6276eda2a33cffb4306471183ab79a332e698b8564f5169
|
|
387
|
+
google-protobuf (4.36.2-aarch64-linux-musl) sha256=0772c9dde1e6dce9a6b44d1d35c28c29adee99d9bd6aff5e21840daeb22161ce
|
|
388
|
+
google-protobuf (4.36.2-arm64-darwin) sha256=f70d810e6bbab9d8ad9c1d5fd685a21de4c10ad3ad32efb9455e17e5b1286917
|
|
389
|
+
google-protobuf (4.36.2-x86-linux-gnu) sha256=ffcd06d49bffca24afff18c900dd61a51ea3028d43c47d0d9621d00bf38a5866
|
|
390
|
+
google-protobuf (4.36.2-x86-linux-musl) sha256=e1afec03babd73c9117cc09d5fc2a98dfef37a414bfd8a4d0ceaac7bd66fc028
|
|
391
|
+
google-protobuf (4.36.2-x86_64-darwin) sha256=8d1bd2a344f7f589703b202ad2ee4cca8ef731b4ced45782ef92d385967384ba
|
|
392
|
+
google-protobuf (4.36.2-x86_64-linux-gnu) sha256=d25a820873e423f1d209ae8c672a4a28b019e2429debd0901d26670a0b4e14db
|
|
393
|
+
google-protobuf (4.36.2-x86_64-linux-musl) sha256=0fa17686c896da96a60a705e56ddc7d4ff56413f52787c655bd4c9fb33ffe14f
|
|
394
|
+
google-style (1.32.1) sha256=715b65a1169761c131f4c08592ea7b6e73f8f8ae7217be110e937e7361f9ec6a
|
|
395
|
+
googleapis-common-protos (1.10.0) sha256=13e47ad0ce85d3d30065c03863efd302a82b0e08ba576f2a9b9dbbfeecb57ee0
|
|
396
|
+
googleapis-common-protos-types (1.23.0) sha256=992e740a523794d9fc5f29a504465d8fc737aaa16c930fe7228e3346860faf0a
|
|
397
|
+
googleauth (1.17.5) sha256=92498efc6883630a7e011ce4e667f887e314e588d584410ba18df49f1303f3d7
|
|
398
|
+
grpc (1.84.0) sha256=df2dd2d379fe3419a58af64f2fab514202437e28b7df5b441a16da542486a98f
|
|
399
|
+
grpc (1.84.0-aarch64-linux-gnu) sha256=38bcb6998cca338718e39e2b89785964850f71444279a033c296ceb40406cfad
|
|
400
|
+
grpc (1.84.0-aarch64-linux-musl) sha256=514fad5bc13ed336d424ac056d21803c27f4e2feaddf9eddfc94750bae03f40b
|
|
401
|
+
grpc (1.84.0-arm64-darwin) sha256=aee56ed688f44750832fbc50c17eb1c75ce1c0d38693dc08d4f37560e1646277
|
|
402
|
+
grpc (1.84.0-x86-linux-gnu) sha256=f9846e8aa06f7d70b41b5ea96a7ff97dd5cce28d379788040f93eab1c0f9b52b
|
|
403
|
+
grpc (1.84.0-x86-linux-musl) sha256=adb35f72337bd6709e6e874e165d11096ea7015cb9ef33ed30f0a072e1bb2817
|
|
404
|
+
grpc (1.84.0-x86_64-darwin) sha256=deb0ba1f82af9200afd0a71301e2039306cd1a3ca3010c814fb67f57eed38642
|
|
405
|
+
grpc (1.84.0-x86_64-linux-gnu) sha256=3e9be3e4c4734a2a4977aa34446c604b1542a21fe67e4b7772be01602eac6bb3
|
|
406
|
+
grpc (1.84.0-x86_64-linux-musl) sha256=1ded8b5df0fafb16b195bf559470bf38b9a22bf74a820b892ebb931ca9f2d8ee
|
|
407
|
+
grpc-google-iam-v1 (1.10.0) sha256=13a4ace4f7495b913f202880a5431f7e53633af3dd6d7df8c4224bd2dac23a9a
|
|
408
|
+
i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
|
|
409
|
+
io-console (0.9.4) sha256=a403304f32928ee85e56d457b4612ca43f2703b561a3258844992bd24085fbb1
|
|
410
|
+
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
411
|
+
json (3.1.0) sha256=3ce7ccf8fde58960177a3a756c31f292a4c1e1dedee884547096a5b0604e3bd8
|
|
412
|
+
jwt (3.3.0) sha256=44cc34fbc341c148233cf66641522b4bce0dfb1ce55e8073f05c56f44f4ee546
|
|
413
|
+
language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
|
|
414
|
+
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
|
|
415
|
+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
|
|
416
|
+
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
|
|
417
|
+
minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
|
|
418
|
+
minitest-autotest (1.2.0) sha256=60d031cba705215450662b0060f03f96507682b346a19c27f6756751ad92d2b4
|
|
419
|
+
minitest-focus (1.4.1) sha256=394517cbe2dcb2d992d8ffc41a3b2b6315777a4daa69239de4fefe7110dd810e
|
|
420
|
+
minitest-rg (5.4.0) sha256=54d42bb8ce876381245be5866f3c1dd704ef79c06ba5c9ff280c0aa28c56effb
|
|
421
|
+
minitest-server (1.0.10) sha256=275439bf3ffc433fcbe161733248f1d9749ebf122892cf010bf864aaa95cef75
|
|
422
|
+
multi_json (1.21.2) sha256=245531eaf54bdba57aba515ff08b4503505c5e09911daa89c5a561e2f85bea8e
|
|
423
|
+
mustermann (3.1.1) sha256=4c6170c7234d5499c345562ba7c7dfe73e1754286dcc1abb053064d66a127198
|
|
424
|
+
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
|
|
425
|
+
net-http (0.10.0) sha256=1a2ff6e37a05724973c43f2bf7bf105f59c36a4cd0a7e9b1c021a0a566987c27
|
|
426
|
+
net-protocol (0.4.0) sha256=f9f90c8c6f64794a45160bf422177a336db12809de3beeeaa26b88fcd2e8c853
|
|
427
|
+
os (1.1.4) sha256=57816d6a334e7bd6aed048f4b0308226c5fb027433b67d90a9ab435f35108d3f
|
|
428
|
+
ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
|
|
429
|
+
parallel (2.3.0) sha256=f75a3e904101ce6a1ccb6b8dc800cbafd42166d83330192438dcf29395167a6f
|
|
430
|
+
parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
|
|
431
|
+
path_expander (2.0.1) sha256=2de201164bff4719cc4d0b3767286e9977cc832a59c4d70abab571ec86cb41e4
|
|
432
|
+
pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
|
|
433
|
+
prettyprint (0.2.1) sha256=d555d57ea6d7cf001d4774b693546a6bd88bec1e778ddffb5c60b68ceec4b7d4
|
|
434
|
+
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
435
|
+
pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
|
|
436
|
+
pry-byebug (3.12.0) sha256=594e094ae8a8390a7ad4c7b36ae36e13304ed02664c67417d108dc5f7213d1b7
|
|
437
|
+
pstore (0.2.1) sha256=03904d0f2c66579e96d1e6704cdabc0c88df7ea8ed8782d9f3569f6f6c702c1a
|
|
438
|
+
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
|
|
439
|
+
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
440
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
441
|
+
rack-protection (4.2.1) sha256=cf6e2842df8c55f5e4d1a4be015e603e19e9bc3a7178bae58949ccbb58558bac
|
|
442
|
+
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
443
|
+
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
444
|
+
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
445
|
+
rbs (4.2.0) sha256=51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674
|
|
446
|
+
rdoc (8.1.0) sha256=befc37880a5cfd36dcb176c748b5fd5ee39dd3536a75e81824e4972ce230f60a
|
|
447
|
+
readline (0.0.4) sha256=6138eef17be2b98298b672c3ea63bf9cb5158d401324f26e1e84f235879c1d6a
|
|
448
|
+
redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445
|
|
449
|
+
regexp_parser (2.13.1) sha256=5aedb6b7c35688f51e86eef17a15374dfd287c83f4ca644b2c5f3ec50a33b44b
|
|
450
|
+
reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
|
|
451
|
+
rubocop (1.92.0) sha256=2af68041fb2e70bd9321d0479b49fad07f8008a3d0758c83347b4917128c56e0
|
|
452
|
+
rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
|
|
453
|
+
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
454
|
+
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
455
|
+
signet (0.22.1) sha256=6e73e9f2bdc2f038a5fdc8a89d248792b1b55e9ca50ee1ba458d8f1d9f0a2151
|
|
456
|
+
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
|
|
457
|
+
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
|
|
458
|
+
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
|
|
459
|
+
sinatra (4.2.1) sha256=b7aeb9b11d046b552972ade834f1f9be98b185fa8444480688e3627625377080
|
|
460
|
+
sinatra-activerecord (2.0.28) sha256=99f352c2dfa244d02b4f877efbe00135360b758390b8bb7bc2d4d91171c93811
|
|
461
|
+
sqlite3 (2.10.1-aarch64-linux-gnu) sha256=48390cc2b809acd1280f5c9daaf3c2013833adb8a5ece9b0634f708651080ccd
|
|
462
|
+
sqlite3 (2.10.1-aarch64-linux-musl) sha256=db1bcddf98e4eeea80ca896f56aa3f9468364fa1ee8e042ddc6b628b5092fabb
|
|
463
|
+
sqlite3 (2.10.1-arm-linux-gnu) sha256=34a67a3fe84f705a0fad6f7aa4541579300644b9acdf414797e59929a6e3528b
|
|
464
|
+
sqlite3 (2.10.1-arm-linux-musl) sha256=e317adb8979b57dafd999b54410b4050296aa5d00caa664e3f75d876e2ae90e8
|
|
465
|
+
sqlite3 (2.10.1-arm64-darwin) sha256=45f74dad0a8ee57ae5fadfac39bf160d1f09fb0484a442223310d869cd957d92
|
|
466
|
+
sqlite3 (2.10.1-x86-linux-gnu) sha256=7b3f9eff7c5c26551800649312796203ded8a505bcdaf30cd915dd9ae5e9575c
|
|
467
|
+
sqlite3 (2.10.1-x86-linux-musl) sha256=8f193eb1b4a66156baaaedafac0de091533cf840f4b78cf3fa2019cde0388f10
|
|
468
|
+
sqlite3 (2.10.1-x86_64-darwin) sha256=00d1cd2e8ecff5ad9fffa0c97de59d4f85c5fc54eada2587d53ca0bd933b7a5d
|
|
469
|
+
sqlite3 (2.10.1-x86_64-linux-gnu) sha256=661ecede31e23a412059cd8c684ed84e332f64f167e4a90902cf99e8ea2c8718
|
|
470
|
+
sqlite3 (2.10.1-x86_64-linux-musl) sha256=67c7c5443a930157b4e148f0f4cb9ab998ee7ecfa8ce56879a6b56d1d742b2be
|
|
471
|
+
thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
|
|
472
|
+
tilt (2.9.0) sha256=da5735d0280bba96e9a91041bb14aee435ccad5c17b0fa519249ae543d9aa3a5
|
|
473
|
+
timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
|
|
474
|
+
tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
|
|
475
|
+
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
|
|
476
|
+
unicode-display_width (3.3.0) sha256=4b7aa66a4b11db50f6f7e98411215cd0dd10eaecb665d36eec5bcacb3fa0b613
|
|
477
|
+
unicode-emoji (4.3.0) sha256=11c02fa73290378c066bb0562cd4c87d8e1b706fbbe0059ca12746a4244de8ce
|
|
478
|
+
uri (1.1.2) sha256=89292e98eabbef6248b0a0ed5e7e398e152f83f17560023a6d94a7f492b169fb
|
|
479
|
+
yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
|
|
480
|
+
yard-doctest (0.1.17) sha256=7cb35a75d99f58fc42ee72d3542a36e227237b621a40aebc391c95988b72847f
|
|
481
|
+
|
|
482
|
+
BUNDLED WITH
|
|
483
|
+
2.6.9
|
data/README.md
CHANGED
|
@@ -115,3 +115,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
|
115
115
|
## Code of Conduct
|
|
116
116
|
|
|
117
117
|
Everyone interacting in the Activerecord::Spanner project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/googleapis/ruby-spanner-activerecord/blob/main/CODE_OF_CONDUCT.md).
|
|
118
|
+
|
|
@@ -86,25 +86,15 @@ module ActiveRecord
|
|
|
86
86
|
|
|
87
87
|
def test_index_exists
|
|
88
88
|
with_change_table do |t|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
t.index_exists?(:bar, {})
|
|
92
|
-
else
|
|
93
|
-
@connection.expect :index_exists?, nil, [:delete_me, :bar]
|
|
94
|
-
t.index_exists?(:bar)
|
|
95
|
-
end
|
|
89
|
+
@connection.expect :index_exists?, nil, [:delete_me, :bar]
|
|
90
|
+
t.index_exists?(:bar)
|
|
96
91
|
end
|
|
97
92
|
end
|
|
98
93
|
|
|
99
94
|
def test_index_exists_with_options
|
|
100
95
|
with_change_table do |t|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
t.index_exists?(:bar, {unique: true})
|
|
104
|
-
else
|
|
105
|
-
@connection.expect :index_exists?, nil, [:delete_me, :bar], unique: true
|
|
106
|
-
t.index_exists?(:bar, unique: true)
|
|
107
|
-
end
|
|
96
|
+
@connection.expect :index_exists?, nil, [:delete_me, :bar], unique: true
|
|
97
|
+
t.index_exists?(:bar, unique: true)
|
|
108
98
|
end
|
|
109
99
|
end
|
|
110
100
|
|
|
@@ -76,37 +76,23 @@ module ActiveRecord
|
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
VERSION_7 = ActiveRecord.gem_version >= Gem::Version.create("7.0.0")
|
|
80
|
-
|
|
81
|
-
def assert_raises_below_ar_7(ex, &test)
|
|
82
|
-
if VERSION_7
|
|
83
|
-
assert_nothing_raised &test
|
|
84
|
-
else
|
|
85
|
-
assert_raises ex, &test
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
79
|
def test_create_with_value_for_generated_column
|
|
90
80
|
# Note: The statement itself will not fail for an explicit transaction that uses buffered transactions.
|
|
91
81
|
# Instead, the commit will fail. That is tested in a separate test case.
|
|
92
82
|
[nil, :serializable].each do |isolation|
|
|
93
83
|
run_in_transaction isolation do
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
assert_equal "Pete Allison", singer.reload.full_name
|
|
97
|
-
end
|
|
84
|
+
singer = Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
|
|
85
|
+
assert_equal "Pete Allison", singer.reload.full_name
|
|
98
86
|
end
|
|
99
87
|
end
|
|
100
88
|
end
|
|
101
89
|
|
|
102
90
|
def test_create_with_value_for_generated_column_buffered_mutations
|
|
103
91
|
# The transaction itself will raise an error, as the failure occurs during the commit.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
|
|
107
|
-
end
|
|
108
|
-
assert_equal "Pete Allison", singer.reload.full_name
|
|
92
|
+
singer = run_in_transaction :buffered_mutations do
|
|
93
|
+
Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
|
|
109
94
|
end
|
|
95
|
+
assert_equal "Pete Allison", singer.reload.full_name
|
|
110
96
|
end
|
|
111
97
|
|
|
112
98
|
def test_update_with_value_for_generated_column
|
|
@@ -116,9 +102,7 @@ module ActiveRecord
|
|
|
116
102
|
singer = Singer.create first_name: "Pete", last_name: "Allison"
|
|
117
103
|
singer.reload # reload to ensure the full_name attribute is populated.
|
|
118
104
|
run_in_transaction isolation do
|
|
119
|
-
|
|
120
|
-
Singer.update full_name: "Alice Peterson"
|
|
121
|
-
end
|
|
105
|
+
Singer.update full_name: "Alice Peterson"
|
|
122
106
|
end
|
|
123
107
|
assert_equal "Pete Allison", singer.reload.full_name
|
|
124
108
|
end
|
|
@@ -128,10 +112,8 @@ module ActiveRecord
|
|
|
128
112
|
singer = Singer.create first_name: "Pete", last_name: "Allison"
|
|
129
113
|
singer.reload # reload to ensure the full_name attribute is populated.
|
|
130
114
|
# The transaction itself will raise an error, as the failure occurs during the commit.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
Singer.update full_name: "Alice Peterson"
|
|
134
|
-
end
|
|
115
|
+
run_in_transaction :buffered_mutations do
|
|
116
|
+
Singer.update full_name: "Alice Peterson"
|
|
135
117
|
end
|
|
136
118
|
assert_equal "Pete Allison", singer.reload.full_name
|
|
137
119
|
end
|
data/acceptance/test_helper.rb
CHANGED
|
@@ -17,7 +17,6 @@ require "active_support/testing/stream"
|
|
|
17
17
|
require "activerecord-spanner-adapter"
|
|
18
18
|
require "active_record/connection_adapters/spanner_adapter"
|
|
19
19
|
require "securerandom"
|
|
20
|
-
require "composite_primary_keys" if ActiveRecord::gem_version < Gem::Version.create('7.1.0')
|
|
21
20
|
|
|
22
21
|
# rubocop:disable Style/GlobalVars
|
|
23
22
|
#
|
|
@@ -27,27 +26,16 @@ end
|
|
|
27
26
|
$spanner_test_database = "ar-test-#{SecureRandom.hex 4}"
|
|
28
27
|
|
|
29
28
|
def connector_config
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
else
|
|
42
|
-
{
|
|
43
|
-
"adapter" => "spanner",
|
|
44
|
-
"emulator_host" => ENV["SPANNER_EMULATOR_HOST"],
|
|
45
|
-
"project" => ENV["SPANNER_TEST_PROJECT"],
|
|
46
|
-
"instance" => ENV["SPANNER_TEST_INSTANCE"],
|
|
47
|
-
"credentials" => ENV["SPANNER_TEST_KEYFILE"],
|
|
48
|
-
"database" => $spanner_test_database,
|
|
49
|
-
}
|
|
50
|
-
end
|
|
29
|
+
{
|
|
30
|
+
"adapter" => "spanner",
|
|
31
|
+
"emulator_host" => ENV["SPANNER_EMULATOR_HOST"],
|
|
32
|
+
"project" => ENV["SPANNER_TEST_PROJECT"],
|
|
33
|
+
"instance" => ENV["SPANNER_TEST_INSTANCE"],
|
|
34
|
+
"credentials" => ENV["SPANNER_TEST_KEYFILE"],
|
|
35
|
+
"database" => $spanner_test_database,
|
|
36
|
+
"default_sequence_kind" => "BIT_REVERSED_POSITIVE",
|
|
37
|
+
"use_client_side_id_for_mutations" => true,
|
|
38
|
+
}
|
|
51
39
|
end
|
|
52
40
|
|
|
53
41
|
def spanner
|
|
@@ -26,8 +26,9 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
|
|
27
27
|
spec.add_dependency "google-cloud-spanner", "~> 2.25"
|
|
28
28
|
spec.add_dependency "google-cloud-spanner-v1", "~> 1.7"
|
|
29
|
-
spec.add_runtime_dependency "activerecord", [">= 7.
|
|
29
|
+
spec.add_runtime_dependency "activerecord", [">= 7.1", "< 9"]
|
|
30
30
|
|
|
31
|
+
spec.add_development_dependency "appraisal", "~> 2.5"
|
|
31
32
|
spec.add_development_dependency "autotest-suffix", "~> 1.1"
|
|
32
33
|
spec.add_development_dependency "bundler", [">= 2.0", "< 5.0"]
|
|
33
34
|
spec.add_development_dependency "google-style", "~> 1.32.0"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# license that can be found in the LICENSE file or at
|
|
5
5
|
# https://opensource.org/licenses/MIT.
|
|
6
6
|
|
|
7
|
-
class CreateTables < ActiveRecord::Migration[
|
|
7
|
+
class CreateTables < ActiveRecord::Migration[7.1]
|
|
8
8
|
def change
|
|
9
9
|
connection.ddl_batch do
|
|
10
10
|
create_table :singers do |t|
|
data/examples/rails/README.md
CHANGED
|
@@ -55,7 +55,7 @@ If you are not familiar with Active Record, you can read more about it on [Ruby
|
|
|
55
55
|
ruby --version
|
|
56
56
|
rails --version
|
|
57
57
|
```
|
|
58
|
-
The versions should be Ruby 2
|
|
58
|
+
The versions should be Ruby 3.2 or higher and Rails 7.1 or higher.
|
|
59
59
|
1. Create a new Rails project:
|
|
60
60
|
|
|
61
61
|
```shell
|