aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | pg tests, only execute what's necessary.Yves Senn2014-11-072-27/+26
| |
* | remove the last traces of OpenBase from our codebase. [ci skip]Yves Senn2014-11-071-6/+0
| |
* | docs, the abstract data type `:timestamp` was removed. See #15184 [ci skip]Yves Senn2014-11-071-2/+2
| |
* | Merge pull request #17541 from OpenSourceProjects/meaninful_messageYves Senn2014-11-073-5/+15
|\ \ | | | | | | | | | Print out a meaningful error when ActiveRecord::ReadOnlyRecord is raised
| * | Print out a meaningful error when ActiveRecord::ReadOnlyRecord is raisedFranky W2014-11-062-5/+8
|/ / | | | | | | | | | | | | Currently, there is no messages which get printed out. Convoluted system may have hooks that create other objects in which case we only fail with no messages. This commit changes this information allowing you to know which object is the one that actually raised the error.
* | tests, remove unneeded requires.Yves Senn2014-11-064-11/+0
| |
* | tests, use SchemaDumpingHelper to dump a specific table.Yves Senn2014-11-061-12/+12
| | | | | | | | | | This makes debugging the generated schema output much easier. As a side effect it also shaves off 2.5 seconds of test runtime.
* | Remove unneccesary default parametersSean Griffin2014-11-051-1/+1
| |
* | Improve performance of AR object instantiationSean Griffin2014-11-055-11/+61
| | | | | | | | | | | | | | We introduced a performance hit by adding an additional iteration through a model's attributes on creation. We don't actually need the values from `Result` to be a hash, we can separate the columns and values and zip them up ourself during the iteration that we have to do.
* | Merge pull request #17360 from bronzle/includes_and_unscopedYves Senn2014-11-053-0/+15
|\ \ | | | | | | | | | copy reflection_scopes’s unscoped value when building scope for preloading
| * | copy reflection_scopes’s unscoped value when building scope for ↵Byron Bischoff2014-10-222-0/+12
| | | | | | | | | | | | preloading, fixes #11036
* | | Merge pull request #17510 from pda/ar-create-database-error-messageCarlos Antonio da Silva2014-11-051-0/+1
|\ \ \ | | | | | | | | rake db:create shows underlying error message.
| * | | activerecord: rake db:create shows underlying error message.Paul Annesley2014-11-041-0/+1
| | | |
* | | | Merge pull request #17473 from vipulnsward/rm-unused-methodYves Senn2014-11-051-8/+0
|\ \ \ \ | |/ / / |/| | | Remove unused duplicated method `add_column_position` from AbstractMysqlAdapter.
| * | | - Remove unused duplicated method `add_column_position` from ↵Vipul A M2014-11-011-8/+0
| | | | | | | | | | | | | | | | AbstractMysqlAdapter
* | | | Added SchemaDumper support for tables with jsonb columns.Ted O'Meara2014-11-045-18/+17
| | | |
* | | | Remove unneeded autoloadRafael Mendonça França2014-11-031-4/+1
| | | |
* | | | Merge pull request #17487 from pabloh/avoid_allocationsRafael Mendonça França2014-11-034-4/+4
|\ \ \ \ | | | | | | | | | | Avoid unnecessary allocations and method calls
| * | | | Avoid unnecessary allocations/callsPablo Herrero2014-11-024-4/+4
| | | | |
* | | | | Add comment to point out String#[] is intentionalAndrew White2014-11-021-0/+1
| | | | |
* | | | | Revert "Replace String index juggling with Pathname goodness in ↵yuuji.yaginuma2014-11-021-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | db:fixtures:load" This reverts commit 482fdad5ef8a73688b50bba3991dd4ef6f286edd. Fixes #17237.
* | | | Add an `assert_deprecated` for `sanitize_sql_hash_for_conditions`Sean Griffin2014-11-021-1/+3
| | | |
* | | | Handle `RangeError` from casting in `find_by` and `find_by!` on RelationSean Griffin2014-11-022-0/+14
| | | | | | | | | | | | | | | | | | | | We should not behave differently just because a class has a default scope.
* | | | Revert deprecation of `sanitize_sql_hash_for_assignment`Sean Griffin2014-11-022-6/+2
| | | | | | | | | | | | | | | | This method is still used by `update_all`
* | | | Deprecate `sanitize_sql_hash_` methods on ActiveRecordSean Griffin2014-11-022-0/+12
| | | | | | | | | | | | | | | | | | | | These appear to be implementation relics of times past. They duplicate the logic in Relation, and are no longer used internally.
* | | | Pass the `SelectManager`, rather than the AST when querying w/ RelationSean Griffin2014-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Arel specifically handles `SelectManager`, with the same logic we're currently performing. The AST is `Enumerable`, which Arel looks for separately now.
* | | | Merge pull request #17483 from pabloh/optimize_gsub_callsSean Griffin2014-11-011-1/+1
|\ \ \ \ | | | | | | | | | | Call gsub with a Regexp instead of a String for better performance
| * | | | Call gsub with a Regexp instead of a String for better performancePablo Herrero2014-11-011-1/+1
| | | | |
* | | | | Don't duplicate predicate building logic in Relation findersSean Griffin2014-11-011-5/+2
| | | | |
* | | | | Add a test case for range type castingSean Griffin2014-11-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | We support this behavior, but have no tests which assert that type casting actually occurs.
* | | | | Use a bound parameter for the "id = " portion of update statementsSean Griffin2014-11-012-5/+14
|/ / / / | | | | | | | | | | | | | | | | | | | | We need to re-order the bind parameters since the AST returned by the relation will have the where statement as the first bp, which breaks on PG.
* | | | Correctly cast calculation results on PGSean Griffin2014-11-013-1/+16
| | | | | | | | | | | | | | | | | | | | MySQL reports the column name as `"MAX(developer_id)"`. PG will report it as `"max"`
* | | | [ci skip] `Relation#bind` is not public APISean Griffin2014-11-011-1/+1
| | | |
* | | | Fix test which failed in isolationSean Griffin2014-11-011-0/+1
| | | | | | | | | | | | | | | | It was transitively relying on the vertex model being loaded
* | | | Use bind values for joined tables in where statementsSean Griffin2014-11-018-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In practical terms, this allows serialized columns and tz aware columns to be used in wheres that go through joins, where they previously would not behave correctly. Internally, this removes 1/3 of the cases where we rely on Arel to perform type casting for us. There were two non-obvious changes required for this. `update_all` on relation was merging its bind values with arel's in the wrong order. Additionally, through associations were assuming there would be no bind parameters in the preloader (presumably because the where would always be part of a join) [Melanie Gilman & Sean Griffin]
* | | | Merge pull request #17463 from mrgilman/remove-index-from-substitute-atSean Griffin2014-11-013-7/+6
|\ \ \ \ | | | | | | | | | | Remove redundant substitute index when constructing bind values
| * | | | Remove redundant substitute index when constructing bind valuesMelanie Gilman2014-10-313-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We end up re-ordering them either way when we construct the Arel AST (in order to deal with rewhere, etc), so we shouldn't bother giving it a number in the first place beforehand.
* | | | | Don't needlessly alphabetize columns for insert/updateSean Griffin2014-11-011-4/+3
| |/ / / |/| | | | | | | | | | | | | | | This slightly simplifies the code, and reduces the number of times we need to iterate over the attributes by one.
* | | | remove unused and untested APIAaron Patterson2014-10-311-6/+2
| | | |
* | | | fix set_pk_sequence and add a test for it.Aaron Patterson2014-10-312-1/+9
| | | |
* | | | Added region sequencing of primary keys for Postgres.Joe Rafaniello2014-10-311-0/+21
|/ / / | | | | | | | | | | | | | | | | | | Skip setting sequence on a table create if the value is 0 since it will start the first value at 1 anyway. This fixes the PG error 'setval: value 0 is out of bounds for sequence vms_id_seq...' encountered when migrating a new DB. BugzID: 15452,9772,13475,16850
* | | Don't attempt to load the schema file in tests if none existsSean Griffin2014-10-312-3/+18
| | |
* | | Don't modify the columns hash to set defaults from the attributes APISean Griffin2014-10-313-14/+39
| | | | | | | | | | | | | | | Nothing is directly using the columns for the default values anymore. This step helps us get closer not not mutating the columns hash.
* | | Load test schema even if there are no migrationsSean Griffin2014-10-312-1/+18
| | | | | | | | | | | | Fixes #17170
* | | Merge pull request #17305 from ↵Rafael Mendonça França2014-10-312-1/+90
|\ \ \ | | | | | | | | | | | | | | | | ziggythehamster/activerecord-connectionhandling-RAILS_ENV-without-rails If Rails is not defined, check ENV["RAILS_ENV"] and ENV["RACK_ENV"] in ActiveRecord::ConnectionHandling
| * | | If Rails is not defined, check ENV["RAILS_ENV"] and ENV["RACK_ENV"].Keith Gable2014-10-212-1/+90
| |/ / | | | | | | | | | | | | | | | | | | This fixes a regression introduced by 6cc03675d30b58e28f585720dad14e947a57ff5b. ActiveRecord, if used without Rails, always checks the "default_env" environment. This would be OK, except that Sinatra also supports environments, and it runs with {RACK|RAILS}_ENV=production. This patch adds a fallback to RAILS_ENV and RACK_ENV (and ultimately default_env) if Rails.env doesn't exist.
* | | Use the correct values for int max and minSean Griffin2014-10-313-56/+119
| | | | | | | | | | | | | | | We had accidentally gone one power of two too far. In addition, we need to handle minimum values as well as the maximum.
* | | Treat strings greater than int max value as out of rangeSean Griffin2014-10-319-18/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sufficiently large integers cause `find` and `find_by` to raise `StatementInvalid` instead of `RecordNotFound` or just returning `nil`. Given that we can't cast to `nil` for `Integer` like we would with junk data for other types, we raise a `RangeError` instead, and rescue in places where it would be highly unexpected to get an exception from casting. Fixes #17380
* | | Rename `default_attributes` to `_default_attributes`Sean Griffin2014-10-312-3/+3
| | | | | | | | | | | | | | | It is internal use only. This is to avoid conflicting with users' method names. Fixes #17458
* | | Don't require calculations to be aliased to a columnSean Griffin2014-10-312-2/+1
| | | | | | | | | | | | | | | | | | | | | Arel has changed so that `.sum` no longer aliases `SUM(the_column)` to `sum_id`. This means the type returned by the adapter will be at the key `"SUM(the_column)"`. Longer term, we should eventually be able to retain type information from the AR::Base subclasses used in joined queries