aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Merge pull request #7031 from robbkidd/rename_sequences_too_backport_to_3-2Piotr Sarnacki2012-07-112-0/+27
|\ | | | | Back-port #6874 to 3.2: psql adapter should rename a default pk sequence during rename_table
| * Update psql adapter to rename a default pkey sequence during rename_table.Robb Kidd2012-07-102-0/+27
|/
* Merge pull request #7025 from rustygeldmacher/select_options_valid_htmlRafael Mendonça França2012-07-102-5/+18
|\ | | | | Select options valid html
| * Fixed bug creating invalid HTML in select optionsRusty Geldmacher2012-07-102-5/+18
|/ | | | | | | | | When a select tag is created for a field with errors, and that select tag has :prompt or :include_blank options, then the inserted first option will errantly have a <div class="field_with_errors"> wrapping it. See https://github.com/rails/rails/issues/7017
* Merge pull request #7015 from sikachu/3-2-stable-code-styleXavier Noria2012-07-091-8/+8
|\ | | | | Update coding convention from master
| * Update coding convention from masterPrem Sichanugrist2012-07-091-8/+8
|/
* 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
* Since Rails 3.2, use layout false to render no layoutJosé Valim2012-07-061-1/+1
|
* Merge pull request #6973 from route/wrapped_keys_in_log_for_3_2Rafael Mendonça França2012-07-052-1/+10
|\ | | | | MIssed backport for 3.2
| * Show in log correct wrapped keysDmitry Vorotilin2012-07-052-1/+10
|/
* Fix NumberHelper options wrapping to prevent verbatim blocks being rendered ↵Mark J. Titorenko2012-07-021-90/+159
| | | | | | | | | | instead of line continuations. While I'm at it, wrap long comment lines consistently. Conflicts: actionpack/lib/action_view/helpers/number_helper.rb There was just one conflict related to the addition of the :format option to number_to_percentage.
* Merge pull request #6935 from frodsan/b1e509ad7a8c8264544f10f4666705cd806b5408Rafael Mendonça França2012-07-022-15/+31
|\ | | | | Backport #3329 to 3-2-stable
| * 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.
* make sure the inflection rules are loaded when cherry-picking ↵Xavier Noria2012-06-293-0/+5
| | | | active_support/core_ext/string/inflections.rb [fixes #6884]
* 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
* Merge pull request #6857 from rsutphin/as_core_ext_time_missing_requireCarlos Antonio da Silva2012-06-251-0/+1
| | | | Missing require breaks Time.=== when selectively loading ActiveSupport core_exts in 3.2.4+
* 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
* Merge pull request #6649 from route/logger_in_metal_3_2Carlos Antonio da Silva2012-06-182-2/+21
|\ | | | | Logger in metal backport for 3.2
| * Added test for case when view doesn't have logger method when using ↵Dmitry Vorotilin2012-06-161-0/+17
| | | | | | | | ActionController::Metal controller.
| * ActionController::Metal doesn't have logger method, check it and then delegateDmitry Vorotilin2012-06-161-2/+4
| |
* | Merge pull request #6742 from steveklabnik/deprecate_composed_ofRafael Mendonça França2012-06-185-7/+24
|\ \ | | | | | | Deprecate composed of
| * | 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.
* | Use strict_args_position! if available from ThorJosé Valim2012-06-181-0/+1
| |
* | Merge pull request #6764 from frodsan/patch-4Rafael Mendonça França2012-06-171-2/+2
|\ \ | | | | | | bump AS deprecation_horizon to 4.0
| * | bump AS deprecation_horizon to 4.0Francesco Rodríguez2012-06-171-2/+2
|/ /
* | Merge pull request #6756 from arunagw/build_fix_apRafael Mendonça França2012-06-161-1/+1
|\ \ | | | | | | Build fix actionpack
| * | It should also include text/css => Build FixArun Agrawal2012-06-161-1/+1
|/ /
* / Merge pull request #6752 from steveklabnik/fix_5680Rafael Mendonça França2012-06-163-4/+21
|/ | | | Respect absolute paths in compute_source_path.
* 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
|
* Merge pull request #6739 from steveklabnik/3-2-stableXavier Noria2012-06-147-17/+41
|\ | | | | Deprecate update_attribute
| * 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
* | adding a test for #6459Aaron Patterson2012-06-141-0/+10
|/
* ActionController::Caching depends on RackDelegation and ↵Santiago Pastorino2012-06-132-0/+35
| | | | AbstractController::Callbacks
* Merge pull request #6716 from frodsan/patch-2Rafael Mendonça França2012-06-121-1/+1
|\ | | | | Fix Build
| * Fix buildFrancesco Rodríguez2012-06-121-1/+1
|/
* Merge branch '3-2-stable-rel' into 3-2-stableAaron Patterson2012-06-1220-16/+58
|\ | | | | | | | | | | | | | | | | | | * 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-127-7/+11
| |
| * bumping version numbersAaron Patterson2012-06-119-9/+9
| |
| * updating changelogs with security fixesAaron Patterson2012-06-112-0/+6
| |
| * updating changelogsAaron Patterson2012-06-115-0/+20
| |
| * Array parameters should not contain nil values.Aaron Patterson2012-06-112-2/+8
| |