aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Log query plan when we use count_by_sql method.kennyj2012-07-181-2/+4
| | | | | |
* | | | | | 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.
* | | | | | Add fkey attributes to `join_table` migration generatorAleksey Magusev2012-07-193-6/+14
| | | | | |
* | | | | | revert Default timestamps to non-nullDave Kroondyk2012-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge pull request #7028 from lexmag/join_table_indexesJosé Valim2012-07-184-12/+34
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add indexes to create_join_table method
| * | | | | | Add join table migration generatorAleksey Magusev2012-07-184-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-171-1/+1
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Fixes "Cannot visit ..." with validates_uniqueness_ofbeerlington2012-07-171-1/+1
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 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-151-1/+1
| | | | | | | | | | | | | | | | | | | | 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-131-2/+132
| | | | |
* | | | | 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-134-13/+20
| | | | |
* | | | | 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
| | | | | |
* | | | | | 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-138-39/+57
|/ / / / /
* | | | | 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-1313-146/+153
| | | | |
* | | | | Allow associations to take a lambda which builds the scopeJon Leighton2012-07-135-25/+37
| | | | |
* | | | | support relations created with a table aliasJon Leighton2012-07-131-1/+1
| | | | |
* | | | | Merge pull request #6874 from robbkidd/rename_sequences_tooAaron Patterson2012-07-101-0/+7
|\ \ \ \ \ | |_|/ / / |/| | | | Rename default sequence when table is renamed? [AR:postgres]
| * | | | Update psql adapter to rename a default pkey sequence when renaming a table.Robb Kidd2012-06-271-0/+7
| | | | |
* | | | | Add references statements to migration generatorAleksey Magusev2012-07-081-4/+16
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AddXXXToYYY/RemoveXXXFromYYY migrations are produced with references statements, for instance rails g migration AddReferencesToProducts user:references supplier:references{polymorphic} will generate the migration with: add_reference :products, :user, index: true add_reference :products, :supplier, polymorphic: true, index: true
* | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-073-6/+41
|\ \ \ \
| * | | | minor text change [ci skip]Vijay Dev2012-07-071-1/+1
| | | | |
| * | | | Revert "Add nodoc to relation methods"Vijay Dev2012-07-071-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c47a698d5d497340d4e349257522212173865838. Reason: Let's revert pending further discussions
| * | | | Add nodoc to relation methodsOscar Del Ben2012-07-061-24/+22
| | | | |
| * | | | Add order docsOscar Del Ben2012-07-051-0/+10
| | | | |
| * | | | Add group documentationOscar Del Ben2012-07-051-0/+12
| | | | |
| * | | | Add documentation for includesOscar Del Ben2012-07-051-0/+11
| | | | |
| * | | | remove :nodoc: of AR::Scoping#unscoped [ci skip]Francesco Rodriguez2012-07-011-4/+4
| | | | |
| * | | | fix AR::SchemaStatements#column_exists? example [ci skip]Francesco Rodriguez2012-06-301-1/+1
| | | | |
| * | | | update AR::SchemaStatements#column_exists? documentation [ci skip]Francesco Rodriguez2012-06-301-2/+4
| | | | |
* | | | | Refactor locked? method in query cacheCarlos Antonio da Silva2012-07-071-5/+2
| | | | | | | | | | | | | | | | | | | | Introduced in 75b340d1a4bcf2f1233fb65a15ff6b8059e2230e
* | | | | Load all records in Relation#inspectJon Leighton2012-07-071-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A test was failing due to the way that Relation#inspect causes association proxies to ignore unsaved records added to the association. This is fixed by simply calling to_a and letting to_a figure out how to get the records (which, in the case of associations, takes into account new records). I think it is acceptable to do this rather than limiting the query at the database level: * It's what we've done in all released Rails versions up to this point * The goal of the limit is to not flood the console with output - this is the problem we're targeting, rather than the actual loading of the records from the database * You probably want to do something with those records later anyway, otherwise you wouldn't have built a relation for them.
* | | | | Merge pull request #6838 from kennyj/added_registration_taskCarlos Antonio da Silva2012-07-071-7/+11
|\ \ \ \ \ | | | | | | | | | | | | Allow to register database tasks from different adapters
| * | | | | Added a feature to add a database task. e.g. OracleDatabaseTaskskennyj2012-06-241-7/+11
| | | | | |
* | | | | | Relation#inspect handles doesn't perform a new query on an already-loaded ↵Jon Leighton2012-07-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | relation
* | | | | | Simplify Relation#inspectJon Leighton2012-07-071-12/+3
| | | | | |