composite_primary_keys 12.0.9 → 12.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/History.rdoc +880 -877
  3. data/README.rdoc +180 -180
  4. data/lib/composite_primary_keys.rb +117 -117
  5. data/lib/composite_primary_keys/active_model/attribute_assignment.rb +19 -19
  6. data/lib/composite_primary_keys/associations/association_scope.rb +68 -68
  7. data/lib/composite_primary_keys/associations/join_dependency.rb +103 -103
  8. data/lib/composite_primary_keys/attribute_methods.rb +9 -9
  9. data/lib/composite_primary_keys/attribute_methods/read.rb +30 -30
  10. data/lib/composite_primary_keys/attribute_methods/write.rb +35 -35
  11. data/lib/composite_primary_keys/base.rb +141 -141
  12. data/lib/composite_primary_keys/connection_adapters/abstract/database_statements.rb +37 -37
  13. data/lib/composite_primary_keys/connection_adapters/sqlserver/database_statements.rb +44 -44
  14. data/lib/composite_primary_keys/core.rb +48 -48
  15. data/lib/composite_primary_keys/persistence.rb +82 -81
  16. data/lib/composite_primary_keys/reflection.rb +29 -29
  17. data/lib/composite_primary_keys/relation.rb +193 -193
  18. data/lib/composite_primary_keys/relation/calculations.rb +81 -81
  19. data/lib/composite_primary_keys/relation/finder_methods.rb +235 -235
  20. data/lib/composite_primary_keys/relation/predicate_builder/association_query_value.rb +20 -20
  21. data/lib/composite_primary_keys/relation/query_methods.rb +42 -42
  22. data/lib/composite_primary_keys/relation/where_clause.rb +23 -23
  23. data/lib/composite_primary_keys/version.rb +8 -8
  24. data/test/abstract_unit.rb +114 -114
  25. data/test/connections/databases.ci.yml +22 -22
  26. data/test/fixtures/db_definitions/db2-create-tables.sql +112 -112
  27. data/test/fixtures/db_definitions/db2-drop-tables.sql +16 -16
  28. data/test/fixtures/db_definitions/mysql.sql +180 -180
  29. data/test/fixtures/db_definitions/oracle.drop.sql +41 -41
  30. data/test/fixtures/db_definitions/oracle.sql +199 -199
  31. data/test/fixtures/db_definitions/postgresql.sql +182 -182
  32. data/test/fixtures/db_definitions/sqlite.sql +169 -169
  33. data/test/fixtures/db_definitions/sqlserver.sql +176 -176
  34. data/test/fixtures/department.rb +16 -16
  35. data/test/fixtures/departments.yml +15 -15
  36. data/test/fixtures/employees.yml +27 -27
  37. data/test/fixtures/restaurants_suburbs.yml +10 -10
  38. data/test/fixtures/streets.yml +16 -16
  39. data/test/fixtures/suburbs.yml +14 -14
  40. data/test/fixtures/user.rb +11 -11
  41. data/test/test_associations.rb +358 -358
  42. data/test/test_attributes.rb +60 -60
  43. data/test/test_calculations.rb +42 -42
  44. data/test/test_create.rb +218 -206
  45. data/test/test_delete.rb +182 -179
  46. data/test/test_exists.rb +39 -39
  47. data/test/test_find.rb +164 -164
  48. data/test/test_ids.rb +112 -112
  49. data/test/test_nested_attributes.rb +67 -67
  50. data/test/test_update.rb +96 -96
  51. metadata +9 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2465cca0fa83a628e24f3221e88095690295c99b2bf46818bd2ebd76df8300b5
4
- data.tar.gz: a22c2b61575c26e23e51b314c05c158663c26ce7a9c64fb56019d596edc6a844
3
+ metadata.gz: 8a4e9a7e1c59a4bdff405ea57888fa3666c72624318fb5d3be9f77fc27bff77c
4
+ data.tar.gz: 16fe6c9e3a9453017f757640f87e9ab7d28df86726465cec44cb1d780bf181f1
5
5
  SHA512:
