aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Restore connection_id on error.kennyj2012-07-232-4/+22
| |_|_|/ / |/| | | |
* | | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-217-27/+108
|\ \ \ \ \
| * | | | | improve NullRelation docs [ci skip]Vijay Dev2012-07-212-5/+4
| | | | | |
| * | | | | minor copy edits [ci skip]Vijay Dev2012-07-212-4/+2
| | | | | |
| * | | | | Fix typosOscar Del Ben2012-07-191-3/+3
| | | | | |
| * | | | | Add nodocs to delegation module and docs for merge!Oscar Del Ben2012-07-172-1/+2
| | | | | |
| * | | | | Update batches docsOscar Del Ben2012-07-171-6/+6
| | | | | |
| * | | | | Add nodoc to HashMerger and MergerOscar Del Ben2012-07-171-2/+2
| | | | | |
| * | | | | Fix typos and add nodocs to NullRelationOscar Del Ben2012-07-172-4/+4
| | | | | |
| * | | | | Improve docs for AR RelationOscar Del Ben2012-07-171-7/+19
| | | | | |
| * | | | | Add docs for Relation initialize, create and create!Oscar Del Ben2012-07-161-1/+34
| | | | | |
| * | | | | Don't link to edgeguides in docsOscar Del Ben2012-07-161-1/+1
| | | | | |
| * | | | | TypoOscar Del Ben2012-07-161-1/+0
| | | | | |
| * | | | | Add documentation for query_methods bang methodsOscar Del Ben2012-07-161-1/+20
| | | | | |
| * | | | | Add nodoc to create_with_valueOscar Del Ben2012-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason: all *_value methods are defined dynamically and so don't appear in the documentation.
| * | | | | Add documentation for arel and build_arelOscar Del Ben2012-07-161-0/+2
| | | | | |
| * | | | | Add documentation for create_withOscar Del Ben2012-07-161-1/+19
| | | | | |
* | | | | | rm unnecessary testJon Leighton2012-07-203-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interpolation is no longer a thing separate from "normal" assoc conditions.
* | | | | | rm redundant testJon Leighton2012-07-202-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | now everything is converted to the new style, this is not needed
* | | | | | remove unused methodJon Leighton2012-07-201-4/+0
| | | | | |
* | | | | | we don't need this argJon Leighton2012-07-201-2/+2
| | | | | |
* | | | | | Remove :finder_sql, :counter_sql, :insert_sql, :delete_sql.Jon Leighton2012-07-2015-339/+48
| | | | | |
* | | | | | Remove obsolete line.Jon Leighton2012-07-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code is broken (it should say association_scope.uniq_value rather than options[:uniq]) but the tests still pass. I think it is designed to uniq-ify associations using finder_sql. However, I am about to remove that anyway.
* | | | | | Convert association macros to the new syntaxJon Leighton2012-07-2016-135/+136
| | | | | |
* | | | | | Avoid options ever being nilJon Leighton2012-07-202-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | This fixes active_record_deprecated_finders.
* | | | | | Merge pull request #7078 from kennyj/logging_query_planRafael Mendonça França2012-07-192-2/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | Log query plan when we use count_by_sql method.
| * | | | | | Log query plan when we use count_by_sql method.kennyj2012-07-182-2/+14
| | | | | | |
* | | | | | | Create default join table name using a SymbolCarlos Antonio da Silva2012-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lets stick with a symbol in join table name, it was removed in 993e1643650b7b0939437f86b7b4cda0d92b0b8f and broke the build.
* | | | | | | Use attributes instead of table names in migration exampleJosé Valim2012-07-191-1/+1
| | | | | | |
* | | | | | | Add fkey attributes to `join_table` migration generatorAleksey Magusev2012-07-193-6/+14
| | | | | | |
* | | | | | | revert Default timestamps to non-nullDave Kroondyk2012-07-183-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3dbedd2 added NOT NULL constraints to timestamps. Commit fcef728 started to revert this, but was incomplete. With this commit, 3dbedd2 should be fully reverted and timestamps will no longer default to NOT NULL.
* | | | | | | Update changelog for migration generator changeJosé Valim2012-07-181-0/+7
| | | | | | |
* | | | | | | Merge pull request #7028 from lexmag/join_table_indexesJosé Valim2012-07-185-15/+51
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add indexes to create_join_table method
| * | | | | | | Add join table migration generatorAleksey Magusev2012-07-185-15/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For instance, running rails g migration CreateMediaJoinTable artists musics:uniq will create a migration with create_join_table :artists, :musics do |t| # t.index [:artist_id, :music_id] t.index [:music_id, :artist_id], unique: true end
* | | | | | | | 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 #7076 from kennyj/fix_class_evalAaron Patterson2012-07-172-3/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix class_eval without __FILE__ and __LINE__.
| * | | | | | | Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-182-3/+3
| | |_|/ / / / | |/| | | | |
* / | | | | | Fixes "Cannot visit ..." with validates_uniqueness_ofbeerlington2012-07-172-1/+17
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes issue with overrding ActiveRecord reader methods with a composed object and using that attribute as the scope of a validates_uniqueness_of validation.
* | / / / / Fix activerecord model to_ary method comment 'see also' linkKang Wen2012-07-161-1/+1
| |/ / / / |/| | | |
* | | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-152-3/+40
|\ \ \ \ \
| * | | | | session_id column is string in defaultkennyj2012-07-151-1/+1
| | | | | |
| * | | | | 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
| | | | | |
* | | | | | Fix SqlBypass.data_column= problem. SqlBypass.find_by_session_id method ↵kennyj2012-07-152-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | didn't use this assignment.
* | | | | | Avoid to call send(store_attribute) twice.kennyj2012-07-151-6/+8
| | | | | |
* | | | | | 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