aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | It's better to pass strings to assert_match - it converts them to regular ↵Jakub Kuźma2012-07-091-2/+2
| | | | | | | | | | | | | | | | expressions, escaping special chars like '.'. It seems email.encoded contains some unexpected line breaks (due to encoding), it's better to assert_match email.body.to_s.
| * | | Revert "Select missing formbuilder typo."Dan Patrick2012-07-081-2/+2
| | | | | | | | | | | | | | | | This reverts commit bf97795e7327e15774666d2197f1c0b8ada57a84.
| * | | Select missing formbuilder typo.Dan Patrick2012-07-081-2/+2
| | | |
| * | | Document building complex forms using accepts_nested_attributes_forFrederick Cheung2012-07-081-8/+127
| | | |
| * | | Add docs for having, lock and readonlyOscar Del Ben2012-07-071-0/+12
| | | |
| * | | Add doc for joins and improve includes docOscar Del Ben2012-07-071-2/+17
| | | |
| * | | Add docs for eager_laod and preloadOscar Del Ben2012-07-071-0/+10
| | | |
* | | | adds a missing require [fixes #6896]Xavier Noria2012-07-152-1/+1
| | | | | | | | | | | | | | | | | | | | This file uses Time.zone, which is defined in active_support/core_ext/time/zones.rb.
* | | | Merge pull request #7057 from kennyj/fix_sql_bypass_problemRafael Mendonça França2012-07-142-1/+15
|\ \ \ \ | | | | | | | | | | Fix SqlBypass.data_column problem.
| * | | | Fix SqlBypass.data_column= problem. SqlBypass.find_by_session_id method ↵kennyj2012-07-152-1/+15
| | | | | | | | | | | | | | | | | | | | didn't use this assignment.
* | | | | Merge pull request #7056 from kennyj/avoid_twice_callRafael Mendonça França2012-07-141-6/+8
|\| | | | | | | | | | | | | | Avoid to call send(store_attribute) twice.
| * | | | Avoid to call send(store_attribute) twice.kennyj2012-07-151-6/+8
|/ / / /
* | | | Merge pull request #7053 from pferdefleisch/activesupport-timely-requiresXavier Noria2012-07-143-0/+14
|\ \ \ \ | | | | | | | | | | Added time related req files to AS core_ext #6896
| * | | | Added time related req files to AS core_ext #6896Aaron Cruz2012-07-143-0/+14
|/ / / / | | | | | | | | | | | | | | | | | | | | This way you can `require 'active_record/core_ext/time'` for example I see these libs are available through `active_record/time` but not individually
* | | | teaching the mysql adapter how to typecast strings returned from the databaseAaron Patterson2012-07-132-4/+134
| | | |
* | | | fixing tests to deal with data differences between prepared statements and ↵Aaron Patterson2012-07-133-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | non-prepared statements Conflicts: activerecord/test/cases/query_cache_test.rb
* | | | Fixing texts; down to three failing tests.Jeremy Cole2012-07-132-15/+24
| | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
* | | | 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
* | | | fix association :extend optionJon Leighton2012-07-136-16/+26
| | | |
* | | | Merge pull request #7048 from kennyj/tiny_fixesRafael Mendonça França2012-07-133-14/+10
|\ \ \ \ | | | | | | | | | | [tiny fixes] Remove more duplicated code.
| * | | | Remove duplicated unique index name.kennyj2012-07-141-4/+7
| | | | |
| * | | | Remove instance level quote_value method. This method is private and also ↵kennyj2012-07-142-10/+3
|/ / / / | | | | | | | | | | | | exists in class method.
* | | | Merge pull request #7045 from kennyj/remove_duplicated_code_20120714Rafael Mendonça França2012-07-131-11/+3
|\ \ \ \ | | | | | | | | | | Remove duplicated code in the AR::Store.
| * | | | Remove duplicated code in the AR::Store.kennyj2012-07-141-11/+3
| | | | |
* | | | | revises RUNNING_UNIT_TESTS to delegate stuff to the contributing guideXavier Noria2012-07-131-11/+5
| | | | |
* | | | | move the deprecated options into active_record_deprecated_findersJon Leighton2012-07-132-5/+2
| | | | |
* | | | | stop using class_attribute where methods/inheritance will suffice.Jon Leighton2012-07-139-55/+57
| | | | |
* | | | | Merge pull request #7044 from kytrinyx/documentation-ar-unit-testsXavier Noria2012-07-131-0/+5
|\ \ \ \ \ | |/ / / / |/| | | | Add note about needing mysql superuser for unit tests.
| * | | | Add link to relevant rails guide to Active Record unit test docs.Katrina Owen2012-07-131-0/+3
| | | | |
| * | | | Add note about needing mysql superuser for unit tests.Katrina Owen2012-07-131-0/+2
|/ / / /
* | | | Merge pull request #7043 from kytrinyx/documentation-ar-observerXavier Noria2012-07-131-0/+6
|\ \ \ \ | | | | | | | | | | Add documentation for ActiveRecord::Observer.
| * | | | Add documentation for ActiveRecord::Observer.Katrina Owen2012-07-131-0/+6
|/ / / / | | | | | | | | | | | | The instructions about configuration covered only rails-specific usage.
* | | | extract deprecated association options to active_record_deprecated_findersJon Leighton2012-07-131-43/+0
| | | |
* | | | Represent association scope options as AR::Relations insternally.Jon Leighton2012-07-1315-165/+191
| | | |
* | | | fix assertion arguments orderJon Leighton2012-07-131-2/+2
| | | |
* | | | Allow associations to take a lambda which builds the scopeJon Leighton2012-07-139-48/+69
| | | |
* | | | support relations created with a table aliasJon Leighton2012-07-133-2/+12
| | | |
* | | | testing guide: start of a passXavier Noria2012-07-121-49/+29
| | | |
* | | | Merge pull request #7037 from evantravers/misspellingVijay Dev2012-07-121-2/+2
|\ \ \ \ | | | | | | | | | | add second t to overwritten
| * | | | add second t to overwrittenEvan Travers2012-07-121-2/+2
|/ / / / | | | | | | | | | | | | fixing a misspelling in the documentation
* | | | Merge pull request #7032 from necrodome/patch-1Vijay Dev2012-07-101-1/+1
|\ \ \ \ | | | | | | | | | | Fix code comment to reflect its intent.
| * | | | Fix code comment to reflect its intent.Selem Delul2012-07-111-1/+1
|/ / / /
* | | | Merge pull request #7030 from robbkidd/dry_up_rename_table_testsCarlos Antonio da Silva2012-07-101-18/+13
|\ \ \ \ | | | | | | | | | | Add teardown method to AR::Mig::RenameTableTest
| * | | | Add teardown method to AR::Mig::RenameTableTestRobb Kidd2012-07-101-18/+13
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Dry up reseting the renamed table after each test. Also made use of the AR::Base.connection object already available from AR::MigrationTest#connection.
* | | | Fix indentation.Piotr Sarnacki2012-07-111-4/+4
| | | |
* | | | Don't raise an error if http auth token isn't well formattedPiotr Sarnacki2012-07-112-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When someone sends malformed authorization header, like: Authorization: Token foobar given token should be just ignored and resource should not be authorized, instead of raising error. Before this patch controller would return 401 header only for well formed tokens, like: Authorization: Token token=foobar and would return 500 in former case.
* | | | Raise a helpful error message on #mount misuseCarl Lerche2012-07-102-0/+13
| | | |
* | | | Merge pull request #7026 from rustygeldmacher/select_options_valid_html_masterRafael Mendonça França2012-07-103-3/+17
|\ \ \ \ | | | | | | | | | | Fixed bug creating invalid HTML in select options
| * | | | Fixed bug creating invalid HTML in select optionsRusty Geldmacher2012-07-103-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a select tag is created for a field with errors, then the inserted options will errantly have a <div class="field_with_errors"> wrapping them.
* | | | | Merge pull request #6874 from robbkidd/rename_sequences_tooAaron Patterson2012-07-102-0/+20
|\ \ \ \ \ | |/ / / / |/| | | | Rename default sequence when table is renamed? [AR:postgres]