6
- metadata.gz: 3147006b49f98c3d1e88dbec56590fad63c13506634427361e14e06d611e75666c89c48c3e9151d174dc075d850a238285be6bc62739d8971d7bf190bc6e9db9
7
- data.tar.gz: 34d811c5ab6afb7d5b4b9dc871b2df660f42abaf146ffc7faa60c9d4d2edfb8c1a8fa6e49b40488a6090a7bb64218fafb6b0e965744b4daa0d11c0fc34605abf
6
+ metadata.gz: bccebc92dc4835aef2c755f5cfda7331c659d7f5ee77274630bd502deddc359e015fffac4fba06a91a9f2a628b900ee81d6046d23ab504e8ff64463802211d4a
7
+ data.tar.gz: f575f24eab4d87ec4c4c7ba00cca1b96f34ab4af94fae89243e332f1b662b857ee8c271d88b20e5690aebf6c6cb17fd3496f8fb72e7fa7860bed49d86b35cae0
data/History.rdoc CHANGED
@@ -1,877 +1,880 @@
1
- == 12.0.9 (2021-02-22)
2
- * Third time is hopefully the charm on MySQL/MariaDB auto increment fix
3
-
4
- == 12.0.8 (2021-02-16)
5
- * Revert to previous MySQL/MariaDB auto increment fix
6
-
7
- == 12.0.7 (2021-02-15)
8
- * Switch to GitHub actions (ta1kt0me)
9
- * Fix MySQL/MariaDB query cache issue bug introduced in version 12.0.3 - see #539 (Charlie Savage)
10
- * Do a better job of supporting composite keys with an auto incrementing field for
11
- MySQL and MariaDB (Charlie Savage)
12
-
13
- == 12.0.6 (2021-01-04)
14
- * Fix issue when calling in_batches without a block (Charlie Savage)
15
-
16
- == 12.0.5 (2020-12-31)
17
- * Finally issue with SQLServer when tables are marked as exclude_output_inserted. See #535. (Charlie Savage)
18
-
19
- == 12.0.4 (2020-12-30)
20
- * Fix compatibility with Ruby Ruby 2.6 and below (ta1kt0me)
21
- * Finally get SQLServer mass updates and deletes working (Charlie Savage)
22
- * Fix MySQL mass updates and deletes that were broken by 12.0.3 (Charlie Savage)
23
-
24
- == 12.0.3 (2020-11-11)
25
- * Prevents infinite loops with gems which modify the 'attributes' method (Nicholas Guarino)
26
- * Improve delete_all and update_all queries (Charlie Savage)
27
- * Improve Oracle support (Charlie Savage)
28
- * Improve SQL Server support. Note delete_all and update_all queries still do not work due to
29
- quirks in SQL Server syntax (Charlie Savage)
30
- * Improve support for polymorphic associations (Charlie Savage)
31
- * Update fixtures and tests to include a model that uses an :id column as part of a composite
32
- key (Charlie Savage)
33
- * Fixed bug where id values were not correctly mapped between primary and foreign keys in associations (Charlie Savage)
34
- * Cleanup how the gem is loaded (Charlie Savage)
35
- * Remove older, unused or minimally used fixtures (Charlie Savage)
36
-
37
- == 12.0.2 (2020-05-19)
38
- * Remove deprecation warning for Ruby 2.7 due to keyword parameters (Alexandru Anca )
39
- * Use sqlite for default in tests (Charlie Savage)
40
- * Modernize gem tests by using Bundler (Charlie Savage)
41
- * Update travis for ruby 2.7 (Charlie Savage)
42
- * Port "Fix create record where one or more of the primary keys has a default value" from ar 5.2 branch (Charlie Savage)
43
- * Remove extra argument from sql_for_insert for SqlServer (tohae)
44
-
45
- == 12.0.1 (2019-11-25)
46
- * Convert attribute names to strings before checking for them in has_attribute? (Daniel de Haas)
47
- * Update the comment referring to the overridden Rails code (Daniel de Haas)
48
-
49
- == 12.0.0 (2019-09-03)
50
- * Update to ActiveRecord 6.0 (Hiroshi Kajisha, Alexandru Anca, Charlie Savage, Sammy Larbi)
51
- * Update travis setup (Olle Jonsson, Charlie Savage)
52
-
53
- ==11.3.1 (2020-04-01)¶ ↑
54
- * Fix overriding AbstractReflection for activerecord 5.2.4 (Sergey Semyonov)
55
- * Fix handling CPK with fields containing comma (Sergey Semyonov)
56
- * Fixed incorrect SQL condition for joining by CPK (Sergey Semyonov)
57
- * Update travis.yml file (Sergey Semyonov)
58
- * Add tests for composite keys with default values (Daniel Wiklund)
59
- * Fix create record where one or more of the primary keys has a default value (Daniel Wiklund)
60
-
61
- == 11.2.0 (2019-03-16)
62
- * When creating new records, honor composite key autoincrementing fields if possible (Antti Pitkänen)
63
- * Update Association#run to more closely match ActiveRecord (Fabian Mersch)
64
- * Updates needed due to changes in ActiveRecord (Sammy Larbi)
65
- * Fix construct_join_attributes method (Brad Slaughter)
66
- * Fix destroy_all on HABTM (Brad Slaughter)
67
-
68
- == 11.1.0 (2018-11-14)
69
- * Support ActiveRecord 5.2.1 (S1Artem Tselovalnikov, Caleb Buxton, Charlie Savage)
70
- * Fix counter cache (Tomonori Murakami)
71
- * Fix error on autosave has_one relations when the :primary_key option is set (Charlie Savage)
72
-
73
- == 11.0.3 (2018-06-25)
74
- * Fix overridden attribute readers and writers (Charlie Savage)
75
-
76
- == 11.0.2 (2018-06-24)
77
- * Remove no longer needed overrides (Charlie Savage)
78
-
79
- == 11.0.1 (2018-06-20)
80
- * Fix in_batches (Urmo Rae)
81
- * Fix apply_join_dependency (Charlie Savage)
82
-
83
- == 11.0.0 (2018-06-18)
84
- * Update to ActiveRecord 5.2 (Charlie Savage)
85
- * Fixes for AR 5.2 persistence changes (Erik Rothoff, Charlie Savage)
86
- * Fix system stack error (i2bskn)
87
-
88
- == 11.0.0.rc2 (2018-02-25)
89
-
90
- * Fix mysql deletion failure (Charlie Savage)
91
- * Clean test run for postgresql, mysql and sqlite3 (Charlie Savage)
92
-
93
- == 11.0.0.rc1 (2018-02-25)
94
-
95
- * Update to ActiveRecord 5.2.rc1 (Charlie Savage)
96
- * Fix uniquness check (Charlie Savage)
97
-
98
- == 11.0.0.beta4 (2018-01-08)
99
-
100
- * Try again on Calculations#execute_simple_calculation for ActiveRecord 5.2.beta2 (Charlie Savage)
101
-
102
- == 11.0.0.beta3 (2018-01-07)
103
-
104
- * Fix typo in Readme.doc (Lopez Lucien)
105
- * Fix Calculations#execute_simple_calculation for ActiveRecord 5.2.beta2 (Charlie Savage)
106
-
107
- == 11.0.0.beta2 (2017-12-10)
108
-
109
- * Minor updates for ActiveRecord 5.2.beta2 support (Charlie Savage)
110
-
111
- == 11.0.0.beta1 (2017-12-03)
112
-
113
- * ActiveRecord 5.2.beta2 support (Charlie Savage)
114
-
115
- == 10.0.5 (2018-06-24)
116
- * Fix in_batches (Urmo Rae)
117
-
118
- == 10.0.4 (2018-06-17)
119
-
120
- * Lock mysql2 gem to 0.4.x (Le Trung Kien)
121
- * Set inversion when using preload (Le Trung Kien)
122
- * Fixes for AR 5.1.6 (Tim Morgan)
123
-
124
- == 10.0.3 (2018-02-25)
125
-
126
- * Require a minimum of activerecord version 5.1.5 (Tom Hughes)
127
-
128
- == 10.0.2 (2017-12-02)
129
-
130
- * Fix frozen string mutation for mysql (Sergey Sein)
131
- * Fix autosave for belongs_to associations (Fabian Mersch)
132
- * Require a minimum of activerecord version 5.1.4 (Charlie Savage)
133
-
134
- == 10.0.1 (2017-10-08)
135
-
136
- * Fixed an error that happened when a table attribute had the same name as the table (Taishi Kasuga)
137
-
138
- == 10.0.0 (2017-10-08)
139
-
140
- * Support ActiveRecord 5.1.x (Pinak Thakkar, Jordan Owens)
141
- * Fix Paper Trail compatibility (Sean Linsley)
142
- * Fix typo in Readme (Mike Gunderloy)
143
- * Improved sql server support (Artyom Nikolaev)
144
-
145
- == 9.0.10 (2018-06-24)
146
-
147
- * Fix AR 5.0.7 (Jordan Owens)
148
-
149
- == 9.0.8 (2017-10-11)
150
-
151
- * Fix Paper Trail compatibility (Sean Linsley)
152
-
153
- == 9.0.7 (2017-05-22)
154
-
155
- * Update sqlite3 to support deletes and updates (Charlie Savage)
156
- * Specify version for sql server gem so it works with Rails 5.0 (Charlie Savage)
157
- * Use `datetime` datatype to address Invalid default value for updated_at (Yasuo Honda)
158
- * Fix ORA-00900 error when it attempts to execute blank statement (pustomytnyk)
159
- * Override ActiveRecord::Associations::CollectionAssociation#ids_reader (pustomytnyk)
160
- * Only define #primary_keys if #primary_keys=(value) is called (Charlie Savage)
161
- * Change `timestamp` to `datetime` for MySQL as ActiveRecord timestamps type does (Oriol Collel)
162
- * Fix incorrect case statement to get PK for SQLServer (Oriol Collel)
163
- * Fixes random failures in test_preload_of_polymorphic_association (Boris Peterbarg)
164
-
165
- == 9.0.6 (2017-01-08)
166
-
167
- * Uncomment tests (Sammy Larbi)
168
- * Update readme (Charlie Savage)
169
-
170
- == 9.0.5 (2017-01-02)
171
-
172
- * Don't nest PK twice when looking up id, fixes #319 (Kerey Roper)
173
- * Simplify database setup for tests (Charlie Savage)
174
- * Revamp gem management (Charlie Savage)
175
- * Add support for Relation#update_all when using joins (Charlie Savage)
176
- * Add erb support to test database.yml files (Charlie Savage)
177
- * Sqlserver fixes for ordering (Charlie Savage)
178
- * Sqlserver refresh (Charlie Savage)
179
- * Oracle refresh (Charlie Savage)
180
- * Fix delete_all for MySql (Charlie Savage)
181
- * Added test cases for preloading associations with and without conditions (Martin Körner)
182
- * Revamp single association handling to correctly setup SQL binds (Charlie Savage)
183
- * Remove references to ActiveModel - #352 (Charlie Savage)
184
- * Fixes for #232, #359, #367 and #371 (Charlie Savage)
185
-
186
- == 9.0.4 (2016-08-17)
187
- * Do not set associations to readonly. See https://github.com/rails/rails/issues/24093 (Charlie Savage)
188
-
189
- == 9.0.2 (2016-08-10)
190
- * Fix delete_all when used with a join (Charlie Savage)
191
-
192
- == 9.0.1 (2016-07-27)
193
- * Create OR predicates in a nicely balanced tree fixing #320 (Nathan Samson)
194
-
195
- == 9.0.0 (2016-07-06)
196
- * Support connection_specification_name in rails5.0.0.rc1 (pocari)
197
-
198
- == 9.0.0.beta1 (2016-04-16)
199
- * Rails 5 beta support (Sammy Larbi)
200
-
201
- == 8.1.7 (2019-05-04)
202
-
203
- Fix key not being an array in subquery on has_many :through (Eric Proulx)
204
- Convert batches to arrays before continuing loop (Jeremy Mickelson)
205
-
206
- == 8.1.6 (2017-05-20)
207
-
208
- Query cache with bind params (ttw)
209
- Fix TestIds#test_set_ids_string. Sqlite's serial and integer are a bit different (Boris Peterbarg)
210
- Associations with inverse fix (Boris Peterbarg)
211
- Fix save_has_one_association and add a test for it (Boris Peterbarg)
212
- Fix save_belongs_to_association override (Boris Peterbarg)
213
- Extend approach from #344 to fix autosave for has_one associations as well (Cameron Finucane)
214
-
215
- == 8.1.5 (2017-01-01)
216
-
217
- * Don't nest PK twice when looking up id, fixes #319 (Kerey Roper)
218
-
219
- == 8.1.4 (2016-07-27)
220
-
221
- * Create OR predicates in a nicely balanced tree fixing #320 (Nathan Samson)
222
- * Fix find in batches (apurvis)
223
-
224
- == 8.1.3 (2016-04-16)
225
-
226
- * Make CPK work for Arel::Attributes::Attribute (Rick Xing)
227
- * Change autosave_association.rb so that association autosave can work (Rick Xing)
228
- * Fix exception when saving "other_ids=" with a has_many :through association where the source
229
- association is polymorphic (Tye Shavik)
230
- * Fix Arel::Nodes::In where left side is not a column (Tye Shavik)
231
-
232
- == 8.1.2 (2015-12-13)
233
-
234
- * Fix failing tests
235
-
236
- == 8.1.1 (2015-08-04)
237
-
238
- * Updates to make Travis CI green (Laust Rud Jacobsen)
239
- * Travis CI support (Laust Rud Jacobsen)
240
- * Remove overriden Base#==(comparison_object) which had a different behavior than stock AR method
241
- for non-peristed objects (Charlie Savage)
242
- * Update support for Uniquenes validations (Avi Leavitt)
243
- * Remove call to verify_active_connections! which was removed from AR 4.1 (Steve Pletcher)
244
- * Aligned the establish connection paramater handling to be similar to latest version of rails (Harish Shetty)
245
-
246
-
247
- == 8.1.0 (2014-03-23)
248
-
249
- * ActiveRecord 4.2.1 support (Charlie Savage)
250
- * Change parsing of composite ids to fix #290 (Charlie Savage)
251
- * Add sqlserver setting for test suite (Joachim Herb)
252
- * Fix sqlserver adapater, isse #224 (Joachim Herb)
253
- * Update readme file to include version 8.* information (David Silva)
254
-
255
- == 8.0.1 (2014-01-24)
256
-
257
- * Support optimistic lock and lock_version added to existing fixtures (Kirika)
258
-
259
- == 8.0.0 (2014-01-10)
260
-
261
- * ActiveRecord 4.2.* support (Sammy Larbi)
262
-
263
- == 7.0.14 (2015-08-04)
264
-
265
- * Remove overriden Base#==(comparison_object) which had a different behavior than stock AR method
266
- for non-peristed objects (Charlie Savage)
267
- * Update support for Uniquenes validations (Avi Leavitt)
268
- * Remove call to verify_active_connections! which was removed from AR 4.1 (Steve Pletcher)
269
-
270
- == 7.0.13 (2015-01-24)
271
-
272
- * Support optimistic lock and lock_version added to existing fixtures (Kirika)
273
- * README change to convey finding available versions (Aaron Bartell)
274
- * Fixes indentation in product_tariffs (Zaldabus)
275
-
276
- == 7.0.12 (2014-11-09)
277
-
278
- * ActiveRecord 4.1.7 support (Tom Hughes)
279
- * Extract CPK methods to its own module and extending instead of opening the singleton class
280
- which fixes Marshal#dump (Nicolás Hock Isaza)
281
-
282
- == 7.0.11 (2014-10-10)
283
-
284
- * ActiveRecord 4.1.6 support (Tom Hughes, Charlie Savage)
285
- * Verify MariaDB support and update docs (Isi Robayna)
286
- * Postgresql binary column support (Piotr Gębala)
287
- * Fix deleting of records from collection association (akeuk and Charlie Savage)
288
- * Fix invalid include (shiro16)
289
- * Improve tests (Yann Marquet)
290
-
291
- == 7.0.10 (2014-08-07)
292
-
293
- * Update attribute dirty methods to allow attribute *_was
294
- fields to be calculated correctly for enum fields (Zachary Salzbank)
295
- * Update read/write methods to match latest version of ActiveRecord (Charlie Savage)
296
-
297
- == 7.0.9 (2014-08-03)
298
-
299
- * Second attemp at fixing instantiation of has_many records via :includes that use composite keys - this
300
- time take into account no target records (Charlie Savage)
301
-
302
- == 7.0.8 (2014-08-03)
303
-
304
- * Fix instantiation of has_many records via :includes that use composite keys (Charlie Savage)
305
-
306
- == 7.0.7 (2014-07-29)
307
-
308
- * Add back support for calling find like this (Sammy Larbi):
309
-
310
- Membership.find('1,1')
311
-
312
- == 7.0.7 (2014-07-29)
313
-
314
- * Add back support for calling find like this (Sammy Larbi):
315
-
316
- Membership.find('1,1')
317
-
318
- == 7.0.6 (2014-07-22)
319
-
320
- * Change the way we override ActiveRecord::Persistence to call sequence of included modules such
321
- as callbacks (Charlie Savage)
322
-
323
- == 7.0.5 (2014-07-21)
324
-
325
- * Remove overriden Postgresql adapter code (Charlie Savage)
326
-
327
- == 7.0.4 (2014-07-09)
328
-
329
- * Fix overriding of Relation#where_values_hash (Pavel)
330
- * Add travis CI support (Pavel)
331
- * Run AR's original relation_for_destroy when primary key is not composite (Pavel)
332
-
333
- == 7.0.3 (2014-07-04)
334
-
335
- * Fixes for Rails 4.1.2+ compatibility (Tom Hughes)
336
- * Nested attribute fix (Sammy Larb)
337
- * Test fixes (Sammy Larb)
338
- * Fixes instantiating join records (Charlie Savage)
339
-
340
- == 7.0.2 (2014-06-01)
341
-
342
- * Fix id_was when one of the column names is called id (Adrian Hooper)
343
- * Fix queries that use ActiveRecord objects in the where clause (Adrian Hooper)
344
-
345
- == 7.0.1 (2014-05-27)
346
-
347
- * Fix setting of timestamps automatically by Rails (Charlie Savage)
348
-
349
- == 7.0.0 (2014-05-26)
350
-
351
- * Active Record 4.1 support! (Charlie Savage, Tom Hughes, Simon South)
352
-
353
- Note there is one big api change. Previously, CPK supported both of these calls:
354
-
355
- Membership.find(1,1)
356
- Membership.find([1,1])
357
-
358
- The first one no longer works. It was removed because it made the internal code simpler
359
- and makes the intention of the code clearer (especially when finding multiple records).
360
- If this change causes too much pain then please submit a ticket on Github.
361
-
362
- == 6.0.08 (2015-01-24)
363
-
364
- * Fix habtm association #delete_records (Uros Jurglic)
365
- * Support optimistic locking (Toshio Maki)
366
- * Remove singleton classes on CPK relations (Nicolás Hock Isaza)
367
-
368
- == 6.0.7 (2014-10-06)
369
-
370
- * Support Rails 4.0.6 (Tom Hughes)
371
-
372
- == 6.0.6 (2014-05-26)
373
-
374
- * Don't refer to deprecated set_primary_keys in README (Henare Degan)
375
- * Fix gemspec dependency (Charlie Savage)
376
-
377
- == 6.0.5 (2014-05-20)
378
-
379
- * Removed debugging output (Dan Draper)
380
- * Fixes to ensure that has_one associations work correctly (Dan Draper)
381
- * Fix postgres db migration failure since no result is returned in some cases (seashell-qd)
382
- * Fix exception raised in method "id=" (seashell.qd@hotmail.com)
383
-
384
- == 6.0.3 (2014-04-28)
385
-
386
- * Fixes setting of primary key when CPK is not used for a given model (see #191)
387
-
388
- == 6.0.2 (2014-04-28)
389
-
390
- * Fixes relating to ActiveRecord 4.0.x compatibility (Dan Draper)
391
- * Ensure that primary key is set on instance when creating new records (Dan Draper)
392
-
393
- == 6.0.1 (2013-11-29)
394
-
395
- * Handle records == :all in HasManyAssociation#delete_records. Without this calling
396
- delete or clear on a has_many assocation can result in an exception (Tom Hughes)
397
- * Don't include cpk key as an attributes - fixes json serialization - #168 (Charlie Savage)
398
- * Fix tests running on ruby 1.9.3 (Charlie Savage)
399
- * Update nested_attributes to work with activerecord 4.0.x (Nick DeLuca)
400
-
401
- == 6.0.0 (2013-08-04)
402
- * ActiveRecord 4.0 support (Sammy Larbi)
403
-
404
- == 5.0.13 2013-04-27
405
- * Batch query improvements (Jordan Byron)
406
- * Support nested attributes (aiasfina and Charlie Savage)
407
-
408
- == 5.0.12 2013-01-21
409
- * Fix HasManyAssociation foreign_key_present? method to work with non CPK assocations (Charlie Savage)
410
-
411
- == 5.0.11 2013-01-19
412
- * Patch HasManyAssociation foreign_key_present? method to work with array of keys (tbeauvais)
413
- * Patch reverse_sql_order method to break apart CPKs (tbeauvais)
414
- * Add test and fix for nested_attributes update (Dinshaw Gobhai)
415
- * Add test and fix for to_sym exception (Dinshaw Gobhai)
416
- * Add missing timestamp columns for mysql test_touch.rb (Dinshaw Gobhai)
417
-
418
- == 5.0.10 2012-11-21
419
- * ActiveRecord 3.2.9 compatability (Tom Hughes, Chris Heald, Jack Tang)
420
- * Add support for find_in_batches (Charlie Savage)
421
- * Add support for touch method (Macario Ortega)
422
- * Remove symbolized representation of primary keys to be consistent with ActiveRecord (Tiago Cardoso)
423
- * Update destroy method to use hash of primary keys over an array. This allows the proper SQL
424
- (using IS NULL) to be generated when one of the primary key attributes is nil (Scott Hunter).
425
-
426
- == 5.0.9 2012-09-29
427
- * Enable tests for MS SQL Servder (Enderson Maia)
428
- * Update ActiveRecord::Base#initialize_dup override in line with ActiveRecord::Base 3.2.5+ (Lucas Maxwell)
429
- * Require postgresql_adapter.rb also when using activerecord-postgis-adapter (Torsti Schulz)
430
- * Make cpk_in_predicate build a simple IN when possible (Tom Hughes)
431
- * Fixed problem loading jdbcpostgresql adapter (Troy Caldwell)
432
- * Add support for counter cache (Charlie Savage)
433
- * Fix recreating postgresql database (Charlie Savage)
434
- * Update dependency to ActiveRecord 3.2.8 or higher (Charlie Savage)
435
-
436
- == 5.0.8 2012-07-01
437
- * Enabled tests for MS SQL Server (Enderson Maia)
438
- * Update establish_connection to work with Rails 3.2.6 (Ivan Schneider)
439
- * Fix typos in rake tasks names in README_tests.rdoc (Ivan Schneider)
440
- * Fix problem with deleting non-CPK in Rails 3.2.5 (Sammy Larbi)
441
- * Fixes relationship deletion for HABTM in Rails when it passes :all flag instead of
442
- an array of IDs. Also adds new tests and test fixtures (Sammy Larbi)
443
- * Change mysql db creation to execute one statement each time, since in some setups
444
- it will not run multiple statements (Sammy Larbi)
445
- * Fix multiple assignments to same column due to duplicate keys in @changed_attributes.
446
- Includes test fixes (Jan Vlnas)
447
-
448
- == 5.0.7 2012-06-03
449
- * Fixed bug where validates_uniqueness failed for 3 or more primary keys. (Charlie Savage)
450
-
451
- == 5.0.6 2012-05-20
452
- * Fixed bug where setting a belongs_to association to nil would raise an error (Tyler Rick)
453
- * Remove special case code for 1 column selects and just choose to use Rails version of the
454
- method unless we need ours to deal with an Array (Sammy Larbi)
455
- * Change count tests to actually check for distinct, fix resulting error it
456
- demonstrated in the code (Sammy Larbi)
457
- * Specify mysql2 driver by default (Charlie Savage)
458
- * Update sqlite tests to run on Windows (Charlie Savage)
459
-
460
- == 5.0.5 2012-05-05
461
- * Count without slower subquery in cases where that is possible (Sammy Larbi)
462
- * When you call association.build for a has_many association that uses a
463
- composite foreign key, the newly built child record should have the values
464
- in its belongs_to foreign_key populated from its owner's values (Tyler Rick).
465
- * Removed test_has_many_with_primary_key method that wasn't being used because
466
- another method by the same name was defined below it (Tyler Rick).
467
- * Fixed a bug that was causing object.changes to raise TypeError (Tyler Rick)
468
- * Fix error when running rake mysql:rebuild_databases (Tyler Rick)
469
- * to_param should join with comma instead of minus sign (Tsutomu Kuroda)
470
- * Fix the "Factories" section of README.rdoc (Tsutomu Kuroda)
471
-
472
- == 5.0.4 2012-03-23
473
- * Update ActiveRecord::AttributeMethods#Write for Rails 3.2.2 (Travis Warlick)
474
-
475
- == 5.0.4 2012-03-23
476
- * Yanked
477
-
478
- == 5.0.2 2012-03-16
479
- * Use .rdoc extension on RDoc files (Elia Schito)
480
- * Update documentation to use self.primary_keys instead of set_primary_keys (Miguel Fonseca)
481
- * Added tests for comparing composite ids (Jim Jones)
482
- * Updating the README for clarity (Brett Fishman)
483
- * Fix method signature mismatch with active_record (Miguel Fonseca)
484
- * Fix ref in README (Elia Schito)
485
- * Add test for habm create (Charlie Savage)
486
-
487
- == 5.0.1 2012-02-13
488
- * Fix deprecation warning that was exactly backwards (Tom Hughes)
489
- * Fix primary_keys handling in models that inherit from other models
490
- but don't redefine their primary_key. Problem was the inherited
491
- models didn't correctly reference their parents primary_keys (Charlie Savage)
492
-
493
- == 5.0.0 2012-02-12
494
- * Fix tests so they pass on MySql (Charlie Savage)
495
- * Fix calculations to work with duplicate column names (cleesmith)
496
- * Switch rake tasks for Postgresql and MySql to use ActiveRecord API for
497
- creating and dropping databases (Charlie Savage)
498
- * Follow AR 3.2 lead and introduce self.primary_keys and deprecate set_primary_keys (Charlie Savage)
499
- * Switch from set_primary_key to self.primary_key= to avoid Rails deprecation (Charlie Savage)
500
- * Fix issue when using multiple database connections (David Doan)
501
- * Fix homepage in gemspec and remove email address (Charlie Savage)
502
- * Add support for string keys to exists? (Jan Vlnas)
503
- * Fix typo (Jason Karns)
504
-
505
- == 5.0.0.rc1 2012-01-16
506
- * ActiveRecord 3.2 support
507
-
508
- == 4.1.2 2012-01-12
509
- * Helper to allow the same tests to be used for both Oracle and other DBs
510
- by replacing quoted identifiers with all-caps equivalents on Oracle (Rhett Sutphin)
511
- * Update Oracle tests (Rhett Sutphin)
512
-
513
- == 4.1.1 2011-08-31
514
- * Support for AR 3.1.1
515
- * Make polymorphic belongs_to work in rails 3.1.1 (Tom Hughes)
516
- * Eliminate relative paths from the test suite (Rhett Sutphin)
517
- * Minor improvements to the CPK test runner w/o relative path changes (Rhett Sutphin)
518
- * Remove stray puts (Rhett Sutphin)
519
- * Allow AR logs to go to a file when running tests. This commit allows you to
520
- specify a file to use instead via the CPK_LOGFILE environment variable.
521
- STDOUT is still the default. (Rhett Sutphin)
522
- * Use ADAPTER env variable to select database to test. For example:
523
-
524
- ADAPTER=sqlite3 ruby test/test_suite.rb
525
- (Rhett Sutphin)
526
-
527
- * Eliminate constant redef warnings during test runs (Rhett Sutphin)
528
- * Add missing fixture declarations (Rhett Sutphin)
529
- * Standardize on integer PKs in polymorphic fixtures (Rhett Sutphin)
530
- * Fix tiny file name typos (Buck)
531
-
532
- == 4.0.0 2011-08-31
533
- * Support for AR 3.1
534
-
535
- == 4.0.0.beta9 2011-08-22
536
- * Fix eager-loading in AR 3.1.rc6.
537
-
538
- == 4.0.0.beta9 2011-082-22
539
- * Fix eager-loading in AR 3.1.rc6.
540
-
541
- == 4.0.0.beta8 2011-082-22
542
- * Sqlite 3 fixes (Jan Vlnas)
543
- * Fixes for to_key method (Jan Vlnas)
544
- * Compatible with Rails 3.1 RC6 (Ari Epstein, Travis Warlick)
545
-
546
- == 4.0.0.beta7 2011-07-26
547
- * Compatible with Rails 3.1 RC5 (TycoooN)
548
- * Do not use Arel::Nodes::Or to combine predicates because it creates a
549
- deeply nested stack that blows up.
550
-
551
- == 4.0.0.beta4 2011-07-22
552
- * Compatible with Rails 3.1 stable branch. No longer works with RC4 (Charlie Savage)
553
- * Do not require loading of postgresql gem unless needed (Charlie Savage)
554
-
555
- == 4.0.0.beta3 2011-07-08
556
- * Fix the ability to update the values of a primary key (Travis Warlick)
557
- * Support port and host configurations for postgres rake tasks (Travis Warlick)
558
-
559
- == 4.0.0.beta2 2011-06-21
560
- * ActiveRecord 3.1 RC4 compatibility.
561
- * Fix instantiation of CPK models with included associations
562
-
563
- == 4.0.0.beta1 2011-06-09
564
- * ActiveRecord 3.1 RC1 compatibility. This required a significant rewrite due to
565
- all the changes in AR 3.1 versus 3.0.
566
-
567
- == 3.1.11 2012-05-20
568
- Fix AssociationReflection#derive_primary_key for belongs_to relationships (Heinrich Lee Yu).
569
-
570
- == 3.1.10 2011-07-08
571
- * Bugfix for belongs_to with includes (John Ash)
572
- * Improved tests for calling clear on a habtm association, which involved (David Rueck)
573
- * Fixed bug that resulted in unrelated records being deleted when calling (David Rueck)
574
- * Output deprecation warnings about extra columns in join table CPK-aware (David Rueck)
575
-
576
-
577
- == 3.1.9 2011-06-04
578
- * Improve HABTM association tests (David Rueck)
579
- * Remove deprecated Rake tasks (Charlie Savage)
580
-
581
- == 3.1.8 2011-05-26
582
- * Fix calling clear on a HABTM associate (David Rueck)
583
-
584
- == 3.1.7 2011-05-26
585
- * Support regular AR models having one or many composite models (Jacques Fuentes)
586
- * Minor test cleanup (Charlie Savage)
587
- * Make version requirements more explicit (Charlie Savage)
588
- * Remove Arel extensions used for calculations (Charlie Savage)
589
- * Fix test that included wrong error constant
590
-
591
- == 3.1.6 2011-04-03
592
- * Updated belongs_to association to be a bit more flexible with non-CPK (Charlie Savage)
593
- base models (Jacques Fuentes)
594
- * Fix uniqueness check (David Rueck)
595
- * Fix write issue when one of they keys in a composite key is
596
- called id (Tom Hughes)
597
-
598
-
599
- == 3.1.5 2011-03-24
600
- * Fix simple calculation methods (Charlie Savage)
601
- * Fix instantiation of cpk records via associations (Charlie Savage)
602
- * Fix Relation#delete (Charlie Savage)
603
- * Fix Relation#destroy (Charlie Savage)
604
-
605
-
606
- == 3.1.4 2011-03-06
607
- * Support ActiveRecord 3.0.5 - interpolate_sql was removed and
608
- replaced by interpolate_and_sanitize_sql (Charlie Savage)
609
- * Fix persistence methods to support destroy callbacks (Charlie Savage)
610
- * Support rake 0.9.0 beta (Charlie Savage)
611
-
612
-
613
- == 3.1.2 2011-02-26
614
- * Add back in support for find('3,3') which makes it possible to
615
- do find(params[id]). This implementation is simpler than earlier version
616
- improving code readability.
617
- * Support for finding multiple records either via find([1,2], [3,4])
618
- * Remove to_composite_ids method which is no longer needed
619
-
620
-
621
- == 3.1.1 2011-02-07
622
- * Implement id_before_type_cast (Jason Lewis)
623
- * Add in tests for Model.includes(:other_model)
624
- * Fix object comparison with nil in composite primary keys (StackNG)
625
- * Make it easier to run tests with different database adapters (Toby Cabot)
626
- * Fix AssociationReflection#primary_key_name for polymorphic relationships (Dave Doan)
627
-
628
-
629
- == 3.1.0 2010-12-17
630
- * Add back in rake test tasks (Toby Cabot)
631
- * Add support for multiple string composite keys (wouter)
632
- * Remove support for find('3,3'). Instead use find([3,3])
633
-
634
-
635
- == 3.0.9 2010-12-04
636
- * Fix up support for composite key fixtures.
637
-
638
-
639
- == 3.0.8 2010-12-04
640
- * Fix for translation issue in unique validation. Thanks to Daniel Berger for the patch.
641
- * Fix to support child classes of composite primary key models
642
-
643
-
644
- == 3.0.7 2010-11-29
645
- * Fix has and belongs to many associations implementation.
646
-
647
-
648
- == 3.0.6 2010-11-29 (yanked)
649
- * Add full support for has and belongs to many associations.
650
-
651
-
652
- == 3.0.5 2010-11-28 (yanked)
653
- * Apply patch from Marian Rudzynski for fixing up attribute_methods/primary_key
654
- * Apply patch from Toby Cabot to fix up various sqlite3 issues
655
- * Add partial support for has and belongs to many associations. Currently a cpk model
656
- can have a habtm, but a normal model cannot have a habtm to a cpk model (its actually
657
- not too hard to add, but one step at a time...)
658
-
659
-
660
- == 3.0.4 2010-11-21
661
- * Support deleting records when dependent is set to :delete_all
662
- * Switch the method #id to return a CompositeKeys instance (thus going back to how
663
- this was done in previous CPK versions)
664
-
665
-
666
- == 3.0.3 2010-11-19
667
- * Support ActiveRecord 3.0.3 and Arel 2+
668
- * Require ActiveRecord 3.0.3 as minimum dependency
669
- * Fix double quoting issue with table names - thanks to Kevin Motschiedler for a patch.
670
- * Fix SQLiteAdapter class inheritance issue - thanks to Brandon Hauff for a patch.
671
-
672
-
673
- == 3.0.1.b3 2010-11-07
674
-
675
- * Fix bug in joining to :has_one association
676
- * Added support for Model.find(:last)
677
- * Added support for finding via associations with
678
- limited ids. For example find(:include => :foo, :limit => 1)
679
-
680
- == 3.0.1.b2 2010-11-06
681
-
682
- * Port to Rails 3.0 and Ruby 1.9.2
683
-
684
- * Backwards compatability issues
685
- + You can no longer define a composite primary key with a single field. If you
686
- try, your model will just default to a standard active record model. Removing
687
- this corner case simplified the code.
688
- + Removed CompositePrimaryKeys::CompositeKeys. This was done so that the #to_s
689
- method on composite ids, such as [1,2], returns "[1, 2]". This in turns
690
- reduces the amount of core Rails code that needs to be overridden.
691
- + Setting attribute values by string is no longer supported. For example, this
692
- no longer works:
693
- my_record[[:main_id, :secondary_id]] = '1,2'
694
- Instead, do this:
695
- my_record[[:main_id, :secondary_id]] = [1,2]
696
- Once again, this was done to reduce the amount of overridden Rails code
697
- + At the moment, complex finds with nested arrays do not work. For example
698
- find([[1,2], [3,4]))
699
- + Count methods no longer work. For example, Tariff.count(:include => :product_tariffs)
700
- in the TestAssociations#test_count test returns an error. This is because Rails 3.0
701
- uses Arel to perform such calculations, and its not obvious (at least to me) how to
702
- hook into this new mechanism to support tables with composite keys.
703
- + The TestPolymorphic#test_polymorphic_has_many_through is currently failing, but this
704
- looks like an ActiveRecord 3.0 bug to me.
705
-
706
- == 2.3.5.1 2010-02-13
707
-
708
- * Resolved "warning: already initialized constant HasManyThroughCantAssociateThroughHasManyReflection" [Titi Ala'ilima]
709
-
710
- == 2.3.5 2009-12-16
711
-
712
- * Fixed several bugs in has_one and has_many associations when :primary_key specified [kpumuk]
713
-
714
- == 2.3.2 2009-07-16
715
-
716
- * explicitly load associations.rb due to some getting an unitialized constant error
717
-
718
- == 2.3.2 2009-05-28
719
-
720
- * get tests working again with AR 2.3.2
721
-
722
- == 2.2.1 2009-01-21
723
-
724
- * fix ActiveRecord#exists? to work when passing conditions instead of ids
725
-
726
- == 2.2.0 2008-10-29
727
-
728
- * Rails 2.2.0 compatibility
729
-
730
- == 1.1.0 2008-10-29
731
-
732
- * fixes to get cpk working for Rails 2.1.2
733
-
734
- == 1.0.10 2008-10-22
735
-
736
- * add composite key where clause creator method [timurv]
737
-
738
- == 1.0.9 2008-09-08
739
-
740
- * fix postgres tests
741
- * fix for delete_records when has_many association has composite keys [darxriggs]
742
- * more consistent table/column name quoting [pbrant]
743
-
744
- == 1.0.8 2008-08-27
745
-
746
- * fix has_many :through for non composite models [thx rcarver]
747
-
748
- == 1.0.7 2008-08-12
749
-
750
- * fix for the last fix -- when has_many is composite and belongs_to is single
751
-
752
- == 1.0.6 2008-08-06
753
-
754
- * fix associations create
755
-
756
- == 1.0.5 2008-07-25
757
-
758
- * fix for calculations with a group by clause [thx Sirius Black]
759
-
760
- == 1.0.4 2008-07-15
761
-
762
- * support for oracle_enhanced adapter [thx Raimonds Simanovskis]
763
-
764
- == 1.0.3 2008-07-13
765
-
766
- * more fixes and tests for has many through [thx Menno van der Sman]
767
-
768
- == 1.0.2 2008-06-07
769
-
770
- * fix for has many through when through association has composite keys
771
-
772
- == 1.0.1 2008-06-06
773
-
774
- * Oracle fixes
775
-
776
- == 1.0.0 2008-06-05
777
-
778
- * Support for Rails 2.1
779
-
780
- == 0.9.93 2008-06-01
781
-
782
- * set fixed dependency on activerecord 2.0.2
783
-
784
- == 0.9.92 2008-02-22
785
-
786
- * Support for has_and_belongs_to_many
787
-
788
- == 0.9.91 2008-01-27
789
-
790
- * Incremented activerecord dependency to 2.0.2 [thx emmanuel.pirsch]
791
-
792
- == 0.9.90 2008-01-27
793
-
794
- * Trial release for rails/activerecord 2.0.2 supported
795
-
796
- == 0.9.1 2007-10-28
797
-
798
- * Migrations fix - allow :primary_key => [:name] to work [no unit test] [thx Shugo Maeda]
799
-
800
- == 0.9.0 2007-09-28
801
-
802
- * Added support for polymorphs [thx nerdrew]
803
- * init.rb file so gem can be installed as a plugin for Rails [thx nerdrew]
804
- * Added ibm_db support [thx K Venkatasubramaniyan]
805
- * Support for cleaning dependents [thx K Venkatasubramaniyan]
806
- * Rafactored db rake tasks into namespaces
807
- * Added namespaced tests (e.g. mysql:test for test_mysql)
808
-
809
- == 0.8.6 / 2007-6-12
810
-
811
- * 1 emergency fix due to Rails Core change
812
- * Rails v7004 removed #quote; fixed with connection.quote_column_name [thx nerdrew]
813
-
814
- == 0.8.5 / 2007-6-5
815
-
816
- * 1 change due to Rails Core change
817
- * Can no longer use RAILS_CONNECTION_ADAPTERS from Rails core
818
- * 7 dev improvement:
819
- * Changed History.txt syntax to rdoc format
820
- * Added deploy tasks
821
- * Removed CHANGELOG + migrated into History.txt
822
- * Changed PKG_NAME -> GEM_NAME in Rakefile
823
- * Renamed README -> README.txt for :publish_docs task
824
- * Added :check_version task
825
- * VER => VERS in rakefile
826
- * 1 website improvement:
827
- * website/index.txt includes link to "8 steps to fix other ppls code"
828
-
829
- == 0.8.4 / 2007-5-3
830
-
831
- * 1 bugfix
832
- * Corrected ids_list => ids in the exception message. That'll teach me for not adding unit tests before fixing bugs.
833
-
834
- == 0.8.3 / 2007-5-3
835
-
836
- * 1 bugfix
837
- * Explicit reference to ::ActiveRecord::RecordNotFound
838
- * 1 website addition:
839
- * Added routing help [Pete Sumskas]
840
-
841
- == 0.8.2 / 2007-4-11
842
-
843
- * 1 major enhancement:
844
- * Oracle unit tests!! [Darrin Holst]
845
- * And they work too
846
-
847
- == 0.8.1 / 2007-4-10
848
-
849
- * 1 bug fix:
850
- * Fixed the distinct(count) for oracle (removed 'as')
851
-
852
- == 0.8.0 / 2007-4-6
853
-
854
- * 1 major enhancement:
855
- * Support for calcualtions on associations
856
- * 2 new DB supported:
857
- * Tests run on sqlite
858
- * Tests run on postgresql
859
- * History.txt to keep track of changes like these
860
- * Using Hoe for Rakefile
861
- * Website generator rake tasks
862
-
863
- == 0.3.3
864
- * id=
865
- * create now work
866
-
867
- == 0.1.4
868
- * it was important that #{primary_key} for composites --> 'key1,key2' and not 'key1key2' so created PrimaryKeys class
869
-
870
- == 0.0.1
871
- * Initial version
872
- * set_primary_keys(*keys) is the activation class method to transform an ActiveRecord into a composite primary key AR
873
- * find(*ids) supports the passing of
874
- * id sets: Foo.find(2,1),
875
- * lists of id sets: Foo.find([2,1], [7,3], [8,12]),
876
- * and even stringified versions of the above:
877
- * Foo.find '2,1' or Foo.find '2,1;7,3'
1
+ == 12.0.10 (2021-05-09)
2
+ * Support using the #id method on records with primary keys that also have an :id attribute.
3
+
4
+ == 12.0.9 (2021-02-22)
5
+ * Third time is hopefully the charm on MySQL/MariaDB auto increment fix
6
+
7
+ == 12.0.8 (2021-02-16)
8
+ * Revert to previous MySQL/MariaDB auto increment fix
9
+
10
+ == 12.0.7 (2021-02-15)
11
+ * Switch to GitHub actions (ta1kt0me)
12
+ * Fix MySQL/MariaDB query cache issue bug introduced in version 12.0.3 - see #539 (Charlie Savage)
13
+ * Do a better job of supporting composite keys with an auto incrementing field for
14
+ MySQL and MariaDB (Charlie Savage)
15
+
16
+ == 12.0.6 (2021-01-04)
17
+ * Fix issue when calling in_batches without a block (Charlie Savage)
18
+
19
+ == 12.0.5 (2020-12-31)
20
+ * Finally issue with SQLServer when tables are marked as exclude_output_inserted. See #535. (Charlie Savage)
21
+
22
+ == 12.0.4 (2020-12-30)
23
+ * Fix compatibility with Ruby Ruby 2.6 and below (ta1kt0me)
24
+ * Finally get SQLServer mass updates and deletes working (Charlie Savage)
25
+ * Fix MySQL mass updates and deletes that were broken by 12.0.3 (Charlie Savage)
26
+
27
+ == 12.0.3 (2020-11-11)
28
+ * Prevents infinite loops with gems which modify the 'attributes' method (Nicholas Guarino)
29
+ * Improve delete_all and update_all queries (Charlie Savage)
30
+ * Improve Oracle support (Charlie Savage)
31
+ * Improve SQL Server support. Note delete_all and update_all queries still do not work due to
32
+ quirks in SQL Server syntax (Charlie Savage)
33
+ * Improve support for polymorphic associations (Charlie Savage)
34
+ * Update fixtures and tests to include a model that uses an :id column as part of a composite
35
+ key (Charlie Savage)
36
+ * Fixed bug where id values were not correctly mapped between primary and foreign keys in associations (Charlie Savage)
37
+ * Cleanup how the gem is loaded (Charlie Savage)
38
+ * Remove older, unused or minimally used fixtures (Charlie Savage)
39
+
40
+ == 12.0.2 (2020-05-19)
41
+ * Remove deprecation warning for Ruby 2.7 due to keyword parameters (Alexandru Anca )
42
+ * Use sqlite for default in tests (Charlie Savage)
43
+ * Modernize gem tests by using Bundler (Charlie Savage)
44
+ * Update travis for ruby 2.7 (Charlie Savage)
45
+ * Port "Fix create record where one or more of the primary keys has a default value" from ar 5.2 branch (Charlie Savage)
46
+ * Remove extra argument from sql_for_insert for SqlServer (tohae)
47
+
48
+ == 12.0.1 (2019-11-25)
49
+ * Convert attribute names to strings before checking for them in has_attribute? (Daniel de Haas)
50
+ * Update the comment referring to the overridden Rails code (Daniel de Haas)
51
+
52
+ == 12.0.0 (2019-09-03)
53
+ * Update to ActiveRecord 6.0 (Hiroshi Kajisha, Alexandru Anca, Charlie Savage, Sammy Larbi)
54
+ * Update travis setup (Olle Jonsson, Charlie Savage)
55
+
56
+ ==11.3.1 (2020-04-01)¶
57
+ * Fix overriding AbstractReflection for activerecord 5.2.4 (Sergey Semyonov)
58
+ * Fix handling CPK with fields containing comma (Sergey Semyonov)
59
+ * Fixed incorrect SQL condition for joining by CPK (Sergey Semyonov)
60
+ * Update travis.yml file (Sergey Semyonov)
61
+ * Add tests for composite keys with default values (Daniel Wiklund)
62
+ * Fix create record where one or more of the primary keys has a default value (Daniel Wiklund)
63
+
64
+ == 11.2.0 (2019-03-16)
65
+ * When creating new records, honor composite key autoincrementing fields if possible (Antti Pitkänen)
66
+ * Update Association#run to more closely match ActiveRecord (Fabian Mersch)
67
+ * Updates needed due to changes in ActiveRecord (Sammy Larbi)
68
+ * Fix construct_join_attributes method (Brad Slaughter)
69
+ * Fix destroy_all on HABTM (Brad Slaughter)
70
+
71
+ == 11.1.0 (2018-11-14)
72
+ * Support ActiveRecord 5.2.1 (S1Artem Tselovalnikov, Caleb Buxton, Charlie Savage)
73
+ * Fix counter cache (Tomonori Murakami)
74
+ * Fix error on autosave has_one relations when the :primary_key option is set (Charlie Savage)
75
+
76
+ == 11.0.3 (2018-06-25)
77
+ * Fix overridden attribute readers and writers (Charlie Savage)
78
+
79
+ == 11.0.2 (2018-06-24)
80
+ * Remove no longer needed overrides (Charlie Savage)
81
+
82
+ == 11.0.1 (2018-06-20)
83
+ * Fix in_batches (Urmo Rae)
84
+ * Fix apply_join_dependency (Charlie Savage)
85
+
86
+ == 11.0.0 (2018-06-18)
87
+ * Update to ActiveRecord 5.2 (Charlie Savage)
88
+ * Fixes for AR 5.2 persistence changes (Erik Rothoff, Charlie Savage)
89
+ * Fix system stack error (i2bskn)
90
+
91
+ == 11.0.0.rc2 (2018-02-25)
92
+
93
+ * Fix mysql deletion failure (Charlie Savage)
94
+ * Clean test run for postgresql, mysql and sqlite3 (Charlie Savage)
95
+
96
+ == 11.0.0.rc1 (2018-02-25)
97
+
98
+ * Update to ActiveRecord 5.2.rc1 (Charlie Savage)
99
+ * Fix uniquness check (Charlie Savage)
100
+
101
+ == 11.0.0.beta4 (2018-01-08)
102
+
103
+ * Try again on Calculations#execute_simple_calculation for ActiveRecord 5.2.beta2 (Charlie Savage)
104
+
105
+ == 11.0.0.beta3 (2018-01-07)
106
+
107
+ * Fix typo in Readme.doc (Lopez Lucien)
108
+ * Fix Calculations#execute_simple_calculation for ActiveRecord 5.2.beta2 (Charlie Savage)
109
+
110
+ == 11.0.0.beta2 (2017-12-10)
111
+
112
+ * Minor updates for ActiveRecord 5.2.beta2 support (Charlie Savage)
113
+
114
+ == 11.0.0.beta1 (2017-12-03)
115
+
116
+ * ActiveRecord 5.2.beta2 support (Charlie Savage)
117
+
118
+ == 10.0.5 (2018-06-24)
119
+ * Fix in_batches (Urmo Rae)
120
+
121
+ == 10.0.4 (2018-06-17)
122
+
123
+ * Lock mysql2 gem to 0.4.x (Le Trung Kien)
124
+ * Set inversion when using preload (Le Trung Kien)
125
+ * Fixes for AR 5.1.6 (Tim Morgan)
126
+
127
+ == 10.0.3 (2018-02-25)
128
+
129
+ * Require a minimum of activerecord version 5.1.5 (Tom Hughes)
130
+
131
+ == 10.0.2 (2017-12-02)
132
+
133
+ * Fix frozen string mutation for mysql (Sergey Sein)
134
+ * Fix autosave for belongs_to associations (Fabian Mersch)
135
+ * Require a minimum of activerecord version 5.1.4 (Charlie Savage)
136
+
137
+ == 10.0.1 (2017-10-08)
138
+
139
+ * Fixed an error that happened when a table attribute had the same name as the table (Taishi Kasuga)
140
+
141
+ == 10.0.0 (2017-10-08)
142
+
143
+ * Support ActiveRecord 5.1.x (Pinak Thakkar, Jordan Owens)
144
+ * Fix Paper Trail compatibility (Sean Linsley)
145
+ * Fix typo in Readme (Mike Gunderloy)
146
+ * Improved sql server support (Artyom Nikolaev)
147
+
148
+ == 9.0.10 (2018-06-24)
149
+
150
+ * Fix AR 5.0.7 (Jordan Owens)
151
+
152
+ == 9.0.8 (2017-10-11)
153
+
154
+ * Fix Paper Trail compatibility (Sean Linsley)
155
+
156
+ == 9.0.7 (2017-05-22)
157
+
158
+ * Update sqlite3 to support deletes and updates (Charlie Savage)
159
+ * Specify version for sql server gem so it works with Rails 5.0 (Charlie Savage)
160
+ * Use `datetime` datatype to address Invalid default value for updated_at (Yasuo Honda)
161
+ * Fix ORA-00900 error when it attempts to execute blank statement (pustomytnyk)
162
+ * Override ActiveRecord::Associations::CollectionAssociation#ids_reader (pustomytnyk)
163
+ * Only define #primary_keys if #primary_keys=(value) is called (Charlie Savage)
164
+ * Change `timestamp` to `datetime` for MySQL as ActiveRecord timestamps type does (Oriol Collel)
165
+ * Fix incorrect case statement to get PK for SQLServer (Oriol Collel)
166
+ * Fixes random failures in test_preload_of_polymorphic_association (Boris Peterbarg)
167
+
168
+ == 9.0.6 (2017-01-08)
169
+
170
+ * Uncomment tests (Sammy Larbi)
171
+ * Update readme (Charlie Savage)
172
+
173
+ == 9.0.5 (2017-01-02)
174
+
175
+ * Don't nest PK twice when looking up id, fixes #319 (Kerey Roper)
176
+ * Simplify database setup for tests (Charlie Savage)
177
+ * Revamp gem management (Charlie Savage)
178
+ * Add support for Relation#update_all when using joins (Charlie Savage)
179
+ * Add erb support to test database.yml files (Charlie Savage)
180
+ * Sqlserver fixes for ordering (Charlie Savage)
181
+ * Sqlserver refresh (Charlie Savage)
182
+ * Oracle refresh (Charlie Savage)
183
+ * Fix delete_all for MySql (Charlie Savage)
184
+ * Added test cases for preloading associations with and without conditions (Martin Körner)
185
+ * Revamp single association handling to correctly setup SQL binds (Charlie Savage)
186
+ * Remove references to ActiveModel - #352 (Charlie Savage)
187
+ * Fixes for #232, #359, #367 and #371 (Charlie Savage)
188
+
189
+ == 9.0.4 (2016-08-17)
190
+ * Do not set associations to readonly. See https://github.com/rails/rails/issues/24093 (Charlie Savage)
191
+
192
+ == 9.0.2 (2016-08-10)
193
+ * Fix delete_all when used with a join (Charlie Savage)
194
+
195
+ == 9.0.1 (2016-07-27)
196
+ * Create OR predicates in a nicely balanced tree fixing #320 (Nathan Samson)
197
+
198
+ == 9.0.0 (2016-07-06)
199
+ * Support connection_specification_name in rails5.0.0.rc1 (pocari)
200
+
201
+ == 9.0.0.beta1 (2016-04-16)
202
+ * Rails 5 beta support (Sammy Larbi)
203
+
204
+ == 8.1.7 (2019-05-04)
205
+
206
+ Fix key not being an array in subquery on has_many :through (Eric Proulx)
207
+ Convert batches to arrays before continuing loop (Jeremy Mickelson)
208
+
209
+ == 8.1.6 (2017-05-20)
210
+
211
+ Query cache with bind params (ttw)
212
+ Fix TestIds#test_set_ids_string. Sqlite's serial and integer are a bit different (Boris Peterbarg)
213
+ Associations with inverse fix (Boris Peterbarg)
214
+ Fix save_has_one_association and add a test for it (Boris Peterbarg)
215
+ Fix save_belongs_to_association override (Boris Peterbarg)
216
+ Extend approach from #344 to fix autosave for has_one associations as well (Cameron Finucane)
217
+
218
+ == 8.1.5 (2017-01-01)
219
+
220
+ * Don't nest PK twice when looking up id, fixes #319 (Kerey Roper)
221
+
222
+ == 8.1.4 (2016-07-27)
223
+
224
+ * Create OR predicates in a nicely balanced tree fixing #320 (Nathan Samson)
225
+ * Fix find in batches (apurvis)
226
+
227
+ == 8.1.3 (2016-04-16)
228
+
229
+ * Make CPK work for Arel::Attributes::Attribute (Rick Xing)
230
+ * Change autosave_association.rb so that association autosave can work (Rick Xing)
231
+ * Fix exception when saving "other_ids=" with a has_many :through association where the source
232
+ association is polymorphic (Tye Shavik)
233
+ * Fix Arel::Nodes::In where left side is not a column (Tye Shavik)
234
+
235
+ == 8.1.2 (2015-12-13)
236
+
237
+ * Fix failing tests
238
+
239
+ == 8.1.1 (2015-08-04)
240
+
241
+ * Updates to make Travis CI green (Laust Rud Jacobsen)
242
+ * Travis CI support (Laust Rud Jacobsen)
243
+ * Remove overriden Base#==(comparison_object) which had a different behavior than stock AR method
244
+ for non-peristed objects (Charlie Savage)
245
+ * Update support for Uniquenes validations (Avi Leavitt)
246
+ * Remove call to verify_active_connections! which was removed from AR 4.1 (Steve Pletcher)
247
+ * Aligned the establish connection paramater handling to be similar to latest version of rails (Harish Shetty)
248
+
249
+
250
+ == 8.1.0 (2014-03-23)
251
+
252
+ * ActiveRecord 4.2.1 support (Charlie Savage)
253
+ * Change parsing of composite ids to fix #290 (Charlie Savage)
254
+ * Add sqlserver setting for test suite (Joachim Herb)
255
+ * Fix sqlserver adapater, isse #224 (Joachim Herb)
256
+ * Update readme file to include version 8.* information (David Silva)
257
+
258
+ == 8.0.1 (2014-01-24)
259
+
260
+ * Support optimistic lock and lock_version added to existing fixtures (Kirika)
261
+
262
+ == 8.0.0 (2014-01-10)
263
+
264
+ * ActiveRecord 4.2.* support (Sammy Larbi)
265
+
266
+ == 7.0.14 (2015-08-04)
267
+
268
+ * Remove overriden Base#==(comparison_object) which had a different behavior than stock AR method
269
+ for non-peristed objects (Charlie Savage)
270
+ * Update support for Uniquenes validations (Avi Leavitt)
271
+ * Remove call to verify_active_connections! which was removed from AR 4.1 (Steve Pletcher)
272
+
273
+ == 7.0.13 (2015-01-24)
274
+
275
+ * Support optimistic lock and lock_version added to existing fixtures (Kirika)
276
+ * README change to convey finding available versions (Aaron Bartell)
277
+ * Fixes indentation in product_tariffs (Zaldabus)
278
+
279
+ == 7.0.12 (2014-11-09)
280
+
281
+ * ActiveRecord 4.1.7 support (Tom Hughes)
282
+ * Extract CPK methods to its own module and extending instead of opening the singleton class
283
+ which fixes Marshal#dump (Nicolás Hock Isaza)
284
+
285
+ == 7.0.11 (2014-10-10)
286
+
287
+ * ActiveRecord 4.1.6 support (Tom Hughes, Charlie Savage)
288
+ * Verify MariaDB support and update docs (Isi Robayna)
289
+ * Postgresql binary column support (Piotr Gębala)
290
+ * Fix deleting of records from collection association (akeuk and Charlie Savage)
291
+ * Fix invalid include (shiro16)
292
+ * Improve tests (Yann Marquet)
293
+
294
+ == 7.0.10 (2014-08-07)
295
+
296
+ * Update attribute dirty methods to allow attribute *_was
297
+ fields to be calculated correctly for enum fields (Zachary Salzbank)
298
+ * Update read/write methods to match latest version of ActiveRecord (Charlie Savage)
299
+
300
+ == 7.0.9 (2014-08-03)
301
+
302
+ * Second attemp at fixing instantiation of has_many records via :includes that use composite keys - this
303
+ time take into account no target records (Charlie Savage)
304
+
305
+ == 7.0.8 (2014-08-03)
306
+
307
+ * Fix instantiation of has_many records via :includes that use composite keys (Charlie Savage)
308
+
309
+ == 7.0.7 (2014-07-29)
310
+
311
+ * Add back support for calling find like this (Sammy Larbi):
312
+
313
+ Membership.find('1,1')
314
+
315
+ == 7.0.7 (2014-07-29)
316
+
317
+ * Add back support for calling find like this (Sammy Larbi):
318
+
319
+ Membership.find('1,1')
320
+
321
+ == 7.0.6 (2014-07-22)
322
+
323
+ * Change the way we override ActiveRecord::Persistence to call sequence of included modules such
324
+ as callbacks (Charlie Savage)
325
+
326
+ == 7.0.5 (2014-07-21)
327
+
328
+ * Remove overriden Postgresql adapter code (Charlie Savage)
329
+
330
+ == 7.0.4 (2014-07-09)
331
+
332
+ * Fix overriding of Relation#where_values_hash (Pavel)
333
+ * Add travis CI support (Pavel)
334
+ * Run AR's original relation_for_destroy when primary key is not composite (Pavel)
335
+
336
+ == 7.0.3 (2014-07-04)
337
+
338
+ * Fixes for Rails 4.1.2+ compatibility (Tom Hughes)
339
+ * Nested attribute fix (Sammy Larb)
340
+ * Test fixes (Sammy Larb)
341
+ * Fixes instantiating join records (Charlie Savage)
342
+
343
+ == 7.0.2 (2014-06-01)
344
+
345
+ * Fix id_was when one of the column names is called id (Adrian Hooper)
346
+ * Fix queries that use ActiveRecord objects in the where clause (Adrian Hooper)
347
+
348
+ == 7.0.1 (2014-05-27)
349
+
350
+ * Fix setting of timestamps automatically by Rails (Charlie Savage)
351
+
352
+ == 7.0.0 (2014-05-26)
353
+
354
+ * Active Record 4.1 support! (Charlie Savage, Tom Hughes, Simon South)
355
+
356
+ Note there is one big api change. Previously, CPK supported both of these calls:
357
+
358
+ Membership.find(1,1)
359
+ Membership.find([1,1])
360
+
361
+ The first one no longer works. It was removed because it made the internal code simpler
362
+ and makes the intention of the code clearer (especially when finding multiple records).
363
+ If this change causes too much pain then please submit a ticket on Github.
364
+
365
+ == 6.0.08 (2015-01-24)
366
+
367
+ * Fix habtm association #delete_records (Uros Jurglic)
368
+ * Support optimistic locking (Toshio Maki)
369
+ * Remove singleton classes on CPK relations (Nicolás Hock Isaza)
370
+
371
+ == 6.0.7 (2014-10-06)
372
+
373
+ * Support Rails 4.0.6 (Tom Hughes)
374
+
375
+ == 6.0.6 (2014-05-26)
376
+
377
+ * Don't refer to deprecated set_primary_keys in README (Henare Degan)
378
+ * Fix gemspec dependency (Charlie Savage)
379
+
380
+ == 6.0.5 (2014-05-20)
381
+
382
+ * Removed debugging output (Dan Draper)
383
+ * Fixes to ensure that has_one associations work correctly (Dan Draper)
384
+ * Fix postgres db migration failure since no result is returned in some cases (seashell-qd)
385
+ * Fix exception raised in method "id=" (seashell.qd@hotmail.com)
386
+
387
+ == 6.0.3 (2014-04-28)
388
+
389
+ * Fixes setting of primary key when CPK is not used for a given model (see #191)
390
+
391
+ == 6.0.2 (2014-04-28)
392
+
393
+ * Fixes relating to ActiveRecord 4.0.x compatibility (Dan Draper)
394
+ * Ensure that primary key is set on instance when creating new records (Dan Draper)
395
+
396
+ == 6.0.1 (2013-11-29)
397
+
398
+ * Handle records == :all in HasManyAssociation#delete_records. Without this calling
399
+ delete or clear on a has_many assocation can result in an exception (Tom Hughes)
400
+ * Don't include cpk key as an attributes - fixes json serialization - #168 (Charlie Savage)
401
+ * Fix tests running on ruby 1.9.3 (Charlie Savage)
402
+ * Update nested_attributes to work with activerecord 4.0.x (Nick DeLuca)
403
+
404
+ == 6.0.0 (2013-08-04)
405
+ * ActiveRecord 4.0 support (Sammy Larbi)
406
+
407
+ == 5.0.13 2013-04-27
408
+ * Batch query improvements (Jordan Byron)
409
+ * Support nested attributes (aiasfina and Charlie Savage)
410
+
411
+ == 5.0.12 2013-01-21
412
+ * Fix HasManyAssociation foreign_key_present? method to work with non CPK assocations (Charlie Savage)
413
+
414
+ == 5.0.11 2013-01-19
415
+ * Patch HasManyAssociation foreign_key_present? method to work with array of keys (tbeauvais)
416
+ * Patch reverse_sql_order method to break apart CPKs (tbeauvais)
417
+ * Add test and fix for nested_attributes update (Dinshaw Gobhai)
418
+ * Add test and fix for to_sym exception (Dinshaw Gobhai)
419
+ * Add missing timestamp columns for mysql test_touch.rb (Dinshaw Gobhai)
420
+
421
+ == 5.0.10 2012-11-21
422
+ * ActiveRecord 3.2.9 compatability (Tom Hughes, Chris Heald, Jack Tang)
423
+ * Add support for find_in_batches (Charlie Savage)
424
+ * Add support for touch method (Macario Ortega)
425
+ * Remove symbolized representation of primary keys to be consistent with ActiveRecord (Tiago Cardoso)
426
+ * Update destroy method to use hash of primary keys over an array. This allows the proper SQL
427
+ (using IS NULL) to be generated when one of the primary key attributes is nil (Scott Hunter).
428
+
429
+ == 5.0.9 2012-09-29
430
+ * Enable tests for MS SQL Servder (Enderson Maia)
431
+ * Update ActiveRecord::Base#initialize_dup override in line with ActiveRecord::Base 3.2.5+ (Lucas Maxwell)
432
+ * Require postgresql_adapter.rb also when using activerecord-postgis-adapter (Torsti Schulz)
433
+ * Make cpk_in_predicate build a simple IN when possible (Tom Hughes)
434
+ * Fixed problem loading jdbcpostgresql adapter (Troy Caldwell)
435
+ * Add support for counter cache (Charlie Savage)
436
+ * Fix recreating postgresql database (Charlie Savage)
437
+ * Update dependency to ActiveRecord 3.2.8 or higher (Charlie Savage)
438
+
439
+ == 5.0.8 2012-07-01
440
+ * Enabled tests for MS SQL Server (Enderson Maia)
441
+ * Update establish_connection to work with Rails 3.2.6 (Ivan Schneider)
442
+ * Fix typos in rake tasks names in README_tests.rdoc (Ivan Schneider)
443
+ * Fix problem with deleting non-CPK in Rails 3.2.5 (Sammy Larbi)
444
+ * Fixes relationship deletion for HABTM in Rails when it passes :all flag instead of
445
+ an array of IDs. Also adds new tests and test fixtures (Sammy Larbi)
446
+ * Change mysql db creation to execute one statement each time, since in some setups
447
+ it will not run multiple statements (Sammy Larbi)
448
+ * Fix multiple assignments to same column due to duplicate keys in @changed_attributes.
449
+ Includes test fixes (Jan Vlnas)
450
+
451
+ == 5.0.7 2012-06-03
452
+ * Fixed bug where validates_uniqueness failed for 3 or more primary keys. (Charlie Savage)
453
+
454
+ == 5.0.6 2012-05-20
455
+ * Fixed bug where setting a belongs_to association to nil would raise an error (Tyler Rick)
456
+ * Remove special case code for 1 column selects and just choose to use Rails version of the
457
+ method unless we need ours to deal with an Array (Sammy Larbi)
458
+ * Change count tests to actually check for distinct, fix resulting error it
459
+ demonstrated in the code (Sammy Larbi)
460
+ * Specify mysql2 driver by default (Charlie Savage)
461
+ * Update sqlite tests to run on Windows (Charlie Savage)
462
+
463
+ == 5.0.5 2012-05-05
464
+ * Count without slower subquery in cases where that is possible (Sammy Larbi)
465
+ * When you call association.build for a has_many association that uses a
466
+ composite foreign key, the newly built child record should have the values
467
+ in its belongs_to foreign_key populated from its owner's values (Tyler Rick).
468
+ * Removed test_has_many_with_primary_key method that wasn't being used because
469
+ another method by the same name was defined below it (Tyler Rick).
470
+ * Fixed a bug that was causing object.changes to raise TypeError (Tyler Rick)
471
+ * Fix error when running rake mysql:rebuild_databases (Tyler Rick)
472
+ * to_param should join with comma instead of minus sign (Tsutomu Kuroda)
473
+ * Fix the "Factories" section of README.rdoc (Tsutomu Kuroda)
474
+
475
+ == 5.0.4 2012-03-23
476
+ * Update ActiveRecord::AttributeMethods#Write for Rails 3.2.2 (Travis Warlick)
477
+
478
+ == 5.0.4 2012-03-23
479
+ * Yanked
480
+
481
+ == 5.0.2 2012-03-16
482
+ * Use .rdoc extension on RDoc files (Elia Schito)
483
+ * Update documentation to use self.primary_keys instead of set_primary_keys (Miguel Fonseca)
484
+ * Added tests for comparing composite ids (Jim Jones)
485
+ * Updating the README for clarity (Brett Fishman)
486
+ * Fix method signature mismatch with active_record (Miguel Fonseca)
487
+ * Fix ref in README (Elia Schito)
488
+ * Add test for habm create (Charlie Savage)
489
+
490
+ == 5.0.1 2012-02-13
491
+ * Fix deprecation warning that was exactly backwards (Tom Hughes)
492
+ * Fix primary_keys handling in models that inherit from other models
493
+ but don't redefine their primary_key. Problem was the inherited
494
+ models didn't correctly reference their parents primary_keys (Charlie Savage)
495
+
496
+ == 5.0.0 2012-02-12
497
+ * Fix tests so they pass on MySql (Charlie Savage)
498
+ * Fix calculations to work with duplicate column names (cleesmith)
499
+ * Switch rake tasks for Postgresql and MySql to use ActiveRecord API for
500
+ creating and dropping databases (Charlie Savage)
501
+ * Follow AR 3.2 lead and introduce self.primary_keys and deprecate set_primary_keys (Charlie Savage)
502
+ * Switch from set_primary_key to self.primary_key= to avoid Rails deprecation (Charlie Savage)
503
+ * Fix issue when using multiple database connections (David Doan)
504
+ * Fix homepage in gemspec and remove email address (Charlie Savage)
505
+ * Add support for string keys to exists? (Jan Vlnas)
506
+ * Fix typo (Jason Karns)
507
+
508
+ == 5.0.0.rc1 2012-01-16
509
+ * ActiveRecord 3.2 support
510
+
511
+ == 4.1.2 2012-01-12
512
+ * Helper to allow the same tests to be used for both Oracle and other DBs
513
+ by replacing quoted identifiers with all-caps equivalents on Oracle (Rhett Sutphin)
514
+ * Update Oracle tests (Rhett Sutphin)
515
+
516
+ == 4.1.1 2011-08-31
517
+ * Support for AR 3.1.1
518
+ * Make polymorphic belongs_to work in rails 3.1.1 (Tom Hughes)
519
+ * Eliminate relative paths from the test suite (Rhett Sutphin)
520
+ * Minor improvements to the CPK test runner w/o relative path changes (Rhett Sutphin)
521
+ * Remove stray puts (Rhett Sutphin)
522
+ * Allow AR logs to go to a file when running tests. This commit allows you to
523
+ specify a file to use instead via the CPK_LOGFILE environment variable.
524
+ STDOUT is still the default. (Rhett Sutphin)
525
+ * Use ADAPTER env variable to select database to test. For example:
526
+
527
+ ADAPTER=sqlite3 ruby test/test_suite.rb
528
+ (Rhett Sutphin)
529
+
530
+ * Eliminate constant redef warnings during test runs (Rhett Sutphin)
531
+ * Add missing fixture declarations (Rhett Sutphin)
532
+ * Standardize on integer PKs in polymorphic fixtures (Rhett Sutphin)
533
+ * Fix tiny file name typos (Buck)
534
+
535
+ == 4.0.0 2011-08-31
536
+ * Support for AR 3.1
537
+
538
+ == 4.0.0.beta9 2011-08-22
539
+ * Fix eager-loading in AR 3.1.rc6.
540
+
541
+ == 4.0.0.beta9 2011-082-22
542
+ * Fix eager-loading in AR 3.1.rc6.
543
+
544
+ == 4.0.0.beta8 2011-082-22
545
+ * Sqlite 3 fixes (Jan Vlnas)
546
+ * Fixes for to_key method (Jan Vlnas)
547
+ * Compatible with Rails 3.1 RC6 (Ari Epstein, Travis Warlick)
548
+
549
+ == 4.0.0.beta7 2011-07-26
550
+ * Compatible with Rails 3.1 RC5 (TycoooN)
551
+ * Do not use Arel::Nodes::Or to combine predicates because it creates a
552
+ deeply nested stack that blows up.
553
+
554
+ == 4.0.0.beta4 2011-07-22
555
+ * Compatible with Rails 3.1 stable branch. No longer works with RC4 (Charlie Savage)
556
+ * Do not require loading of postgresql gem unless needed (Charlie Savage)
557
+
558
+ == 4.0.0.beta3 2011-07-08
559
+ * Fix the ability to update the values of a primary key (Travis Warlick)
560
+ * Support port and host configurations for postgres rake tasks (Travis Warlick)
561
+
562
+ == 4.0.0.beta2 2011-06-21
563
+ * ActiveRecord 3.1 RC4 compatibility.
564
+ * Fix instantiation of CPK models with included associations
565
+
566
+ == 4.0.0.beta1 2011-06-09
567
+ * ActiveRecord 3.1 RC1 compatibility. This required a significant rewrite due to
568
+ all the changes in AR 3.1 versus 3.0.
569
+
570
+ == 3.1.11 2012-05-20
571
+ Fix AssociationReflection#derive_primary_key for belongs_to relationships (Heinrich Lee Yu).
572
+
573
+ == 3.1.10 2011-07-08
574
+ * Bugfix for belongs_to with includes (John Ash)
575
+ * Improved tests for calling clear on a habtm association, which involved (David Rueck)
576
+ * Fixed bug that resulted in unrelated records being deleted when calling (David Rueck)
577
+ * Output deprecation warnings about extra columns in join table CPK-aware (David Rueck)
578
+
579
+
580
+ == 3.1.9 2011-06-04
581
+ * Improve HABTM association tests (David Rueck)
582
+ * Remove deprecated Rake tasks (Charlie Savage)
583
+
584
+ == 3.1.8 2011-05-26
585
+ * Fix calling clear on a HABTM associate (David Rueck)
586
+
587
+ == 3.1.7 2011-05-26
588
+ * Support regular AR models having one or many composite models (Jacques Fuentes)
589
+ * Minor test cleanup (Charlie Savage)
590
+ * Make version requirements more explicit (Charlie Savage)
591
+ * Remove Arel extensions used for calculations (Charlie Savage)
592
+ * Fix test that included wrong error constant
593
+
594
+ == 3.1.6 2011-04-03
595
+ * Updated belongs_to association to be a bit more flexible with non-CPK (Charlie Savage)
596
+ base models (Jacques Fuentes)
597
+ * Fix uniqueness check (David Rueck)
598
+ * Fix write issue when one of they keys in a composite key is
599
+ called id (Tom Hughes)
600
+
601
+
602
+ == 3.1.5 2011-03-24
603
+ * Fix simple calculation methods (Charlie Savage)
604
+ * Fix instantiation of cpk records via associations (Charlie Savage)
605
+ * Fix Relation#delete (Charlie Savage)
606
+ * Fix Relation#destroy (Charlie Savage)
607
+
608
+
609
+ == 3.1.4 2011-03-06
610
+ * Support ActiveRecord 3.0.5 - interpolate_sql was removed and
611
+ replaced by interpolate_and_sanitize_sql (Charlie Savage)
612
+ * Fix persistence methods to support destroy callbacks (Charlie Savage)
613
+ * Support rake 0.9.0 beta (Charlie Savage)
614
+
615
+
616
+ == 3.1.2 2011-02-26
617
+ * Add back in support for find('3,3') which makes it possible to
618
+ do find(params[id]). This implementation is simpler than earlier version
619
+ improving code readability.
620
+ * Support for finding multiple records either via find([1,2], [3,4])
621
+ * Remove to_composite_ids method which is no longer needed
622
+
623
+
624
+ == 3.1.1 2011-02-07
625
+ * Implement id_before_type_cast (Jason Lewis)
626
+ * Add in tests for Model.includes(:other_model)
627
+ * Fix object comparison with nil in composite primary keys (StackNG)
628
+ * Make it easier to run tests with different database adapters (Toby Cabot)
629
+ * Fix AssociationReflection#primary_key_name for polymorphic relationships (Dave Doan)
630
+
631
+
632
+ == 3.1.0 2010-12-17
633
+ * Add back in rake test tasks (Toby Cabot)
634
+ * Add support for multiple string composite keys (wouter)
635
+ * Remove support for find('3,3'). Instead use find([3,3])
636
+
637
+
638
+ == 3.0.9 2010-12-04
639
+ * Fix up support for composite key fixtures.
640
+
641
+
642
+ == 3.0.8 2010-12-04
643
+ * Fix for translation issue in unique validation. Thanks to Daniel Berger for the patch.
644
+ * Fix to support child classes of composite primary key models
645
+
646
+
647
+ == 3.0.7 2010-11-29
648
+ * Fix has and belongs to many associations implementation.
649
+
650
+
651
+ == 3.0.6 2010-11-29 (yanked)
652
+ * Add full support for has and belongs to many associations.
653
+
654
+
655
+ == 3.0.5 2010-11-28 (yanked)
656
+ * Apply patch from Marian Rudzynski for fixing up attribute_methods/primary_key
657
+ * Apply patch from Toby Cabot to fix up various sqlite3 issues
658
+ * Add partial support for has and belongs to many associations. Currently a cpk model
659
+ can have a habtm, but a normal model cannot have a habtm to a cpk model (its actually
660
+ not too hard to add, but one step at a time...)
661
+
662
+
663
+ == 3.0.4 2010-11-21
664
+ * Support deleting records when dependent is set to :delete_all
665
+ * Switch the method #id to return a CompositeKeys instance (thus going back to how
666
+ this was done in previous CPK versions)
667
+
668
+
669
+ == 3.0.3 2010-11-19
670
+ * Support ActiveRecord 3.0.3 and Arel 2+
671
+ * Require ActiveRecord 3.0.3 as minimum dependency
672
+ * Fix double quoting issue with table names - thanks to Kevin Motschiedler for a patch.
673
+ * Fix SQLiteAdapter class inheritance issue - thanks to Brandon Hauff for a patch.
674
+
675
+
676
+ == 3.0.1.b3 2010-11-07
677
+
678
+ * Fix bug in joining to :has_one association
679
+ * Added support for Model.find(:last)
680
+ * Added support for finding via associations with
681
+ limited ids. For example find(:include => :foo, :limit => 1)
682
+
683
+ == 3.0.1.b2 2010-11-06
684
+
685
+ * Port to Rails 3.0 and Ruby 1.9.2
686
+
687
+ * Backwards compatability issues
688
+ + You can no longer define a composite primary key with a single field. If you
689
+ try, your model will just default to a standard active record model. Removing
690
+ this corner case simplified the code.
691
+ + Removed CompositePrimaryKeys::CompositeKeys. This was done so that the #to_s
692
+ method on composite ids, such as [1,2], returns "[1, 2]". This in turns
693
+ reduces the amount of core Rails code that needs to be overridden.
694
+ + Setting attribute values by string is no longer supported. For example, this
695
+ no longer works:
696
+ my_record[[:main_id, :secondary_id]] = '1,2'
697
+ Instead, do this:
698
+ my_record[[:main_id, :secondary_id]] = [1,2]
699
+ Once again, this was done to reduce the amount of overridden Rails code
700
+ + At the moment, complex finds with nested arrays do not work. For example
701
+ find([[1,2], [3,4]))
702
+ + Count methods no longer work. For example, Tariff.count(:include => :product_tariffs)
703
+ in the TestAssociations#test_count test returns an error. This is because Rails 3.0
704
+ uses Arel to perform such calculations, and its not obvious (at least to me) how to
705
+ hook into this new mechanism to support tables with composite keys.
706
+ + The TestPolymorphic#test_polymorphic_has_many_through is currently failing, but this
707
+ looks like an ActiveRecord 3.0 bug to me.
708
+
709
+ == 2.3.5.1 2010-02-13
710
+
711
+ * Resolved "warning: already initialized constant HasManyThroughCantAssociateThroughHasManyReflection" [Titi Ala'ilima]
712
+
713
+ == 2.3.5 2009-12-16
714
+
715
+ * Fixed several bugs in has_one and has_many associations when :primary_key specified [kpumuk]
716
+
717
+ == 2.3.2 2009-07-16
718
+
719
+ * explicitly load associations.rb due to some getting an unitialized constant error
720
+
721
+ == 2.3.2 2009-05-28
722
+
723
+ * get tests working again with AR 2.3.2
724
+
725
+ == 2.2.1 2009-01-21
726
+
727
+ * fix ActiveRecord#exists? to work when passing conditions instead of ids
728
+
729
+ == 2.2.0 2008-10-29
730
+
731
+ * Rails 2.2.0 compatibility
732
+
733
+ == 1.1.0 2008-10-29
734
+
735
+ * fixes to get cpk working for Rails 2.1.2
736
+
737
+ == 1.0.10 2008-10-22
738
+
739
+ * add composite key where clause creator method [timurv]
740
+
741
+ == 1.0.9 2008-09-08
742
+
743
+ * fix postgres tests
744
+ * fix for delete_records when has_many association has composite keys [darxriggs]
745
+ * more consistent table/column name quoting [pbrant]
746
+
747
+ == 1.0.8 2008-08-27
748
+
749
+ * fix has_many :through for non composite models [thx rcarver]
750
+
751
+ == 1.0.7 2008-08-12
752
+
753
+ * fix for the last fix -- when has_many is composite and belongs_to is single
754
+
755
+ == 1.0.6 2008-08-06
756
+
757
+ * fix associations create
758
+
759
+ == 1.0.5 2008-07-25
760
+
761
+ * fix for calculations with a group by clause [thx Sirius Black]
762
+
763
+ == 1.0.4 2008-07-15
764
+
765
+ * support for oracle_enhanced adapter [thx Raimonds Simanovskis]
766
+
767
+ == 1.0.3 2008-07-13
768
+
769
+ * more fixes and tests for has many through [thx Menno van der Sman]
770
+
771
+ == 1.0.2 2008-06-07
772
+
773
+ * fix for has many through when through association has composite keys
774
+
775
+ == 1.0.1 2008-06-06
776
+
777
+ * Oracle fixes
778
+
779
+ == 1.0.0 2008-06-05
780
+
781
+ * Support for Rails 2.1
782
+
783
+ == 0.9.93 2008-06-01
784
+
785
+ * set fixed dependency on activerecord 2.0.2
786
+
787
+ == 0.9.92 2008-02-22
788
+
789
+ * Support for has_and_belongs_to_many
790
+
791
+ == 0.9.91 2008-01-27
792
+
793
+ * Incremented activerecord dependency to 2.0.2 [thx emmanuel.pirsch]
794
+
795
+ == 0.9.90 2008-01-27
796
+
797
+ * Trial release for rails/activerecord 2.0.2 supported
798
+
799
+ == 0.9.1 2007-10-28
800
+
801
+ * Migrations fix - allow :primary_key => [:name] to work [no unit test] [thx Shugo Maeda]
802
+
803
+ == 0.9.0 2007-09-28
804
+
805
+ * Added support for polymorphs [thx nerdrew]
806
+ * init.rb file so gem can be installed as a plugin for Rails [thx nerdrew]
807
+ * Added ibm_db support [thx K Venkatasubramaniyan]
808
+ * Support for cleaning dependents [thx K Venkatasubramaniyan]
809
+ * Rafactored db rake tasks into namespaces
810
+ * Added namespaced tests (e.g. mysql:test for test_mysql)
811
+
812
+ == 0.8.6 / 2007-6-12
813
+
814
+ * 1 emergency fix due to Rails Core change
815
+ * Rails v7004 removed #quote; fixed with connection.quote_column_name [thx nerdrew]
816
+
817
+ == 0.8.5 / 2007-6-5
818
+
819
+ * 1 change due to Rails Core change
820
+ * Can no longer use RAILS_CONNECTION_ADAPTERS from Rails core
821
+ * 7 dev improvement:
822
+ * Changed History.txt syntax to rdoc format
823
+ * Added deploy tasks
824
+ * Removed CHANGELOG + migrated into History.txt
825
+ * Changed PKG_NAME -> GEM_NAME in Rakefile
826
+ * Renamed README -> README.txt for :publish_docs task
827
+ * Added :check_version task
828
+ * VER => VERS in rakefile
829
+ * 1 website improvement:
830
+ * website/index.txt includes link to "8 steps to fix other ppls code"
831
+
832
+ == 0.8.4 / 2007-5-3
833
+
834
+ * 1 bugfix
835
+ * Corrected ids_list => ids in the exception message. That'll teach me for not adding unit tests before fixing bugs.
836
+
837
+ == 0.8.3 / 2007-5-3
838
+
839
+ * 1 bugfix
840
+ * Explicit reference to ::ActiveRecord::RecordNotFound
841
+ * 1 website addition:
842
+ * Added routing help [Pete Sumskas]
843
+
844
+ == 0.8.2 / 2007-4-11
845
+
846
+ * 1 major enhancement:
847
+ * Oracle unit tests!! [Darrin Holst]
848
+ * And they work too
849
+
850
+ == 0.8.1 / 2007-4-10
851
+
852
+ * 1 bug fix:
853
+ * Fixed the distinct(count) for oracle (removed 'as')
854
+
855
+ == 0.8.0 / 2007-4-6
856
+
857
+ * 1 major enhancement:
858
+ * Support for calcualtions on associations
859
+ * 2 new DB supported:
860
+ * Tests run on sqlite
861
+ * Tests run on postgresql
862
+ * History.txt to keep track of changes like these
863
+ * Using Hoe for Rakefile
864
+ * Website generator rake tasks
865
+
866
+ == 0.3.3
867
+ * id=
868
+ * create now work
869
+
870
+ == 0.1.4
871
+ * it was important that #{primary_key} for composites --> 'key1,key2' and not 'key1key2' so created PrimaryKeys class
872
+
873
+ == 0.0.1
874
+ * Initial version
875
+ * set_primary_keys(*keys) is the activation class method to transform an ActiveRecord into a composite primary key AR
876
+ * find(*ids) supports the passing of
877
+ * id sets: Foo.find(2,1),
878
+ * lists of id sets: Foo.find([2,1], [7,3], [8,12]),
879
+ * and even stringified versions of the above:
880
+ * Foo.find '2,1' or Foo.find '2,1;7,3'