Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Improve the performance of reading attributes | Sean Griffin | 2014-11-18 | 1 | -1/+1 |
| | | | | | | | We added a comparison to "id", and call to `self.class.primary_key` a *lot*. We also have performance hits from `&block` all over the place. We skip the check in a new method, in order to avoid breaking the behavior of `read_attribute` | ||||
* | Reduce the amount of work performed when instantiating AR models | Sean Griffin | 2014-11-14 | 1 | -0/+1 |
| | | | | | | | | | | We don't know which attributes will or won't be used, and we don't want to create massive bottlenecks at instantiation. Rather than doing *any* iteration over types and values, we can lazily instantiate the object. The lazy attribute hash should not fully implement hash, or subclass hash at any point in the future. It is not meant to be a replacement, but instead implement its own interface which happens to overlap. | ||||
* | Define id_was to get the previous value of the primary key | Rafael Mendonça França | 2014-08-06 | 1 | -1/+7 |
| | | | | | | | | | Currently when we call id_was and we have a custom primary key name Active Record will return the current value of the primary key. This make impossible to correctly do an update operation if you change the id. Fixes #16413 | ||||
* | Move writing unknown column exception to null attribute | Sean Griffin | 2014-06-26 | 1 | -5/+2 |
| | | | | | | Making this change revealed several subtle bugs related to models with no primary key, and anonymous classes. These have been fixed as well, with regression tests added. | ||||
* | Use a conditional rather than early return in `id` | Sean Griffin | 2014-06-12 | 1 | -3/+4 |
| | |||||
* | Fix performance regression on preloading HABTM associations | Sean Griffin | 2014-06-12 | 1 | -0/+1 |
| | | | | | | | | | | | We'd spend a lot of time calling `hash` and `eql?` on the join model, which has no primary key. Calling `id` with no primary key is a really slow way to get back `nil`, so we can improve the performance there. However, even with the escape clause, we *still* weren't getting high enough performance, as we were checking the primary key too much. `hash` will always return `nil.hash` for records with no id, and `==` will always return `false`. We can optimize those cases in the HABTM join model. | ||||
* | safely publish columns and columns hash info | Aaron Patterson | 2013-03-14 | 1 | -1/+1 |
| | |||||
* | Reduced memory leak problem in transactions by lazily updating AR objects ↵ | wangjohn | 2013-02-20 | 1 | -0/+5 |
| | | | | with new transaction state. If AR object has a callback, the callback will be performed immediately (non-lazily) so the transaction still has to keep records with callbacks. | ||||
* | change unless !blank? to if blank? in get_primary_key | Angelo capilleri | 2013-01-08 | 1 | -1/+1 |
| | |||||
* | update AR/attribute_methods documentation [ci skip] | Francesco Rodriguez | 2012-09-21 | 1 | -11/+15 |
| | |||||
* | Set primary key with id= only if primary key exists | Guillermo Iguaran | 2012-09-16 | 1 | -1/+1 |
| | |||||
* | Remove mass assignment security from ActiveRecord | Guillermo Iguaran | 2012-09-16 | 1 | -2/+1 |
| | |||||
* | much code can be deleted thanks to @tenderlove's refactoring | Jon Leighton | 2012-03-28 | 1 | -6/+0 |
| | |||||
* | Remove unusused variables | Jon Leighton | 2012-03-04 | 1 | -3/+2 |
| | |||||
* | move id_before_type_cast to PrimaryKey module | Sergey Nartimov | 2012-02-16 | 1 | -1/+10 |
| | |||||
* | handle id attribute in PrimaryKey module | Sergey Nartimov | 2012-02-11 | 1 | -0/+6 |
| | |||||
* | Expanded rdoc about primary keys being protected from mass assignment. | Joost Baaij | 2012-01-06 | 1 | -1/+2 |
| | | | People need to make sure they are generated internally or added to attr_accessible so they can be mass assigned (for instance, from an import job). | ||||
* | remove deprecated set and original methods for table_name, primary_key, etc | Sergey Nartimov | 2011-12-21 | 1 | -9/+0 |
| | |||||
* | Fix the build on postgres. Note: we should probably actually make schema ↵ | Jon Leighton | 2011-12-16 | 1 | -1/+1 |
| | | | | mutations bust the cache. | ||||
* | Don't store defaults in the schema cache | Jon Leighton | 2011-12-16 | 1 | -2/+2 |
| | |||||
* | Cache columns at the model level. | Jon Leighton | 2011-12-16 | 1 | -2/+0 |
| | | | | Allows two models to use the same table but have different primary keys. | ||||
* | Fix #3987. | Jon Leighton | 2011-12-15 | 1 | -0/+2 |
| | |||||
* | Use a separate module for 'external' attribute methods. | Jon Leighton | 2011-12-14 | 1 | -3/+3 |
| | |||||
* | use the schema cache when asking for the primary key | Aaron Patterson | 2011-12-12 | 1 | -1/+1 |
| | |||||
* | Revert "Roflscaling!" (for now) | Jon Leighton | 2011-12-02 | 1 | -2/+2 |
| | | | | | | | | This reverts commit f6b5046305d43c5f64bcb6fed0e44f7bca99a603. Fear not, the roflscale will return when I have a bit more time and figure out a better way to do it. (In particular, a way that doesn't break the build.) | ||||
* | Roflscaling! | Jon Leighton | 2011-12-01 | 1 | -2/+2 |
| | | | | | Don't prefix the name with attribute_. Avoids a string allocation on read_attribute, which is a bit faster. | ||||
* | Add test for read_attribute(:id) with non-standard PK. | Jon Leighton | 2011-12-01 | 1 | -0/+14 |
| | | | | | | | | Also make it actually work. It slows down all read_attribute accesses to map 'id' to whatever the PK actually is, inside read_attribute. So instead make sure the necessary methods are defined and that they redirect wherever they need to go. | ||||
* | Get rid of the underscore versions of attribute methods! | Jon Leighton | 2011-12-01 | 1 | -2/+1 |
| | | | | This makes me happy! | ||||
* | If the table behind has no primary key, do not ask again and just return nil. | Julius de Bruijn | 2011-11-30 | 1 | -1/+2 |
| | |||||
* | Use inheritance to avoid special-case code for the 'id' method | Jon Leighton | 2011-11-30 | 1 | -0/+20 |
| | |||||
* | #id is an alias for whatever the primary key is | Jon Leighton | 2011-11-30 | 1 | -1/+1 |
| | |||||
* | Deprecate set_primary_key in favour of self.primary_key= | Jon Leighton | 2011-11-29 | 1 | -20/+26 |
| | |||||
* | Revert "Raise error on unknown primary key." | Jon Leighton | 2011-10-05 | 1 | -7/+0 |
| | | | | This reverts commit ee2be435b1e5c0e94a4ee93a1a310e0471a77d07. | ||||
* | Raise error on unknown primary key. | Jon Leighton | 2011-10-05 | 1 | -0/+7 |
| | | | | | If we don't have a primary key when we ask for it, it's better to fail fast. Fixes GH #2307. | ||||
* | Don't require a DB connection when setting primary key. | Jon Leighton | 2011-09-26 | 1 | -1/+0 |
| | | | | Closes #2807. | ||||
* | Revert "to_key on a destroyed model should return nil". Closes #2440 | Santiago Pastorino | 2011-08-05 | 1 | -3/+2 |
| | | | | This reverts commit c5448721b5054b8a467958d60427fdee15eac604. | ||||
* | to_key on a destroyed model should return nil | Santiago Pastorino | 2011-07-09 | 1 | -1/+1 |
| | |||||
* | Remove trailing white-spaces | Guillermo Iguaran | 2011-06-05 | 1 | -1/+1 |
| | |||||
* | Quote find_in_batches ORDER BY clause [#6620 state:resolved] | Andrew White | 2011-03-29 | 1 | -1/+12 |
| | |||||
* | primary keys should not be cleared on cache clear, fixing oracle tests | Aaron Patterson | 2011-02-08 | 1 | -0/+1 |
| | |||||
* | stop redifining methods on every call to set_primary_key | Aaron Patterson | 2010-12-24 | 1 | -4/+11 |
| | |||||
* | returning id (for some yet to be discovered reason) | Aaron Patterson | 2010-12-20 | 1 | -1/+1 |
| | |||||
* | define_attr_method must serialize nil correctly | Aaron Patterson | 2010-12-20 | 1 | -2/+6 |
| | |||||
* | if there is no base name, we cannot determine a primary key | Aaron Patterson | 2010-12-20 | 1 | -2/+4 |
| | |||||
* | remove some lasigns | Aaron Patterson | 2010-12-20 | 1 | -6/+6 |
| | |||||
* | use persisted? instead of new_record? wherever possible | David Chelimsky | 2010-11-09 | 1 | -3/+4 |
| | | | | | | | | | | | - persisted? is the API defined in ActiveModel - makes it easier for extension libraries to conform to ActiveModel APIs without concern for whether the extended object is specifically ActiveRecord [#5927 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com> | ||||
* | Revert "Makes AR use AMo to_key implementation" | Santiago Pastorino | 2010-08-15 | 1 | -0/+6 |
| | | | | This reverts commit 36a84a4f15f29b41c7cac2f8de410055006a8a8d. | ||||
* | Makes AR use AMo to_key implementation | Santiago Pastorino | 2010-08-13 | 1 | -6/+0 |
| | | | | [#5249] | ||||
* | Make sure valid? preceives the context as in ActiveModel API (ht: Carlos ↵ | José Valim | 2010-05-10 | 1 | -1/+1 |
| | | | | Antonio) | ||||
* | Fix dom_id for ActiveRecord [#4296 state:resolved] | José Valim | 2010-03-30 | 1 | -16/+6 |
| |