aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Cache columns at the model level.Jon Leighton2011-12-164-21/+34
| | | | Allows two models to use the same table but have different primary keys.
* Let AttributeMethods do its own including etcJon Leighton2011-12-151-4/+2
|
* Split out most of the AR::Base code into separate modules :cake:Jon Leighton2011-12-151-13/+0
|
* Fix #3987.Jon Leighton2011-12-151-0/+10
|
* Allow nested attributes in associations to update values in it's owner ↵Andrew Kaspick2011-12-142-1/+9
| | | | object. Fixes a regression from 3.0.x
* Remove that there copy/pasted code :bomb:Jon Leighton2011-12-141-5/+0
|
* Don't try to autosave nested assocs. Fixes #2961.Jon Leighton2011-12-141-0/+14
|
* Stop the build asploding on 1.8.7Jon Leighton2011-12-141-0/+4
|
* Add return for 1.8.7Jon Leighton2011-12-141-1/+1
|
* Unfluff the CI.Jon Leighton2011-12-141-1/+1
| | | | | | | | | | | | | | | With transactional fixtures enabled, the session records would end up in @_current_transaction_records, and at the end of the transaction, methods would be called on them that would trigger method_missing and trigger attribute methods to be generated. However, at this point the sessions table would not exist, and the columns were not cached, so an exception would be raised because we can't find the columns to generate attribute methods for. Not sure exactly why this didn't crop up before but there have been changes to the schema cache code and perhaps that means that column data that was cached previously at that point is now uncached.
* Revert naive O(1) table_exists? implementation.Jon Leighton2011-12-131-0/+1
| | | | | | | | | | It was a bad idea to rescue exceptions here. This can interfere with transaction rollbacks which seems to be the cause of current CI failure. Instead, each adapter should implement its own DB-specific O(1) implementation, and we fall back on the generic, slower, implementation otherwise.
* Errno::ENOENT error makes more sense when a file cannot be foundAaron Patterson2011-12-101-1/+1
|
* Allow to filter migrations by passing a blockPiotr Sarnacki2011-12-091-0/+18
| | | | | | | | | | Example: ActiveRecord::Migrator.migrate(path) do |migration| migration.name =~ /User/ end The above example will migrate only migrations with User in the name
* Use `table_exists?` from the schema cache.Aaron Patterson2011-12-092-3/+4
|
* Compare migrations for copying only by name and scopePiotr Sarnacki2011-12-091-26/+1
|
* Add suffix for migrations copied from enginesPiotr Sarnacki2011-12-091-23/+23
|
* String#to_a is not available in 1.9Piotr Sarnacki2011-12-091-1/+1
|
* Run also migrations in subdirectories.Piotr Sarnacki2011-12-094-0/+42
| | | | | With this commit, ActiveRecord will also look for migrations in db/migrate subdirectories.
* Ignore origin comment when checking for duplicates on Migration.copyPiotr Sarnacki2011-12-092-3/+38
| | | | | | | 49ebe51 fixed copying migrations, but existing migrations would still trigger warnings. The proper way to compare migrations is to ignore origin lines - if migration is identical it means that we can silently skip it, regardless where it comes from.
* Fix copying migrations from enginesPiotr Sarnacki2011-12-091-0/+21
| | | | | | | | | | There was a bug in ActiveRecord::Migration.copy method, which prevented adding special comment about the origin of migration. Because of that, the check if migration is identical or if it's not and should be skipped was always saying that migration is skipped, which was causing additional useless warnings about skipped migrations.
* Fix #3890. (Calling proxy_association in scope chain.)Jon Leighton2011-12-082-1/+11
|
* Regexp.union seems to have different results in 1.8Aaron Patterson2011-12-081-3/+3
|
* Fix broken test_exists_query_logging from the table_exists? changeJon Leighton2011-12-081-0/+1
|
* moving ignored regexp to the instanceAaron Patterson2011-12-071-6/+8
|
* speeding up ignored sql testingAaron Patterson2011-12-071-1/+4
|
* avoid deprecated methodsAaron Patterson2011-12-061-1/+1
|
* add prefix and suffix to renamed tables, closes #1510Vasiliy Ermolovich2011-12-063-0/+51
|
* Merge pull request #3854 from exviva/validates_associated_marked_for_destructionJosé Valim2011-12-041-0/+10
|\ | | | | Do not validate associated records marked for destruction
| * Do not validate associated records marked for destructionOlek Janiszewski2011-12-051-0/+10
| | | | | | | | | | | | The main reason for this change is to fix a bug where `validates_associated` would prevent `accepts_nested_attributes_for` with `allow_destroy: true` from destroying invalid associated records.
* | Merge pull request #3851 from ebeigarts/fix_sequence_nameJon Leighton2011-12-041-0/+10
|\ \ | |/ |/| Fix sequence name with abstract classes.
| * Fix sequence name with abstract classes.Edgars Beigarts2011-12-041-0/+10
| |
* | implements a much faster auto EXPLAIN, closes #3843 [José Valim & Xavier Noria]Xavier Noria2011-12-041-29/+31
|/ | | | | | | | | | | | | | | | | | | | | | | | | This commit vastly reduces the impact of auto explain logging when enabled, while keeping a negligible cost when disabled. The first implementation was based on the idea of subscribing to "sql.active_record" when needed, and unsubscribing once done. This is the idea behind AR::Relation#explain. Subscribe, collect, unsubscribe. But with the current implementation of notifications unsubscribing is costly, because it wipes an internal cache and that puts a penalty on the next event. So we are switching to an approach where a long-running subscriber is listening. Instead of collecting the queries with a closure in a dedicated subscriber, now we setup a thread local. If the feature is disabled by setting the threshold to nil, the subscriber will call a method that does nothing. That's totally cheap.
* Add missing requireJon Leighton2011-12-031-0/+2
|
* Avoid postgres 9.X syntaxJon Leighton2011-12-031-1/+5
|
* Fix #3837.Jon Leighton2011-12-031-0/+12
| | | | | We also need to time zone convert time zone aware attributes when accessed via read_attribute, not only when via direct access.
* removes the convenience instance version of AR::Base.silence_auto_explainXavier Noria2011-12-031-5/+2
| | | | | | | Rationale: As discussed with José and Jon, this convenience shortcut is not clearly justified and it could let the user thing the disabled EXPLAINs are related to the model instance rather than being globally disabled.
* Merge pull request #3820 from jaylevitt/nested_loading_through_assocJon Leighton2011-12-031-0/+35
|\ | | | | reintroduce patch from #726 to handle nested eager loading via associations
| * reintroduce patch from #726 to handle nested eager loading via associationsJay Levitt2011-11-301-0/+35
| |
* | implements AR::Base(.|#)silence_auto_explainXavier Noria2011-12-021-0/+11
| |
* | implements automatic EXPLAIN logging for slow queriesXavier Noria2011-12-021-0/+91
| |
* | Create method with known identifier then alias into place.Jon Leighton2011-12-011-0/+2
| | | | | | | | | | | | | | | | This means we never have to rely on define_method (which is slower and uses more memory), even when we have attributes containing characters that are not allowed in standard method names. (I am mainly changing this because the duplication annoys me, though.)
* | Add test for read_attribute(:id) with non-standard PK.Jon Leighton2011-12-011-0/+5
| | | | | | | | | | | | | | | | 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.
* | Fix up test altering global state that was causing me griefJon Leighton2011-12-011-2/+4
| |
* | Get rid of the underscore versions of attribute methods!Jon Leighton2011-12-011-0/+5
| | | | | | | | This makes me happy!
* | Add hackery to make Syck use encode_with/init_with. Fixes 1.8 after recent ↵Jon Leighton2011-12-011-0/+5
| | | | | | | | changes to attribute serialization.
* | don't alter global state in testJon Leighton2011-11-301-2/+3
| |
* | If the table behind has no primary key, do not ask again and just return nil.Julius de Bruijn2011-11-301-0/+5
| |
* | omg computer science!Jon Leighton2011-11-301-5/+1
| | | | | | | | | | | | | | Implement a mini state machine for serialized attributes. This means we do not have to deserialize the values upon initialization, which means that if we never actually access the attribute, we never have to deserialize it.
* | Fix typoJon Leighton2011-11-301-2/+2
| |
* | Use inheritance to avoid special-case code for the 'id' methodJon Leighton2011-11-301-1/+1
|/