aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source/active_record_querying.md
Commit message (Collapse)AuthorAgeFilesLines
* Add a section to introduce `pluck`'s eager loading behaviorst00122019-05-031-0/+15
|
* [ci skip] Add ActiveRecord::Relation#extract_associated method to the ↵Abhay Nikam2019-03-301-0/+1
| | | | active_record_querying.md
* Add Relation#annotate for SQL commentingMatt Yoho2019-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has two main portions: 1. Add SQL comment support to Arel via Arel::Nodes::Comment. 2. Implement a Relation#annotate method on top of that. == Adding SQL comment support Adds a new Arel::Nodes::Comment node that represents an optional SQL comment and teachers the relevant visitors how to handle it. Comment nodes may be added to the basic CRUD statement nodes and set through any of the four (Select|Insert|Update|Delete)Manager objects. For example: manager = Arel::UpdateManager.new manager.table table manager.comment("annotation") manager.to_sql # UPDATE "users" /* annotation */ This new node type will be used by ActiveRecord::Relation to enable query annotation via SQL comments. == Implementing the Relation#annotate method Implements `ActiveRecord::Relation#annotate`, which accepts a comment string that will be appeneded to any queries generated by the relation. Some examples: relation = Post.where(id: 123).annotate("metadata string") relation.first # SELECT "posts".* FROM "posts" WHERE "posts"."id" = 123 # LIMIT 1 /* metadata string */ class Tag < ActiveRecord::Base scope :foo_annotated, -> { annotate("foo") } end Tag.foo_annotated.annotate("bar").first # SELECT "tags".* FROM "tags" LIMIT 1 /* foo */ /* bar */ Also wires up the plumbing so this works with `#update_all` and `#delete_all` as well. This feature is useful for instrumentation and general analysis of queries generated at runtime.
* Add `:reselect` and `:optimizer_hints` to the list of finder methodsRyuta Kamizono2019-03-181-0/+2
| | | | | | These are introduced after Rails 6.0.0 beta2. [ci skip]
* `ActiveRecord::Result#to_hash` has been renamed to `to_a` [ci skip]Ryuta Kamizono2019-03-171-2/+5
| | | | See #33912.
* Fix incorrect identifier quoting [ci skip]Ryuta Kamizono2019-03-071-3/+3
|
* Correct the limitation about `order` with `distinct` in the guideRyuta Kamizono2019-03-071-1/+2
| | | | | | | That is happened with `distinct`, and that is not only happened on MyS L, but also on PostgreSQL, SQL Server, and Oracle. [ci skip]
* Update links and code examples in the guides to use HTTPS where the host ↵Nathaniel Suchy2019-03-061-3/+3
| | | | supports it.
* Merge pull request #33611 from willianveiga/feature/reselect-methodAndrew White2019-03-011-0/+26
|\ | | | | Add reselect method
| * Mention reselect new method in the "Active Record Query Interface" guideWillian Gustavo Veiga2018-10-041-0/+26
| |
* | How to use `select` is updated [ci skip]soartec-lab2019-02-241-0/+2
| |
* | Clarify scope body requirementsGannon McGibbon2018-11-261-1/+1
|/ | | | [ci skip]
* Fix a typo in AR Query Interface [ci skip]Andrew2018-09-181-1/+1
|
* DRY in Active Record Query Interface [ci skip]bogdanvlviv2018-08-191-16/+0
| | | | | | | | | | | The sentence "This is exactly the same as defining a class method ..." is not true, so #33653 fixed it, but added changes repeat what is explained a few lines below. We can remove this part since a user is able to get info about the difference between scopes and class methods below. Context https://github.com/rails/rails/pull/33653#discussion_r211105969. Reverts #33653, 97feb4996b1c88f770101dfce6d4d3a6baf6bb33.
* Fix syntax error in the doc [ci skip]Ryuta Kamizono2018-08-191-1/+1
|
* Explained difference between scope & class methodLemonAndroid2018-08-191-3/+9
|
* [ci skip] Fix the outdated description for `find_each`.Aditya Kapoor2018-07-311-1/+1
|
* Rails guides are now served over httpsPaul McMahon2018-07-241-1/+1
| | | | | http links will be redirected to the https version, but still better to just directly link to the https version.
* Update documentation for #pluck method [ci skip]Jędrek Domański2018-07-141-0/+6
|
* Added a lot of Oxford commasAnthony Crumley2018-05-101-1/+1
| | | | | | | [ci skip] A regular expression was used to find a lot of missing Oxford commas and add them. The regular expression was as follows. ", ([a-zA-Z0-9.\`:'\"]+ ){1,6}(or|and) "
* Update "Active Record Query Interface" guide [ci skip]bogdanvlviv2017-12-041-9/+9
| | | | | - Add missing `LIMIT 1` for some queries - Make some examples of query more readable
* fix the description for the `select_all` [ci skip]Aditya Kapoor2017-10-121-2/+2
|
* Fix typo in 'find_in_batches' examplehupfis2017-09-261-1/+1
|
* Remove trailing spaces [ci skip]Ryuta Kamizono2017-08-271-1/+1
|
* Use https instead of http in guide [ci skip]Yoshiyuki Hirano2017-08-231-1/+1
|
* Change http postgresql.org links to https [ci skip]yuuji.yaginuma2017-07-301-1/+1
| | | | | It seems that it accepts only HTTPS connections. Ref: https://github.com/postgres/postgres/commit/7f77cbd996855a06fb742ea11adbe55c42b48fe2
* Fix hash conditions documentation [ci skip]Abraham Chan2017-06-221-2/+0
|
* Grammar fixesJon Moss2017-05-291-2/+2
| | | | [ci skip]
* Merge pull request #29246 from nihemak/fix-docs-take-firstMatthew Draper2017-05-271-3/+3
|\ | | | | [ci skip]fix wrong variable name in docs
| * [ci skip]fix wrong variable name in docsMakoto Nihei2017-05-271-3/+3
| |
* | [ci skip]fix wrong variable name in docsMakoto Nihei2017-05-271-1/+1
|/
* Add ActiveRecord::Relation#or description to guides [ci skip]Krzysztof Maicher2017-05-251-0/+13
|
* Add default_scope note to AR guide [ci skip]Ross Kaffenberger2017-03-311-2/+14
| | | | | | | Adds note to explain unexpected behavior described in issue #28561. Developers may be surprised that the internal representation of similar query conditions in Hash and Array formats in default_scope will yield different results for model initialization. Link: https://github.com/rails/rails/issues/28561
* Remove ability update locking_column valuebogdanvlviv2017-03-161-3/+0
|
* Merge branch 'master' of github.com:rails/docrailsVijay Dev2017-03-041-1/+1
|\
| * Fix generated query in Retrieving specific data from multiple tables section ↵Vipul A M2017-03-041-1/+1
| | | | | | | | [ci skip]
* | fixed suspected typo in sample sql queryShay2017-03-021-1/+1
|/
* Update guides/source/active_record_querying.mdbogdanvlviv2016-11-101-0/+3
| | | | | | | | Add info about updating locking column value Follow #26050 and #26871 [ci skip]
* Remove dup distinct from AR query list [ci skip]Jeremy Wilmot2016-09-301-1/+0
|
* [ci skip] Fixed commas according to Oxford comma in rdoc and guidesAndrey Molchanov2016-09-171-1/+1
|
* Fix table name typos [ci skip]Waitaya Krongapiradee2016-09-081-1/+1
|
* Change form of table name to plural in query exampleDanila Ermakov2016-08-221-2/+2
|
* Update docs for query interface to not declare that all methods return ↵Scott Antipa2016-08-211-3/+3
| | | | instance of ActiveRecord::Relation
* Document know limitation about using `references` in conjunction with eager ↵Vipul A M2016-08-091-2/+3
| | | | | | | | loading causing it to ignore custom select clauses. [ci skip] Fixes #24314
* [ci skip] Add documentation for error using select with orderChetna Sharma2016-07-251-0/+1
|
* finders guide: updates the section about batch processing [ci skip]Xavier Noria2016-07-141-15/+38
| | | | | There are several edits here, but in particular it updates the guide to reflect 451437c.
* Use #distinct instead of #uniq in the guides [ci skip] (#25098)Junya Ogura2016-05-211-1/+1
| | | * #uniq will be deprecated, see: rails/rails@adfab2d
* Add SQL examples for equality and NOT [ci skip]Tom Copeland2016-04-211-3/+13
|
* MariaDB Documentationiangilfillan2016-04-141-3/+5
|
* Correct typos in "Active Record Query Interface" guideLaura Murphy-Clarkin2016-03-251-19/+19
|