aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* 7914 Using a better way to get the defaults from db.Arturo Pie2012-10-141-12/+7
| | | | | | | | | | | | | | | | Changes: * According to postgreSQL documentation: (http://www.postgresql.org/docs/8.2/static/catalog-pg-attrdef.html) we should not be using 'adsrc' field because this field is unaware of outside changes that could affect the way that default values are represented. Thus, I changed the queries to use "pg_get_expr(adbin, adrelid)" instead of the historical "adsrc" field. * Remove parsing of character type default values for 8.1 formatting since Rails doesn't support postgreSQL 8.1 anymore. * Remove misleading comment unrelated to code.
* #7914 get default value when type uses schema nameArturo Pie2012-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | PostgreSQL adapter properly parses default values when using multiple schemas and domains. When using domains across schemas, PostgresSQL prefixes the type of the default value with the name of the schema where that type (or domain) is. For example, this query: ``` SELECT a.attname, d.adsrc FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = "defaults"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum; ``` could return something like "'<default_value>'::pg_catalog.text" or "(''<default_value>'::pg_catalog.text)::text" for the text columns with defaults. I modified the regexp used to parse this value so that it ignores anything between ':: and \b(?:character varying|bpchar|text), and it allows to have optional parens like in the above second example.
* Fix has_many assocation w/select load after createErnie Miller2012-10-121-1/+1
| | | | | | | | | | If you create a new record via a collection association proxy that has not loaded its target, and which selects additional attributes through the association, then when the proxy loads its target, it will inadvertently trigger a deprecation notice during attribute writing when CollectionAssociation#merge_target_lists attempts to do its thing, since the newly loaded records will possess attributes the created record does not.
* Eager autoload Preloader classesJohn Firebaugh2012-10-101-10/+14
| | | | | | Without eager autoloading, these would be autoloaded only when #preloader_for is called, which is too late in threaded applications.
* Eager autoload ActiveRecord association helpersMichael Fairley2012-10-101-5/+7
|
* Merge pull request #7850 from ↵Rafael Mendonça França2012-10-061-1/+1
| | | | | | | | | senny/5920_postgres_adapter_table_with_capital_letters postgres, quote table names when fetching the primary key (#5920) Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
* Merge pull request #6978 from frodsan/count_nosql_unsaved_parentRafael Mendonça França2012-10-041-0/+2
| | | | Count returns 0 without querying if parent is not saved
* RefactorSantiago Pastorino2012-10-031-5/+3
| | | | | Conflicts: activerecord/lib/active_record/counter_cache.rb
* Merge pull request #7822 from lulalala/reset-counter-cache-for-has-many-throughRafael Mendonça França2012-10-021-2/+8
| | | | | | | Fix reset_counters crashing on has_many :through associations. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/counter_cache.rb
* backport 68677ffb8298105eb9d3efa26d928dd88cc5e006Evan Petrie2012-09-282-6/+5
|
* ConnectionPool accepts spec key 'checkout_timeout'Jonathan Rochkind2012-09-241-3/+9
| | | | | | | Backport of #6441 cb6f83935 . Old 'wait_timeout' is still supported, but conflicts with mysql2 using that spec key for different thing. 'checkout_timeout' can now be used taking precedence for ConnectionPool over 'wait_timeout'.
* Merge pull request #3544 from amatsuda/_field_changedAaron Patterson2012-09-212-4/+4
| | | | | | | | Rename field_changed? to _field_changed? so that users can create a field named field Conflicts: activerecord/lib/active_record/core.rb activerecord/test/cases/dirty_test.rb
* Revert "backport fair connection pool 02b2335563 to 3-2-stable"Rafael Mendonça França2012-09-201-190/+49
| | | | | | | | | | | | | This reverts commit 0693e079708a52b777f2b7872b8e3d467b880a0d. Revert "Cache columns metadata to avoid extra while testing" This reverts commit a82f1e3f5d11c8dfba9f4c911745ec40a7965216. Reason: This is causing failures in the postgresql build. See http://travis-ci.org/#!/rails/rails/builds/2485584 Related with #7675
* Load the environment after creating the databaseJeremy Kemper2012-09-191-2/+2
| | | | | Conflicts: activerecord/lib/active_record/railties/databases.rake
* backport fair connection pool 02b2335563 to 3-2-stableJonathan Rochkind2012-09-171-49/+190
|
* Merge pull request #7661 from ernie/build-join-records-on-unsaved-hmtRafael Mendonça França2012-09-171-0/+14
| | | | Fix collection= on hm:t join models when unsaved
* Merge pull request #7651 from steveklabnik/issue_3956Rafael Mendonça França2012-09-161-1/+1
| | | | | | | | | Don't preserve SELECT columns on COUNT Closes #7651 Conflicts: activerecord/test/cases/associations/has_many_associations_test.rb
* Backport explain fixes.Rafael Mendonça França2012-09-163-12/+13
| | | | | | | | * Mark as SCHEMA some schema database queries. #7648 * Don't explain queries except normal CRUD sql. #7657 Closes #6458 Closes #7544
* Backport PostgreSQL auto-reconnect test coverageSteve Jorgensen2012-09-131-0/+1
| | | | | | | | | | | | | | | | 6d5f4de4c420ebb906109668f5702a537ac77692 Simulated & actual (manual/skipped) PostgreSQL auto-reconnection tests. 4b1bca04025a66c54e6e9d5eb6e4d4056bfa92f0 Stop being silly with formatting of method aliasing. c381d5cbf959208adeb38e7859ee815dfbd2cf54 Fix just-plain-wrongness of psql auto-reconnect test. 1e17a9d367c54c680368be72f44247ae28b98904 Fix only-once stub logic. f16c2043826ec1991cf94fe17cb671507b7a7f51 Changelog for PostgreSQL auto-reconnect test coverage backport.
* Backported #7572 to 3-2-stable. Use config['encoding'], because database ↵kennyj2012-09-121-3/+3
| | | | configuration use not charset but encoding.
* Merge pull request #7582 from tchandy/fix_type_cast_codeRafael Mendonça França2012-09-091-2/+2
|\ | | | | type_cast_code should always convert values to integer calling #to_i
| * ConnectionAdapters::Column.type_cast_code should always convert values to ↵Thiago Pradi2012-09-091-2/+2
| | | | | | | | integer calling #to_i
* | Merge pull request #7337 from adzap/string_to_dummy_timeRafael Mendonça França2012-09-051-1/+7
| | | | | | | | | | | | Fix for time type columns with invalid time value Conflicts: activerecord/CHANGELOG.md
* | set the configured #inheritance_column on #become (#7503)Yves Senn2012-09-031-1/+1
|/ | | | | | | | | | | | | | | | | | | I had to create a new table because I needed an STI table, which does not have both a "type" and a "custom_type" the test fails with: 1) Error: test_alt_becomes_works_with_sti(InheritanceTest): NoMethodError: undefined method `type=' for #<Cabbage id: 1, name: "my cucumber", custom_type: "Cucumber"> /Users/username/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:432:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:100:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/persistence.rb:165:in `becomes' test/cases/inheritance_test.rb:134:in `test_becomes_works_with_sti' test/cases/inheritance_test.rb:140:in `test_alt_becomes_works_with_sti' Conflicts: activerecord/test/cases/inheritance_test.rb
* documents after_(commit|rollback)Xavier Noria2012-08-301-0/+18
|
* Ensure association preloading properly merges default scope and association ↵Pratik Naik2012-08-281-3/+1
| | | | | | | | conditions Conflicts: activerecord/test/models/reader.rb
* Merge pull request #5210 from Pliny/masteriRafael Mendonça França2012-08-211-1/+1
| | | | | | | | Fix for #5200 Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/counter_cache.rb
* Merge pull request #6986 from kennyj/fix_6975Rafael Mendonça França2012-08-211-5/+14
| | | | | | | Fix #6975. Round usec when writing timestamp attribute. Conflicts: activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
* Merge pull request #7377 from ↵Carlos Antonio da Silva2012-08-211-1/+1
| | | | | | | | | | | brainopia/use_inversed_parent_for_first_and_last_child Use inversed parent for first and last child of has_many association [Backport] Closes #3223. Conflicts: activerecord/lib/active_record/associations/collection_association.rb
* Merge pull request #7388 from ↵Rafael Mendonça França2012-08-181-1/+1
|\ | | | | | | | | ManageIQ/fix_table_remove_passing_array_deprecation Table#remove passed an array to remove_column, which is deprecated.
| * Table#remove passed an array to remove_column, which is deprecated.Joe Rafaniello2012-08-181-1/+1
| | | | | | | | See 02ca9151a043a4fefbb3f22edd05f0cd392fffaa
* | Ruby 1.8 doesn't have to_r defined to NilClass and Float.Rafael Mendonça França2012-08-181-5/+14
|/ | | | Use round to get the right conversion
* Merge pull request #7352 from aripollak/microsecond-timestampRafael Mendonça França2012-08-171-2/+2
| | | | | | Fix occasional microsecond conversion inaccuracy Conflicts: activerecord/CHANGELOG.md
* Do not use update_column where update_attribute is not interchangeableRafael Mendonça França2012-08-153-9/+6
| | | | | | | | | | | | Revert "Deprecate update_attribute." This reverts commit b081f6b59fb3f15d12043072ad9b331ffd2bc56e. Reason: Since the new deprecation policy we removed the deprecation of update_attribute but we didn't reverted the changes to use update_column. Fixes #7306
* Merge pull request #6073 from daveyeu/restore-state-on-record-invalidRafael Mendonça França2012-08-111-1/+1
| | | | | | Restore state on create when ActiveRecord::RecordInvalid is raised Conflicts: activerecord/CHANGELOG.md
* Merge pull request #7286 from kennyj/fix_7191Rafael Mendonça França2012-08-101-13/+15
| | | | | | Fix #7191. Remove unnecessary transaction when assigning has_one associations. Conflicts: activerecord/test/cases/associations/has_one_associations_test.rb
* Merge branch '3-2-8' into 3-2-stableSantiago Pastorino2012-08-091-1/+1
|\
| * Bump to 3.2.8Santiago Pastorino2012-08-091-1/+1
| |
| * Bump to 3.2.8.rc2Santiago Pastorino2012-08-031-1/+1
| |
| * More `:rails_env` cleanup.Rafael Mendonça França2012-08-021-6/+6
| | | | | | | | `Rails.env` already use development if ENV["RAILS_ENV"] is not present.
| * Do not consider the numeric attribute as changed if the old value isRafael Mendonça França2012-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zero and the new value is not a string. Before this commit this was the behavior r = Review.find_by_issue(0) r.issue => 0 r.changes => {} r.issue = 0 => 0 r.changed? => true r.changes => {"issue"=>[0,0]} Fixes #7237
* | Ported PR #4856 to 3-2-stable.Jeremy Walker2012-08-091-0/+2
| |
* | Merge pull request #5872 from evtuhovich/prepared_statement_fixAaron Patterson2012-08-061-10/+10
| | | | | | | | | | | | Remove prepared statement from system query in postgresql adapter Conflicts: activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
* | Merge pull request #7167 from route/missed_extendJosé Valim2012-08-061-0/+1
| | | | | | | | | | | | | | Missed extend for eager_autoload This backport is trying to fix a bug with eager load ActiveRecord::Associations modules
* | Merge pull request #7140 from seamusabshere/patch-1Rafael Mendonça França2012-08-051-2/+2
| | | | | | | | | | | | | | | | Make sure :environment task is executed before db:schema:load or db:structure:load Conflicts: activerecord/CHANGELOG.md
* | More `:rails_env` cleanup.Rafael Mendonça França2012-08-021-6/+6
| | | | | | | | `Rails.env` already use development if ENV["RAILS_ENV"] is not present.
* | Do not consider the numeric attribute as changed if the old value isRafael Mendonça França2012-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zero and the new value is not a string. Before this commit this was the behavior r = Review.find_by_issue(0) r.issue => 0 r.changes => {} r.issue = 0 => 0 r.changed? => true r.changes => {"issue"=>[0,0]} Fixes #7237
* | Backport #5168 to 3-2-stable. Fix a problem that NULLS is ignored by ↵kennyj2012-08-021-1/+1
|/ | | | postgresql_adapter.rb while creating distincts.
* Bump to 3.2.8.rc1Santiago Pastorino2012-08-011-2/+2
|
* removes the deprecation of update_attributeXavier Noria2012-08-011-1/+0
| | | | Applying the new policy here to not deprecate stuff in point releases.