aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-02-141-3/+3
|\ \ \ \ \
| * | | | | Do not use the same name for two `:belongs_to`claudiob2015-02-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A model cannot have two `:belongs_to` with the same exact name, so we are better off avoiding this code in our examples, which might mislead users in thinking it's admissible. [ci skip]
* | | | | | Mention `where.not` in the exampleGodfrey Chan2015-02-142-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...so it doesn't look like you *have* to use SQL strings for that case (not anymore!). Would like to replace the SQL string example with something that you cannot do with the "normal" query API, but I could not come up with a short, realistic example. Suggestions welcome!
* | | | | | Fixed a bug where NULLs are casted into the first enum valueGodfrey Chan2015-02-132-3/+9
| | | | | |
* | | | | | Partially revert ae33aeaGodfrey Chan2015-02-132-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using enum names in SQL strings doesn't actually work, the test was wrong (fixed in 3dfd1ba).
* | | | | | Break up these testsGodfrey Chan2015-02-131-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | Make sure we have coverage for both the find/build cases
* | | | | | oops, 'format' is not a real enumGodfrey Chan2015-02-131-8/+8
| | | | | |
* | | | | | Enums mapping is a HWIA [ci skip]Godfrey Chan2015-02-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous edit kind of de-emphasized that, so changing it to be more explict. (It also avoids showing it as if it's a string-keyed hash.)
* | | | | | Enums should be referred to by symbolsGodfrey Chan2015-02-132-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also updated the documentation about the new ability to query them normally, and added test to make sure they work!
* | | | | | remove CHANGELOG entry for Rails 5.0 only feature. #18918Yves Senn2015-02-131-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `has_secure_token` hasen't been released yet. No need to track every change in the CHANGELOG.
* | | | | | Do not overwrite secret token value when already present.Wojciech Wnętrzak2015-02-123-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` user = User.create(token: "custom-secure-token") user.token # => "custom-secure-token" ```
* | | | | | Merge pull request #18915 from kamipo/extract_date_time_precision_testRafael Mendonça França2015-02-124-271/+102
|\ \ \ \ \ \ | | | | | | | | | | | | | | Extract `DateTimePrecisionTest`
| * | | | | | Extract `DateTimePrecisionTest`Ryuta Kamizono2015-02-134-271/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The datetime precision tests for any adapters is duplicated.
* | | | | | | Optimize none? and one? relation query methods to use LIMIT and COUNT.Eugene Gilburg2015-02-126-2/+162
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use SQL COUNT and LIMIT 1 queries for none? and one? methods if no block or limit is given, instead of loading the entire collection to memory. The any? and many? methods already follow this behavior. [Eugene Gilburg & Rafael Mendonça França]
* | | | | | Merge pull request #18886 from kamipo/allow_precision_option_for_time_columnRafael Mendonça França2015-02-127-19/+90
|\ \ \ \ \ \ | | | | | | | | | | | | | | Allow `:precision` option for time type columns
| * | | | | | Allow `:precision` option for time type columnsRyuta Kamizono2015-02-127-19/+90
| | | | | | |
* | | | | | | get rid of transaction warning when running PG tests.Yves Senn2015-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This finally removes the warning "WARNING: there is no transaction in progress" when running Active Record tests using PostgreSQL.
* | | | | | | pg tests, be clear about the missing type that causes a test skip.Yves Senn2015-02-122-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also removed some cruft in the `setup` and `teardown` methods.
* | | | | | | tests, remove unused requires.Yves Senn2015-02-122-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "active_support/testing/stream" is already required in `test_case.rb`. Furthermore the test "test/cases/migration_test.rb" could no longer be executed directly.
* | | | | | | Schema creation doesn't load the appTamir Duberstein2015-02-111-1/+1
|/ / / / / /
* | | | | | Don't break enum on PGSean Griffin2015-02-111-1/+1
| | | | | |
* | | | | | Refactor enum to be defined in terms of the attributes APISean Griffin2015-02-113-44/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to cleaning up the implementation, this allows type casting behavior to be applied consistently everywhere. (#where for example). A good example of this was the previous need for handling value to key conversion in the setter, because the number had to be passed to `where` directly. This is no longer required, since we can just pass the string along to where. (It's left around for backwards compat) Fixes #18387
* | | | | | `current_scope` shouldn't pollute sibling STI classesSean Griffin2015-02-114-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like the only reason `current_scope` was thread local on `base_class` instead of `self` is to ensure that when we call a named scope created with a proc on the parent class, it correctly uses the default scope of the subclass. The reason this wasn't happening was because the proc captured `self` as the parent class, and we're not actually defining a real method. Using `instance_exec` fixes the problem. Fixes #18806
* | | | | | Merge pull request #18888 from kamipo/refactor_quote_default_expressionRafael Mendonça França2015-02-114-18/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | Refactor `quote_default_expression`
| * | | | | | Refactor `quote_default_expression`Ryuta Kamizono2015-02-114-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `quote_default_expression` and `quote_default_value` are almost the same handling for do not quote default function of `:uuid` columns. Rename `quote_default_value` to `quote_default_expression`, and remove duplicate code.
* | | | | | | Remove the SQLite3 Binary subclassSean Griffin2015-02-112-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As far as I can tell, the original reason that this behavior was added has been sufficiently resolved elsewhere, as we no longer remove the encoding of strings coming out of the database.
* | | | | | | Remove an unused option that I didn't mean to commit [ci skip]Sean Griffin2015-02-111-2/+1
| | | | | | |
* | | | | | | Remove most PG specific type subclassesSean Griffin2015-02-1113-90/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest version of the PG gem can actually convert the primitives for us in C code, which gives a pretty substantial speed up. A few cases were only there to add the `infinity` method, which I just put on the range type (which is the only place it was used). Floats also needed to parse `Infinity` and `NaN`, but it felt reasonable enough to put that on the generic form.
* | | | | | | Merge pull request #18883 from ↵Sean Griffin2015-02-113-23/+46
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/fix_datetime_precision_dumping_zero_for_postgresql The datetime precision with zero should be dumped
| * | | | | | | The datetime precision with zero should be dumpedRyuta Kamizono2015-02-113-23/+46
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | `precision: 0` was not dumped by f1a0fa9e19b7e4ccaea191fc6cf0613880222ee7. However, `precision: 0` is valid value for PostgreSQL timestamps.
* | | | | | | prefer `drop_table :table, if_exists: true` over explicit checks.Yves Senn2015-02-111-2/+2
| | | | | | |
* | | | | | | add test to ensure `remove_reference` with index and fk is invertable.Yves Senn2015-02-111-0/+5
| | | | | | |
* | | | | | | fix `remove_reference` with `foreign_key: true` on MySQL. #18664.Yves Senn2015-02-113-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MySQL rejects to remove an index which is used in a foreign key constraint: ``` ActiveRecord::StatementInvalid: Mysql2::Error: Cannot drop index 'index_copies_on_title_id': needed in a foreign key constraint: ALTER TABLE `copies` DROP `title_id` ``` Removing the constraint before removing the column (and the index) solves this problem.
* | | | | | | Merge pull request #18890 from kamipo/remove_cast_typeYves Senn2015-02-111-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove `cast_type` in `ColumnDefinition`
| * | | | | | | Remove `cast_type` in `ColumnDefinition`Ryuta Kamizono2015-02-111-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | This is no longer needed.
* / / / / / / Use keyword argument in `transaction`Ryuta Kamizono2015-02-111-6/+4
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | The keys are already validated, so it is better to use the built-in feature to do this.
* | | | | | Merge pull request #18877 from prathamesh-sonpatki/ar-changelog-typos-2Rafael Mendonça França2015-02-101-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fixed typos in ActiveRecord CHANGELOG [ci skip]
| * | | | | | Fixed typos in ActiveRecord CHANGELOG [ci skip]Prathamesh Sonpatki2015-02-111-2/+2
| | | | | | |
* | | | | | | Merge pull request #12257 from vipulnsward/end_on_find_in_batchesRafael Mendonça França2015-02-103-12/+36
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Add an option `end` to `find_in_batches`
| * | | | | | Add an option `end_at` to `find_in_batches`Vipul A M2015-02-093-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | that complements the `start`parameter to specify where to stop batch processing
* | | | | | | Refactor microsecond precision to be database agnosticSean Griffin2015-02-1011-84/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The various databases don't actually need significantly different handling for this behavior, and they can achieve it without knowing about the type of the object. The old implementation was returning a string, which will cause problems such as breaking TZ aware attributes, and making it impossible for the adapters to supply their logic for time objects.
* | | | | | | Merge pull request #18860 from ↵Rafael Mendonça França2015-02-101-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alex-handley/enhancement/dependent_documentation_fix Documentation Fix: Corrects explanation of what happens when dependent is not set
| * | | | | | | [ci skip] corrects documentation for the default dependent behaviourAlex Handley2015-02-091-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default the foreign key will remain set with the parent id after destroy is fired.
* | | | | | | Maintain a consistent order in `ActiveRecord::Base#attributes`Sean Griffin2015-02-102-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #18871
* | | | | | | Change `LockingType` to use `DelegateClass`Sean Griffin2015-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Significantly faster than `SimpleDelegator`.
* | | | | | | Merge pull request #18849 from kamipo/array_type_is_a_part_of_sql_typeSean Griffin2015-02-092-19/+4
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | An array type is a part of `sql_type`
| * | | | | | An array type is a part of `sql_type`Ryuta Kamizono2015-02-082-19/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `sql_type` is reused in `lookup_cast_type`. If making it a part of `sql_type` when handled array option first, it isn't necessary to do again.
* | | | | | | Remove debug codeCarlos Antonio da Silva2015-02-081-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added by 101c19f55f5f1d86d35574b805278f11e9a1a48e.
* | | | | | | Fix rounding problem for PostgreSQL timestamp columnRyuta Kamizono2015-02-085-19/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If timestamp column have the precision, it need to format according to the precision of timestamp column.
* | | | | | | Merge pull request #18602 from kamipo/respect_database_charset_and_collationAndrew White2015-02-083-5/+21
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Respect the database default charset for `schema_migrations` table.