aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #6616 from dpassage/fix_resolver_test_sqlite3Carlos Antonio da Silva2012-07-191-0/+3
| | | | Resolver tests fail if mysql adapter not installed
* AR::Integration must be included after AM::ConversionJohn Firebaugh2012-07-172-1/+7
| | | | | | Integration's definition of #to_param must override Conversion's. Otherwise, there is a regression from 3.1 in the behavior of a non-persisted AR::Base instance which nevertheless has an id.
* Merge pull request #4396 from kennyj/fix_4259Rafael Mendonça França2012-07-172-4/+40
| | | | Fix GH #4259. When we execute schema dumper, we must remove table_name_prefix and table_name_suffix.
* fixing tests to deal with data differences between prepared statements and ↵Aaron Patterson2012-07-133-3/+8
| | | | non-prepared statements
* Fixing texts; down to three failing tests.Jeremy Cole2012-07-132-15/+24
|
* Only use prepared statements when bind variables are presentJeremy Cole2012-07-131-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepared statements (prepare/execute/close) were being used unnecessarily when no bind variables were present, and disabling prepared statement using prepared_statements:false was principally broken. While bind variables were correctly substituted with prepared_statements:false, the prepared statement interface was still used, costing an extra two round trips per query. In addition to making this behavioral change, I also cleaned up the internals of exec_stmt and exec_without_stmt so that they behave the same (calling log and constructing the ActiveRecord::Result in the same way). Moving the check for binds.empty? to exec_query also will mean that several code paths explicitly calling exec_without_stmt could be cleaned up to once again call exec_query instead. I have also left the check for binds.empty? in exec_stmt, since it is not a private method and could be called directly with an empty binds array. For the sake of clarity in this patch, I have not made those changes. = The previous behavior = When issuing a Foo.find(1) with prepared_statements:true, the bind variable is present in the prepared query, and execute shows a value passed: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = ? LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit When issuing a Foo.find(1) with prepared_statements:false, the bind variable has already been removed and substituted with the value, but the prepared statement interface is used anyway: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit = With this patch applied = When issuing a Foo.find(1) with prepared_statements:true, the bind variable is present in the prepared query, and execute shows a value passed: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = ? LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit When issuing a Foo.find(1) with prepared_statements:false, the bind variable has been removed and substituted with the value, and the query interface is used instead of the prepared statement interface: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Query SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Quit
* Update psql adapter to rename a default pkey sequence during rename_table.Robb Kidd2012-07-102-0/+27
|
* Merge pull request #6985 from sidonath/disable-query-cache-for-locksRafael Mendonça França2012-07-062-1/+17
| | | | | | Disable query cache for lock queries Conflicts: activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb
* Backport #3329 to 3-2-stableFrancesco Rodriguez2012-07-022-15/+31
| | | | | | | Fix bug with autosave collection association on new record with a marked for destroy record in autosave collection. Fixes #6918.
* Merge pull request #6878 from masarakki/masterRafael Mendonça França2012-06-285-0/+41
| | | | | | fix bug in limit of enum columns of mysql Closes #6432
* Merge pull request #6900 from cbandy/issue-6898Carlos Antonio da Silva2012-06-281-0/+2
| | | | | | Require URI in ConnectionSpecification Conflicts: activerecord/lib/active_record/connection_adapters/connection_specification.rb
* Ensure Arel columns are typecasted properly when grouping with calculationCarlos Antonio da Silva2012-06-252-5/+9
| | | | | | | | Fix build issue with postgresql. Conflicts: activerecord/lib/active_record/relation/calculations.rb activerecord/test/cases/calculations_test.rb
* Merge pull request #6842 from ernie/handle-non-strings-in-grouped-calculationsRafael Mendonça França2012-06-242-6/+22
| | | | | | Stop assuming strings for grouped calculations Conflicts: activerecord/lib/active_record/relation/calculations.rb
* Remove waning of unused variableRafael Mendonça França2012-06-211-1/+0
|
* Merge branch 'acapilleri-update_nested_attributes'Rafael Mendonça França2012-06-212-5/+25
| | | | | | | Closes #6675 Conflicts: activerecord/lib/active_record/attribute_methods/dirty.rb
* Merge pull request #6758 from caironoleto/masterJosé Valim2012-06-181-13/+13
| | | | | | Fixing load config in some tasks Conflicts: activerecord/lib/active_record/railties/databases.rake
* Deprecating composed_of in ActiveRecordSteve Klabnik2012-06-185-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature adds a lot of complication to ActiveRecord for dubious value. Let's talk about what it does currently: class Customer < ActiveRecord::Base composed_of :balance, :class_name => "Money", :mapping => %w(balance amount) end Instead, you can do something like this: def balance @balance ||= Money.new(value, currency) end def balance=(balance) self[:value] = balance.value self[:currency] = balance.currency @balance = balance end Since that's fairly easy code to write, and doesn't need anything extra from the framework, if you use composed_of today, you'll have to add accessors/mutators like that. This feature will be removed in Rails 4.
* Remove unneded tests.Rafael Mendonça França2012-06-141-11/+1
| | | | | | | Before b081f6b59fb3f15d12043072ad9b331ffd2bc56e, this test are asserting that update_attribute does the dirty tracking. Since we deprecated this method and update_column write in the database directly this tests will always fail.
* registers the deprecation of update_attribute in the CHANGELOGXavier Noria2012-06-141-0/+8
|
* Deprecate update_attribute.Steve Klabnik2012-06-147-17/+41
| | | | | | | | | | | Historically, update_attribute and update_attributes are similar, but with one big difference: update_attribute does not run validations. These two methods are really easy to confuse given their similar names. Therefore, update_attribute is being deprecated in favor of update_column, and will be removed in Rails 4. See the discussion on rails-core here: https://groups.google.com/d/topic/rubyonrails-core/BWPUTK7WvYA/discussion
* Merge branch '3-2-stable-rel' into 3-2-stableAaron Patterson2012-06-124-5/+17
|\ | | | | | | | | | | | | | | | | | | * 3-2-stable-rel: updating changelogs bumping version numbers updating changelogs with security fixes updating changelogs Array parameters should not contain nil values. Additional fix for CVE-2012-2661
| * updating changelogsAaron Patterson2012-06-121-1/+3
| |
| * bumping version numbersAaron Patterson2012-06-111-1/+1
| |
| * updating changelogs with security fixesAaron Patterson2012-06-111-0/+4
| |
| * Additional fix for CVE-2012-2661Ernie Miller2012-06-112-3/+9
| | | | | | | | | | | | | | | | While the patched PredicateBuilder in 3.1.5 prevents a user from specifying a table name using the `table.column` format, it doesn't protect against the nesting of hashes changing the table context in the next call to build_from_hash. This fix covers this case as well.
* | Merge pull request #6715 from arunagw/add_assertsRafael Mendonça França2012-06-121-2/+2
| | | | | | | | Need a assert here in tests
* | Merge pull request #6676 from aurelian/masterRafael Mendonça França2012-06-122-1/+5
|/ | | | Don't assign the attributes if the list is empty
* Change the string to use in test case.kennyj2012-06-112-2/+2
| | | | | | | Conflicts: activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb activerecord/test/cases/adapters/mysql2/schema_test.rb
* Fix GH #3163. Should quote database on mysql/mysql2.kennyj2012-06-113-1/+22
| | | | | | Conflicts: activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
* Merge pull request #6698 from yahonda/address_ora_911_masterRafael Mendonça França2012-06-112-2/+2
| | | | Address ORA-00911 errors because of the heading underscore.
* Merge pull request #6521 from Empact/throw-resultRafael Mendonça França2012-06-102-1/+8
| | | | | | Fix that #exists? can blow up with ThrowResult exception Conflicts: activerecord/lib/active_record/relation/finder_methods.rb
* Remove warningRafael Mendonça França2012-06-101-1/+1
|
* Add test to column alias in `exists?` SQL.Rafael Mendonça França2012-06-101-0/+6
| | | | | | | | This behavior was added in dd286a4c735dac1db8c9262581c7f29c44d1f695 Closes #1139. Fixes #2553, #1141, #1623 and #2062.
* Minimal change to query generation of exists? that makes SQLServer and ↵iaddict2012-06-101-1/+1
| | | | | | | others happy that do not work without a column alias. Conflicts: activerecord/lib/active_record/relation/finder_methods.rb
* Merge pull request #6695 from kennyj/fix_6635Rafael Mendonça França2012-06-102-5/+14
| | | | Fix #6635. We should call Scoping methods, before calling Array methods.
* ActiveRecord#attributes optimization: minimize objects createdTieg Zaharia2012-06-091-1/+3
|
* Make test cover previous reversionJon Leighton2012-06-071-0/+1
|
* Revert "Perf: Don't load the association for #delete_all."Jon Leighton2012-06-076-45/+21
| | | | | | | | | | This reverts commit b98d1e21635d8776de8893cc09bd86c71f6c78f0. Closes #6609 Conflicts: activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
* Fix #6591. If a field with timezone isn't changed, we don't call will_change!.kennyj2012-06-041-1/+2
|
* Add failing test for 3.2.5 datetime attribute regressionEvan Arnold2012-06-041-0/+11
|
* Merge pull request #6593 from ↵Rafael Mendonça França2012-06-011-1/+3
|\ | | | | | | | | yahonda/skip_test_remove_column_with_array_as_an_argument_is_deprecated Skip test_remove_column_with_array_as_an_argument_is_deprecated with Oracle
| * Skip test_remove_column_with_array_as_an_argument_is_deprecated with Oracle ↵Yasuo Honda2012-06-021-1/+3
| | | | | | | | | | | | | | adapter. Because Oracle adapter supports only remove_column :table_name, :column_name syntax and it has never supported remove_column :table_name, [:column_name].
* | Add release date of 3.2.5 on the CHANGELOGRafael Mendonça França2012-06-011-0/+9
|/
* bumping to 3.2.5Aaron Patterson2012-05-311-1/+1
|
* Restore behavior of Active Record 3.2.3 scopesAndrew White2012-06-014-31/+4
| | | | | | | | | | | | | | A series of commits relating to preloading and scopes caused a regression. Cloning the relation calls initialize_copy which resets a number of instance variables to nil. Without this the scope thinks that it is already loaded when it is called again. Reverts the following commits: 13f1401a6cf0266a3b0a91b173f976db2d4e50f3 8491740ca5361ba9df20e1c8b906c709f5bfbc12 dffbb521a0d00c8673a3ad6e0e8ff526f32daf4e Fixes #6575, #6576 & #6577
* Merge branch '3-2-rel' into 3-2-stableAaron Patterson2012-05-312-2/+11
|\ | | | | | | | | | | | | | | * 3-2-rel: bumping to 3.2.4 adding security notifications to CHANGELOGs updating changelogs Merge pull request #6558 from parndt/fix_regression
| * bumping to 3.2.4Aaron Patterson2012-05-311-1/+1
| |
| * adding security notifications to CHANGELOGsAaron Patterson2012-05-311-0/+3
| |
| * Merge branch '3-2-stable-sec' into 3-2-relAaron Patterson2012-05-313-4/+38
| |\ | | | | | | | | | | | | | | | * 3-2-stable-sec: Strip [nil] from parameters hash. Thanks to Ben Murphy for reporting this! predicate builder should not recurse for determining where columns. Thanks to Ben Murphy for reporting this
| * | updating changelogsAaron Patterson2012-05-311-1/+7
| | |