rom-sql 3.2.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +216 -101
- data/LICENSE +1 -1
- data/README.md +12 -54
- data/lib/rom/plugins/relation/sql/postgres/full_text_search.rb +53 -0
- data/lib/rom/plugins/relation/sql/postgres/streaming.rb +108 -0
- data/lib/rom/sql/associations/many_to_many.rb +1 -1
- data/lib/rom/sql/attribute.rb +17 -2
- data/lib/rom/sql/attribute_aliasing.rb +28 -0
- data/lib/rom/sql/extensions/postgres.rb +1 -0
- data/lib/rom/sql/extensions/postgres/commands.rb +1 -1
- data/lib/rom/sql/function.rb +13 -4
- data/lib/rom/sql/gateway.rb +3 -0
- data/lib/rom/sql/projection_dsl.rb +1 -1
- data/lib/rom/sql/relation.rb +1 -1
- data/lib/rom/sql/relation/reading.rb +13 -1
- data/lib/rom/sql/schema.rb +13 -1
- data/lib/rom/sql/tasks/migration_tasks.rake +1 -1
- data/lib/rom/sql/type_extensions.rb +1 -1
- data/lib/rom/sql/version.rb +1 -1
- metadata +21 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77e9a1c6c69b4539e55608281a06efbb7cac1b8c5723ab96be497aa982ed6677
|
4
|
+
data.tar.gz: 3d1690050c29b5a09f3e72fc952eb32b1e7e5b3e421d0bd157cdeec11bb98c14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f1c1f6c059d88c2b5ad4872aea4f071799fdabab42d45a1a8fea4393361925883d4286a6543e58fa5ada1d22cee9fab691086e3f1a82a0f1ceecfac11ef918d
|
7
|
+
data.tar.gz: 42dcefd8414fc1b5a2afe818efff6ed3a410d0aea790ff9400b6f42127990781174ee83944d5791114d3b6fd49208c9a839e76d7afb3007cc19e5b3be2705172
|
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,82 @@
|
|
1
|
+
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
2
|
+
|
3
|
+
## 3.4.0 2021-03-19
|
4
|
+
|
5
|
+
|
6
|
+
### Added
|
7
|
+
|
8
|
+
- `Relation#unordered` (@radar)
|
9
|
+
|
10
|
+
|
11
|
+
[Compare v3.3.3...v3.4.0](https://github.com/rom-rb/rom-sql/compare/v3.3.3...v3.4.0)
|
12
|
+
|
13
|
+
## 3.3.3 2021-03-05
|
14
|
+
|
15
|
+
|
16
|
+
### Added
|
17
|
+
|
18
|
+
- Support for streaming composite relations (@ianks)
|
19
|
+
|
20
|
+
|
21
|
+
[Compare v3.3.2...v3.3.3](https://github.com/rom-rb/rom-sql/compare/v3.3.2...v3.3.3)
|
22
|
+
|
23
|
+
## 3.3.2 2021-01-06
|
24
|
+
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
|
28
|
+
- Function qualification methods no longer lose options (issue #390 fixed via #391) (@solnic)
|
29
|
+
|
30
|
+
|
31
|
+
[Compare v3.3.1...v3.3.2](https://github.com/rom-rb/rom-sql/compare/v3.3.1...v3.3.2)
|
32
|
+
|
33
|
+
## 3.3.1 2020-12-29
|
34
|
+
|
35
|
+
|
36
|
+
### Fixed
|
37
|
+
|
38
|
+
- `:pg_streaming` plugin no longer crashes when there's no sequel_pg and now you need to require the plugin explicitly (@solnic)
|
39
|
+
|
40
|
+
|
41
|
+
[Compare v3.3.0...v3.3.1](https://github.com/rom-rb/rom-sql/compare/v3.3.0...v3.3.1)
|
42
|
+
|
43
|
+
## 3.3.0 2020-12-28
|
44
|
+
|
45
|
+
|
46
|
+
### Added
|
47
|
+
|
48
|
+
- `Relation#full_text_search` that provides an API for [PostgreSQL's Full Text Search](https://www.postgresql.org/docs/9.5/textsearch.html) (@ianks)
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
# Don't forget to activate the plugin
|
52
|
+
conf.plugin(:sql, relations: :pg_full_text_search)
|
53
|
+
|
54
|
+
posts.full_text_search([:title], 'tutorials', language: 'english')
|
55
|
+
# => [{ title: 'A Tutorial about SQL', ... }]
|
56
|
+
```
|
57
|
+
- Support for `:pg_streaming` extension (@ianks)
|
58
|
+
|
59
|
+
### Fixed
|
60
|
+
|
61
|
+
- `Relation#join` no longer crashes when aliased relation is used with a block (issue #369) (@abrthel)
|
62
|
+
- Attributes aliases are properly handled when constructing queries with SQL functions (issue #370 fixed via #373) (@abrthel)
|
63
|
+
|
64
|
+
|
65
|
+
[Compare v3.2.0...v3.3.0](https://github.com/rom-rb/rom-sql/compare/v3.2.0...v3.3.0)
|
66
|
+
|
1
67
|
## 3.2.0 2020-01-11
|
2
68
|
|
69
|
+
|
3
70
|
### Fixed
|
4
71
|
|
5
72
|
- Keyword warnings on Ruby 2.7 (@flash-gordon)
|
6
73
|
|
74
|
+
|
7
75
|
[Compare v3.1.0...v3.2.0](https://github.com/rom-rb/rom-sql/compare/v3.1.0...v3.2.0)
|
8
76
|
|
9
77
|
## 3.1.0 2019-12-16
|
10
78
|
|
79
|
+
|
11
80
|
### Added
|
12
81
|
|
13
82
|
- `.nullify` that turns the result set of any relation into an empty set. Analogue of `ActiveRecord#none` (@ianks + @flash-gordon)
|
@@ -29,18 +98,22 @@
|
|
29
98
|
- Properly qualify relations when in `Relation#union` (@ianks)
|
30
99
|
- `Relation#query` no longer removes order in the relation (@DNNX)
|
31
100
|
|
101
|
+
|
32
102
|
[Compare v3.0.1...v3.1.0](https://github.com/rom-rb/rom-sql/compare/v3.0.1...v3.1.0)
|
33
103
|
|
34
104
|
## 3.0.1 2019-05-05
|
35
105
|
|
106
|
+
|
36
107
|
### Fixed
|
37
108
|
|
38
109
|
- Using joins with a relation object as the target and a block-based conditions produces correct query now (issue #331) (solnic)
|
39
110
|
|
111
|
+
|
40
112
|
[Compare v3.0.0...v3.0.1](https://github.com/rom-rb/rom-sql/compare/v3.0.0...v3.0.1)
|
41
113
|
|
42
114
|
## 3.0.0 2019-04-24
|
43
115
|
|
116
|
+
|
44
117
|
### Added
|
45
118
|
|
46
119
|
- Join DSL so that you can use arbitrary conditions when joining relations (flash-gordon)
|
@@ -66,7 +139,6 @@
|
|
66
139
|
# searching for `true` result
|
67
140
|
users.select_append { string::case(id.is(1) => 'one', else: 'else').as(:one_or_else) }
|
68
141
|
```
|
69
|
-
|
70
142
|
- Relations can be accessed in DSLs with keyword arguments (flash-gordon)
|
71
143
|
```ruby
|
72
144
|
users.join(posts).select_append { |posts: | posts[:title] }
|
@@ -79,30 +151,29 @@
|
|
79
151
|
```
|
80
152
|
- `Relation#unfiltered` returns an unrestricted relation (removes restrictions from `WHERE` and `HAVING`) (flash-gordon)
|
81
153
|
- Support for `WITHIN GROUP` in the function DSL has been enhanced with block syntax (flash-gordon)
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
```
|
89
|
-
|
154
|
+
- ```ruby
|
155
|
+
- # previously available version
|
156
|
+
- households.project { float::percentile_cont(0.5).within_group(income).as(:percentile) }
|
157
|
+
- # using the new syntax
|
158
|
+
- households.project { float::percentile_cont(0.5).within_group { income }.as(:percentile) }
|
159
|
+
- ```
|
90
160
|
- Support for migrator options ie `ROM::Configuration.new(:sql, migrator: { path: "my_migrations" })` (rawburt)
|
91
161
|
- `Relation#pluck` works with multiple args too (timriley)
|
92
162
|
|
93
|
-
### Changed
|
94
|
-
|
95
|
-
- [BREAKING] Updated to work with `dry-types 1.0.0` (flash-gordon)
|
96
|
-
- [BREAKING] `Types::Int` is now `Types::Integer` (GustavoCaso)
|
97
|
-
|
98
163
|
### Fixed
|
99
164
|
|
100
165
|
- Using `Relation#inner_join` with has-many-through produces correct query (issue #279) (doriantaylor + solnic)
|
101
166
|
- Aliased attributes are handled correctly in `Relation#where` (waiting-for-dev)
|
102
167
|
|
168
|
+
### Changed
|
169
|
+
|
170
|
+
- [BREAKING] Updated to work with `dry-types 1.0.0` (flash-gordon)
|
171
|
+
- [BREAKING] `Types::Int` is now `Types::Integer` (GustavoCaso)
|
172
|
+
|
103
173
|
[Compare v2.5.0...v3.0.0](https://github.com/rom-rb/rom-sql/compare/v2.5.0...v3.0.0)
|
104
174
|
|
105
|
-
##
|
175
|
+
## 2.5.0 2018-06-08
|
176
|
+
|
106
177
|
|
107
178
|
### Added
|
108
179
|
|
@@ -111,22 +182,26 @@
|
|
111
182
|
tasks = relations[:tasks]
|
112
183
|
users = relations[:users]
|
113
184
|
user_tasks = tasks.where(tasks[:user_id].is(users[:id])
|
114
|
-
tasks_count = user_tasks.select { integer::count(id) }
|
185
|
+
tasks_count = user_tasks.select { integer::count(id) }.query
|
115
186
|
users.select_append(tasks_count.as(:tasks_count))
|
116
187
|
```
|
117
188
|
|
189
|
+
|
118
190
|
[Compare v2.4.0...v2.5.0](https://github.com/rom-rb/rom-sql/compare/v2.4.0...v2.5.0)
|
119
191
|
|
120
|
-
##
|
192
|
+
## 2.4.0 2018-02-18
|
193
|
+
|
121
194
|
|
122
195
|
### Added
|
123
196
|
|
124
197
|
- Support for functions with `Any` return type (GustavoCaso)
|
125
198
|
- New `Relation#as_hash` method (GustavoCaso)
|
126
199
|
|
200
|
+
|
127
201
|
[Compare v2.3.0...v2.4.0](https://github.com/rom-rb/rom-sql/compare/v2.3.0...v2.4.0)
|
128
202
|
|
129
|
-
##
|
203
|
+
## 2.3.0 2017-11-17
|
204
|
+
|
130
205
|
|
131
206
|
### Added
|
132
207
|
|
@@ -138,23 +213,22 @@
|
|
138
213
|
- Aliased attributes are handled correctly in PG's commands (cflipse)
|
139
214
|
- Command extensions are properly applied in multi-adapter setups (solnic)
|
140
215
|
|
141
|
-
### Internal
|
142
|
-
|
143
|
-
- Custom SQL-specific mapper compiler was added, which is used starting from rom-core 4.1.0 (solnic)
|
144
|
-
- Command's `:timestamp` plugin was removed, as it was moved to rom-core (GustavoCaso)
|
145
216
|
|
146
217
|
[Compare v2.2.1...v2.3.0](https://github.com/rom-rb/rom-sql/compare/v2.2.1...v2.3.0)
|
147
218
|
|
148
|
-
##
|
219
|
+
## 2.2.1 2017-11-10
|
220
|
+
|
149
221
|
|
150
222
|
### Fixed
|
151
223
|
|
152
224
|
- Instrumentation works with all db interactions (not just queries that materialize relations) (solnic)
|
153
225
|
- Typo in `MissingEnv` exception message (romatr)
|
154
226
|
|
227
|
+
|
155
228
|
[Compare v2.2.0...v2.2.1](https://github.com/rom-rb/rom-sql/compare/v2.2.0...v2.2.1)
|
156
229
|
|
157
|
-
##
|
230
|
+
## 2.2.0 2017-11-02
|
231
|
+
|
158
232
|
|
159
233
|
### Added
|
160
234
|
|
@@ -167,9 +241,11 @@
|
|
167
241
|
- Custom schema is used correctly in command results (solnic)
|
168
242
|
- Schemas no longer finalize PKs (this is done in core schema already) (solnic)
|
169
243
|
|
244
|
+
|
170
245
|
[Compare v2.1.0...v2.2.0](https://github.com/rom-rb/rom-sql/compare/v2.1.0...v2.2.0)
|
171
246
|
|
172
|
-
##
|
247
|
+
## 2.1.0 2017-10-23
|
248
|
+
|
173
249
|
|
174
250
|
### Added
|
175
251
|
|
@@ -183,9 +259,11 @@
|
|
183
259
|
- Schema inference works with primary keys that have custom types (ie an enum PK column) (v-kolesnikov)
|
184
260
|
- Ruby warnings are gone (solnic)
|
185
261
|
|
262
|
+
|
186
263
|
[Compare v2.0.0...v2.1.0](https://github.com/rom-rb/rom-sql/compare/v2.0.0...v2.1.0)
|
187
264
|
|
188
|
-
##
|
265
|
+
## 2.0.0 2017-10-18
|
266
|
+
|
189
267
|
|
190
268
|
### Added
|
191
269
|
|
@@ -203,7 +281,6 @@
|
|
203
281
|
end
|
204
282
|
end
|
205
283
|
```
|
206
|
-
|
207
284
|
- Support for composite indexes in the auto-restrictions plugin (flash-gordon)
|
208
285
|
- `SQL::Gateway#call` calls a SQL function (flash-gordon)
|
209
286
|
|
@@ -211,19 +288,16 @@
|
|
211
288
|
gateway.(:upper, 'foo') # => "FOO"
|
212
289
|
gateway.(:pg_advisory_xact_lock, 1234) # => nil
|
213
290
|
```
|
214
|
-
|
215
291
|
- `SQL::Gateway#run` executes a SQL string, e.g. a DDL statement (flash-gordon)
|
216
292
|
|
217
293
|
```ruby
|
218
294
|
gateway.run('set session IntervalStyle to default')
|
219
295
|
```
|
220
|
-
|
221
296
|
- `SQL::Relation#exists` joins a relation with the `EXISTS` operator (flash-gordon)
|
222
297
|
|
223
298
|
```ruby
|
224
299
|
users.exists(posts) # => users with posts
|
225
300
|
```
|
226
|
-
|
227
301
|
- Support for processing a relation in batches (flash-gordon)
|
228
302
|
|
229
303
|
```ruby
|
@@ -233,26 +307,22 @@
|
|
233
307
|
call(name: users[:first_name].concat(users[:last_name])
|
234
308
|
end
|
235
309
|
```
|
236
|
-
|
237
310
|
- `SQL::Relation#import` inserts data from another relation using the `INSERT ... AS SELECT` syntax which is often far more effective than row-by-row processing and an ordinary multi-insert. Relations defined on another gateway are also supported, and in this case, the implementation falls back to the multi-insert strategy (flash-gordon)
|
238
311
|
|
239
312
|
```ruby
|
240
313
|
users.import(authors.select { first_name.concat(last_name).as(:name) })
|
241
314
|
```
|
242
|
-
|
243
315
|
- Support for `tinytext`, `text`, `mediumtext`, and `longtext data types in MySQL (panthomakos)
|
244
316
|
- The new `pg_explain` plugin for getting query plans on PostgreSQL (flash-gordon)
|
245
317
|
|
246
318
|
```ruby
|
247
319
|
users.by_pk(1).explain(format: :json, analyze: true)
|
248
320
|
```
|
249
|
-
|
250
321
|
- Support for window function calls
|
251
322
|
|
252
323
|
```ruby
|
253
324
|
employees.select { [dep_no, salary, integer::avg(salary).over(partition: dep_no, order: id).as(:avg_salary)] }
|
254
325
|
```
|
255
|
-
|
256
326
|
- Function result can be negated, also `ROM::SQL::Function#not` was added (flash-gordon)
|
257
327
|
|
258
328
|
```ruby
|
@@ -260,6 +330,13 @@
|
|
260
330
|
users.where { lower(name).not('John') }
|
261
331
|
```
|
262
332
|
|
333
|
+
### Fixed
|
334
|
+
|
335
|
+
- Self-ref associations work correctly with custom FKs (solnic)
|
336
|
+
- Aliased associations with custom FKs work correctly (solnic)
|
337
|
+
- Defining a custom dataset block no longer prevents default views like `by_pk` to be defined (solnic)
|
338
|
+
- `Relation#group` uses canonical schema now (solnic)
|
339
|
+
|
263
340
|
### Changed
|
264
341
|
|
265
342
|
- [BREAKING] based on rom 4.0 now (flash-gordon + solnic)
|
@@ -273,16 +350,10 @@
|
|
273
350
|
- Schemas are qualified by default (solnic)
|
274
351
|
- `PG::JSON`, `PG::JSONB`, and `PG::Array` now all have read types so that they return plain Hash/Array values instead of Sequel's wrappers (flash-gordon)
|
275
352
|
|
276
|
-
|
277
|
-
|
278
|
-
- Self-ref associations work correctly with custom FKs (solnic)
|
279
|
-
- Aliased associations with custom FKs work correctly (solnic)
|
280
|
-
- Defining a custom dataset block no longer prevents default views like `by_pk` to be defined (solnic)
|
281
|
-
- `Relation#group` uses canonical schema now (solnic)
|
353
|
+
[Compare v1.3.3...v2.0.0](https://github.com/rom-rb/rom-sql/compare/v1.3.3...v2.0.0)
|
282
354
|
|
283
|
-
|
355
|
+
## 1.3.3 2017-05-30
|
284
356
|
|
285
|
-
## v1.3.3 2017-05-30
|
286
357
|
|
287
358
|
### Added
|
288
359
|
|
@@ -293,7 +364,6 @@
|
|
293
364
|
```ruby
|
294
365
|
users.select { string::cast(id, 'varchar').as(:id_str) }
|
295
366
|
```
|
296
|
-
|
297
367
|
- Support for`EXISTS` (v-kolesnikov)
|
298
368
|
|
299
369
|
```ruby
|
@@ -305,9 +375,11 @@
|
|
305
375
|
|
306
376
|
- Fixed a regression introduced in v1.3.2 caused by doing way more work processing the default dataset (flash-gordon)
|
307
377
|
|
378
|
+
|
308
379
|
[Compare v1.3.2...v1.3.3](https://github.com/rom-rb/rom-sql/compare/v1.3.2...v1.3.3)
|
309
380
|
|
310
|
-
##
|
381
|
+
## 1.3.2 2017-05-13
|
382
|
+
|
311
383
|
|
312
384
|
### Added
|
313
385
|
|
@@ -319,9 +391,11 @@
|
|
319
391
|
|
320
392
|
- A bunch of warnings from Sequel 4.46
|
321
393
|
|
394
|
+
|
322
395
|
[Compare v1.3.1...v1.3.2](https://github.com/rom-rb/rom-sql/compare/v1.3.1...v1.3.2)
|
323
396
|
|
324
|
-
##
|
397
|
+
## 1.3.1 2017-05-05
|
398
|
+
|
325
399
|
|
326
400
|
### Changed
|
327
401
|
|
@@ -329,7 +403,8 @@
|
|
329
403
|
|
330
404
|
[Compare v1.3.0...v1.3.1](https://github.com/rom-rb/rom-sql/compare/v1.3.0...v1.3.1)
|
331
405
|
|
332
|
-
##
|
406
|
+
## 1.3.0 2017-05-02
|
407
|
+
|
333
408
|
|
334
409
|
### Added
|
335
410
|
|
@@ -361,7 +436,8 @@
|
|
361
436
|
|
362
437
|
[Compare v1.2.2...v1.3.0](https://github.com/rom-rb/rom-sql/compare/v1.2.2...v1.3.0)
|
363
438
|
|
364
|
-
##
|
439
|
+
## 1.2.2 2017-03-25
|
440
|
+
|
365
441
|
|
366
442
|
### Changed
|
367
443
|
|
@@ -369,15 +445,18 @@
|
|
369
445
|
|
370
446
|
[Compare v1.2.1...v1.2.2](https://github.com/rom-rb/rom-sql/compare/v1.2.1...v1.2.2)
|
371
447
|
|
372
|
-
##
|
448
|
+
## 1.2.1 2017-03-09
|
449
|
+
|
373
450
|
|
374
451
|
### Fixed
|
375
452
|
|
376
453
|
- Allow for joining by a `RelationProxy` instance from `rom-repository` (davydovanton)
|
377
454
|
|
455
|
+
|
378
456
|
[Compare v1.2.0...v1.2.1](https://github.com/rom-rb/rom-sql/compare/v1.2.0...v1.2.1)
|
379
457
|
|
380
|
-
##
|
458
|
+
## 1.2.0 2017-03-07
|
459
|
+
|
381
460
|
|
382
461
|
### Added
|
383
462
|
|
@@ -385,25 +464,31 @@
|
|
385
464
|
- Support for passing parent tuple(s) as `parent` option in `Command#with_association` (solnic)
|
386
465
|
- Support for join using assocation name (flash-gordon)
|
387
466
|
|
467
|
+
|
388
468
|
[Compare v1.1.2...v1.2.0](https://github.com/rom-rb/rom-sql/compare/v1.1.2...v1.2.0)
|
389
469
|
|
390
|
-
##
|
470
|
+
## 1.1.2 2017-03-02
|
471
|
+
|
391
472
|
|
392
473
|
### Fixed
|
393
474
|
|
394
475
|
- Fix grouping by a function in the block DSL (flash-gordon)
|
395
476
|
|
477
|
+
|
396
478
|
[Compare v1.1.1...v1.1.2](https://github.com/rom-rb/rom-sql/compare/v1.1.1...v1.1.2)
|
397
479
|
|
398
|
-
##
|
480
|
+
## 1.1.1 2017-03-01
|
481
|
+
|
399
482
|
|
400
483
|
### Fixed
|
401
484
|
|
402
485
|
- Restriction conditions with an array as a value are handled correctly by attribute types (solnic)
|
403
486
|
|
487
|
+
|
404
488
|
[Compare v1.1.0...v1.1.1](https://github.com/rom-rb/rom-sql/compare/v1.1.0...v1.1.1)
|
405
489
|
|
406
|
-
##
|
490
|
+
## 1.1.0 2017-03-01
|
491
|
+
|
407
492
|
|
408
493
|
### Added
|
409
494
|
|
@@ -417,29 +502,34 @@
|
|
417
502
|
- Missing `group` method was added to legacy `SequelAPI` module (solnic)
|
418
503
|
- Associations properly maintain `order` if it was set (solnic)
|
419
504
|
|
420
|
-
[Compare v1.0.3...v1.1.0](https://github.com/rom-rb/rom-sql/compare/v1.0.3...v1.1.0)
|
421
505
|
|
422
|
-
|
506
|
+
[Compare v1.0.3...v1.1.0](https://github.com/rom-rb/rom-sql/compare/v1.0.3...v1.1.0)
|
423
507
|
|
424
|
-
|
508
|
+
## 1.0.3 2017-02-23
|
425
509
|
|
426
|
-
- `AutoCombine#preload` uses better restriction for `ManyToOne` association which greatly speeds up loading bigger amounts of data (solnic + flash-gordon)
|
427
510
|
|
428
511
|
### Fixed
|
429
512
|
|
430
513
|
- Fix the usage of timestamp in command chains (cflipse)
|
431
514
|
|
515
|
+
### Changed
|
516
|
+
|
517
|
+
- `AutoCombine#preload` uses better restriction for `ManyToOne` association which greatly speeds up loading bigger amounts of data (solnic + flash-gordon)
|
518
|
+
|
432
519
|
[Compare v1.0.2...v1.0.3](https://github.com/rom-rb/rom-sql/compare/v1.0.2...v1.0.3)
|
433
520
|
|
434
|
-
##
|
521
|
+
## 1.0.2 2017-02-16
|
522
|
+
|
435
523
|
|
436
524
|
### Added
|
437
525
|
|
438
526
|
- Support for selecting literal strings via `` select { `'foo'`.as(:bar) } `` (solnic)
|
439
527
|
|
528
|
+
|
440
529
|
[Compare v1.0.1...v1.0.2](https://github.com/rom-rb/rom-sql/compare/v1.0.1...v1.0.2)
|
441
530
|
|
442
|
-
##
|
531
|
+
## 1.0.1 2017-02-09
|
532
|
+
|
443
533
|
|
444
534
|
### Added
|
445
535
|
|
@@ -452,11 +542,10 @@
|
|
452
542
|
|
453
543
|
- Missing primary key now leads to a more meaningful error (flash-gordon)
|
454
544
|
|
455
|
-
[Compare v1.0.0...v1.0.1](https://github.com/rom-rb/rom-sql/compare/v1.0.0...v1.0.1)
|
456
545
|
|
457
|
-
|
546
|
+
[Compare v1.0.0...v1.0.1](https://github.com/rom-rb/rom-sql/compare/v1.0.0...v1.0.1)
|
458
547
|
|
459
|
-
|
548
|
+
## 1.0.0 2017-01-29
|
460
549
|
|
461
550
|
Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upgrading-from-0.9.x-to-1.0.0) if you're moving from 0.9.x to 1.0.0.
|
462
551
|
|
@@ -496,16 +585,19 @@ Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upg
|
|
496
585
|
|
497
586
|
[Compare v0.9.1...v1.0.0](https://github.com/rom-rb/rom-sql/compare/v0.9.1...v1.0.0)
|
498
587
|
|
499
|
-
##
|
588
|
+
## 0.9.1 2016-12-23
|
589
|
+
|
500
590
|
|
501
591
|
### Added
|
502
592
|
|
503
593
|
- Support for PG enums in schema inferrer (flash-gordon)
|
504
594
|
- `ROM::SQL::Relation#read` method which accepts an SQL string and returns a new relation (solnic)
|
505
595
|
|
596
|
+
|
506
597
|
[Compare v0.9.0...v0.9.1](https://github.com/rom-rb/rom-sql/compare/v0.9.0...v0.9.1)
|
507
598
|
|
508
|
-
##
|
599
|
+
## 0.9.0 2016-11-08
|
600
|
+
|
509
601
|
|
510
602
|
### Added
|
511
603
|
|
@@ -515,6 +607,10 @@ Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upg
|
|
515
607
|
- Automatically infer PG arrays and JSON(B) types (jodosha + flash-gordon)
|
516
608
|
- Support for `Relation#having` (cflipse)
|
517
609
|
|
610
|
+
### Fixed
|
611
|
+
|
612
|
+
- Floats are inferred by schemas (cflipse)
|
613
|
+
|
518
614
|
### Changed
|
519
615
|
|
520
616
|
- Inferred types in schemas **are no longer strict** (flash-gordon)
|
@@ -522,13 +618,10 @@ Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upg
|
|
522
618
|
- Make `OneToOne` inherit from `OneToMany` (beauby)
|
523
619
|
- Default dataset will use column names from schema if it's available (solnic)
|
524
620
|
|
525
|
-
### Fixed
|
526
|
-
|
527
|
-
- Floats are inferred by schemas (cflipse)
|
528
|
-
|
529
621
|
[Compare v0.8.0...v0.9.0](https://github.com/rom-rb/rom-sql/compare/v0.8.0...v0.9.0)
|
530
622
|
|
531
|
-
##
|
623
|
+
## 0.8.0 2016-07-27
|
624
|
+
|
532
625
|
|
533
626
|
### Added
|
534
627
|
|
@@ -544,19 +637,20 @@ Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upg
|
|
544
637
|
- Support for arbitrary dataset and FK names in schemas (flash-gordon)
|
545
638
|
- Support for native upserts in PostgreSQL >= 9.5 via `Commands::Postgres::Upsert` (gotar + flash-gordon)
|
546
639
|
|
640
|
+
### Fixed
|
641
|
+
|
642
|
+
- `Create` command properly materialize result when `:one` is set (AMHOL)
|
643
|
+
|
547
644
|
### Changed
|
548
645
|
|
549
646
|
- `Create` and `Update` commands have `:schema` plugin enabled by default which sets input handler based on schema definition automatically (solnic)
|
550
647
|
- `associates` command plugin uses schema associations now (solnic)
|
551
648
|
- Dropped MRI 2.0.x support
|
552
649
|
|
553
|
-
### Fixed
|
554
|
-
|
555
|
-
- `Create` command properly materialize result when `:one` is set (AMHOL)
|
556
|
-
|
557
650
|
[Compare v0.7.0...v0.8.0](https://github.com/rom-rb/rom-sql/compare/v0.7.0...v0.8.0)
|
558
651
|
|
559
|
-
##
|
652
|
+
## 0.7.0 2016-01-06
|
653
|
+
|
560
654
|
|
561
655
|
### Added
|
562
656
|
|
@@ -583,37 +677,42 @@ Please refer to [the upgrading guide](https://github.com/rom-rb/rom-sql/wiki/Upg
|
|
583
677
|
|
584
678
|
[Compare v0.6.1...v0.7.0](https://github.com/rom-rb/rom-sql/compare/v0.6.1...v0.7.0)
|
585
679
|
|
586
|
-
##
|
680
|
+
## 0.6.1 2015-09-23
|
681
|
+
|
587
682
|
|
588
683
|
### Added
|
589
684
|
|
590
685
|
- `Gateway` accepts `:extensions` as an option (c0)
|
591
686
|
|
687
|
+
|
592
688
|
[Compare v0.6.0...v0.6.1](https://github.com/rom-rb/rom-sql/compare/v0.6.0...v0.6.1)
|
593
689
|
|
594
|
-
##
|
690
|
+
## 0.6.0 2015-08-19
|
595
691
|
|
596
692
|
Internal updates to fix deprecation warnings from ROM 0.9.0.
|
597
693
|
|
694
|
+
|
598
695
|
[Compare v0.5.3...v0.6.0](https://github.com/rom-rb/rom-sql/compare/v0.5.3...v0.6.0)
|
599
696
|
|
600
|
-
##
|
697
|
+
## 0.5.3 2015-07-23
|
698
|
+
|
601
699
|
|
602
700
|
### Added
|
603
701
|
|
604
702
|
- `Relation#multi_insert` (draxxxeus)
|
605
703
|
|
606
|
-
### Changed
|
607
|
-
|
608
|
-
- Command that receives many tuples will use `multi_insert` now (draxxxeus)
|
609
|
-
|
610
704
|
### Fixed
|
611
705
|
|
612
706
|
- Relation name and join key fixes for `many_to_one` macro (jamesmoriarty)
|
613
707
|
|
708
|
+
### Changed
|
709
|
+
|
710
|
+
- Command that receives many tuples will use `multi_insert` now (draxxxeus)
|
711
|
+
|
614
712
|
[Compare v0.5.2...v0.5.3](https://github.com/rom-rb/rom-sql/compare/v0.5.2...v0.5.3)
|
615
713
|
|
616
|
-
##
|
714
|
+
## 0.5.2 2015-06-22
|
715
|
+
|
617
716
|
|
618
717
|
### Added
|
619
718
|
|
@@ -626,19 +725,21 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
626
725
|
|
627
726
|
[Compare v0.5.1...v0.5.2](https://github.com/rom-rb/rom-sql/compare/v0.5.1...v0.5.2)
|
628
727
|
|
629
|
-
##
|
728
|
+
## 0.5.1 2015-05-25
|
630
729
|
|
631
|
-
### Changed
|
632
|
-
|
633
|
-
- Relations won't be finalized when table(s) is/are missing (solnic)
|
634
730
|
|
635
731
|
### Fixed
|
636
732
|
|
637
733
|
- Wrap errors when calling commands with `[]`-syntax (kwando)
|
638
734
|
|
735
|
+
### Changed
|
736
|
+
|
737
|
+
- Relations won't be finalized when table(s) is/are missing (solnic)
|
738
|
+
|
639
739
|
[Compare v0.5.0...v0.5.1](https://github.com/rom-rb/rom-sql/compare/v0.5.0...v0.5.1)
|
640
740
|
|
641
|
-
##
|
741
|
+
## 0.5.0 2015-05-22
|
742
|
+
|
642
743
|
|
643
744
|
### Added
|
644
745
|
|
@@ -657,17 +758,20 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
657
758
|
- `Commands::Update#set` has been deprecated (solnic)
|
658
759
|
- `Commands::Update#to` has been deprecated (solnic)
|
659
760
|
|
660
|
-
[Compare v0.4.3...v0.5.0](https://github.com/rom-rb/rom-sql/compare/v0.4.
|
761
|
+
[Compare v0.4.3...v0.5.0](https://github.com/rom-rb/rom-sql/compare/v0.4.3...v0.5.0)
|
762
|
+
|
763
|
+
## 0.4.3 2015-05-17
|
661
764
|
|
662
|
-
## v0.4.3 2015-05-17
|
663
765
|
|
664
766
|
### Fixed
|
665
767
|
|
666
768
|
- `transaction` doesn't swallow errors now other than CommandError (solnic)
|
667
769
|
|
770
|
+
|
668
771
|
[Compare v0.4.2...v0.4.3](https://github.com/rom-rb/rom-sql/compare/v0.4.2...v0.4.3)
|
669
772
|
|
670
|
-
##
|
773
|
+
## 0.4.2 2015-05-17
|
774
|
+
|
671
775
|
|
672
776
|
### Added
|
673
777
|
|
@@ -687,16 +791,19 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
687
791
|
|
688
792
|
[Compare v0.4.1...v0.4.2](https://github.com/rom-rb/rom-sql/compare/v0.4.1...v0.4.2)
|
689
793
|
|
690
|
-
##
|
794
|
+
## 0.4.1 2015-04-04
|
795
|
+
|
691
796
|
|
692
797
|
### Added
|
693
798
|
|
694
799
|
- Database error handling for update and delete commands (kwando + solnic)
|
695
800
|
- Migration interface as a repository plugin (gotar + solnic)
|
696
801
|
|
802
|
+
|
697
803
|
[Compare v0.4.0...v0.4.1](https://github.com/rom-rb/rom-sql/compare/v0.4.0...v0.4.1)
|
698
804
|
|
699
|
-
##
|
805
|
+
## 0.4.0 2015-03-22
|
806
|
+
|
700
807
|
|
701
808
|
### Added
|
702
809
|
|
@@ -707,34 +814,39 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
707
814
|
- Pagination plugin (solnic)
|
708
815
|
- Allow reuse of established Sequel connections (splattael)
|
709
816
|
|
710
|
-
### Changed
|
711
|
-
|
712
|
-
- Use ROM's own inflector which uses either ActiveSupport or Inflecto backends (mjtko)
|
713
|
-
|
714
817
|
### Fixed
|
715
818
|
|
716
819
|
- Indentation in Rails logger (morgoth)
|
717
820
|
|
821
|
+
### Changed
|
822
|
+
|
823
|
+
- Use ROM's own inflector which uses either ActiveSupport or Inflecto backends (mjtko)
|
824
|
+
|
718
825
|
[Compare v0.3.2...v0.4.0](https://github.com/rom-rb/rom-sql/compare/v0.3.2...v0.4.0)
|
719
826
|
|
720
|
-
##
|
827
|
+
## 0.3.2 2015-01-01
|
828
|
+
|
721
829
|
|
722
830
|
### Fixed
|
723
831
|
|
724
832
|
- Checking tuple count in commands (solnic)
|
725
833
|
|
834
|
+
|
726
835
|
[Compare v0.3.1...v0.3.2](https://github.com/rom-rb/rom-sql/compare/v0.3.1...v0.3.2)
|
727
836
|
|
728
|
-
##
|
837
|
+
## 0.3.1 2014-12-31
|
838
|
+
|
729
839
|
|
730
840
|
### Added
|
731
841
|
|
732
842
|
- `Adapter#disconnect` (solnic)
|
733
843
|
- Support for extra connection options (solnic)
|
734
844
|
|
845
|
+
|
735
846
|
[Compare v0.3.0...v0.3.1](https://github.com/rom-rb/rom-sql/compare/v0.3.0...v0.3.1)
|
736
847
|
|
737
|
-
##
|
848
|
+
## 0.3.0 2014-12-19
|
849
|
+
|
738
850
|
|
739
851
|
### Changed
|
740
852
|
|
@@ -743,7 +855,8 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
743
855
|
|
744
856
|
[Compare v0.2.0...v0.3.0](https://github.com/rom-rb/rom-sql/compare/v0.2.0...v0.3.0)
|
745
857
|
|
746
|
-
##
|
858
|
+
## 0.2.0 2014-12-06
|
859
|
+
|
747
860
|
|
748
861
|
### Added
|
749
862
|
|
@@ -751,9 +864,11 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
751
864
|
- Support for ActiveSupport::Notifications with a log subscriber (solnic)
|
752
865
|
- New `ROM::SQL::Adapter#dataset?(name)` checking if a given table exists (solnic)
|
753
866
|
|
867
|
+
|
754
868
|
[Compare v0.1.1...v0.2.0](https://github.com/rom-rb/rom-sql/compare/v0.1.1...v0.2.0)
|
755
869
|
|
756
|
-
##
|
870
|
+
## 0.1.1 2014-11-24
|
871
|
+
|
757
872
|
|
758
873
|
### Fixed
|
759
874
|
|
@@ -765,6 +880,6 @@ Internal updates to fix deprecation warnings from ROM 0.9.0.
|
|
765
880
|
|
766
881
|
[Compare v0.1.0...v0.1.1](https://github.com/rom-rb/rom-sql/compare/v0.1.0...v0.1.1)
|
767
882
|
|
768
|
-
##
|
883
|
+
## 0.1.0 2014-11-24
|
769
884
|
|
770
885
|
First release powered by Sequel
|