aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/join_dependency.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* pass the outer joins to join_constraintsAaron Patterson2013-10-201-1/+2
|
* disconnect join_constraints from the instanceAaron Patterson2013-10-201-1/+1
|
* pass in scope chain so reflection is not neededAaron Patterson2013-10-201-1/+1
|
* pass the foreign table and class to the join_constraints methodAaron Patterson2013-10-201-1/+3
|
* pass the join type to the join_constraints methodAaron Patterson2013-10-201-1/+2
|
* use the node as cache so we can avoid accessing the tableAaron Patterson2013-10-151-13/+13
|
* apply tables to the whole tree from the outsideAaron Patterson2013-10-151-14/+8
|
* apply table aliases after the AST has been builtAaron Patterson2013-10-151-1/+13
|
* stop reversing tables until we absolutely mustAaron Patterson2013-10-151-1/+1
|
* pass the chain the join_constraintsAaron Patterson2013-10-151-1/+2
|
* move column_names_with_alias on to the alias cache objectAaron Patterson2013-10-141-8/+18
|
* keep a cache on the alias objectAaron Patterson2013-10-141-11/+21
|
* move alias building to the table nodeAaron Patterson2013-10-141-4/+8
|
* let the Table class build the ARel alias nodesAaron Patterson2013-10-141-4/+9
|
* store aliases in a better structureAaron Patterson2013-10-141-4/+17
|
* unhook `join_constraints` from the @tables ivarAaron Patterson2013-10-131-1/+1
|
* push the node->AR cache up one levelAaron Patterson2013-10-131-10/+11
|
* remove dead codeAaron Patterson2013-10-111-5/+0
|
* remove useless codeAaron Patterson2013-10-111-24/+20
| | | | | turns out that the activerecord object will always have the same id as the row from which it was constructed
* the parent hash keeps the records unique alreadyAaron Patterson2013-10-111-4/+3
|
* keep track of AR objects we've made as we walk the treeAaron Patterson2013-10-111-35/+22
| | | | | Remove duplicate removal code because we avoid adding duplicates as we walk the tree the first time
* push up the loaded target checkingAaron Patterson2013-10-111-9/+13
|
* we always have a model nowAaron Patterson2013-10-111-1/+1
|
* extract conditional to the callerAaron Patterson2013-10-111-11/+13
|
* we always have a reflection and it is on the nodeAaron Patterson2013-10-111-2/+2
|
* fix variable name. we're constructing a model, not an associationAaron Patterson2013-10-111-12/+12
|
* reflections know if they are collections, so askAaron Patterson2013-10-111-6/+5
| | | | | We don't need to poke at the macro to figure out if we should look for a cached record or not
* belongs_to can be treated the same way as has_oneAaron Patterson2013-10-111-12/+5
|
* cache the primary key / typcast lookup on the stackAaron Patterson2013-10-111-9/+9
|
* remove dead code / make duplicate code more obviousAaron Patterson2013-10-111-4/+4
|
* pull parent and alias tacker from the nodes.Aaron Patterson2013-10-111-1/+18
| | | | For now, we'll set the tables on the nodes manually.
* decouple the `join_constraints` method from the parent pointerAaron Patterson2013-10-111-1/+7
|
* refactor a little so we can remove some methodsAaron Patterson2013-10-101-1/+1
|
* the parent node is on the stack, so use itAaron Patterson2013-10-101-4/+4
| | | | | we don't need to walk back up the node's parents when we have the parent on the stack
* pass the parent node to the construct methodAaron Patterson2013-10-101-7/+6
|
* nodes do not need to be sortedAaron Patterson2013-10-101-1/+1
|
* delete unused codeAaron Patterson2013-10-101-40/+0
| | | | | Now that we merge trees from the top down, we don't need to search through the whole tree for particular nodes, just walk it and merge.
* merge JoinDependency as outer joinsAaron Patterson2013-10-101-0/+30
| | | | Merge JoinDependency objects as outer joins
* stuff the join dependency object in the "anything goes" hash.Aaron Patterson2013-10-101-2/+2
|
* stop splatting things back and forthAaron Patterson2013-10-101-1/+1
|
* stop creating a bunch of relation objects when we can slap all the joins on ↵Aaron Patterson2013-10-091-3/+3
| | | | at once
* remove dead codeAaron Patterson2013-10-091-13/+0
|
* add some convenient methods for avoiding array allocationsAaron Patterson2013-10-091-3/+3
|
* hide join_constraints inside the JoinDependency objectAaron Patterson2013-10-091-6/+6
|
* expose the root node and call itAaron Patterson2013-10-091-21/+11
|
* just skip the join if it's already thereAaron Patterson2013-10-091-14/+10
| | | | Remove the annoying `find_or_build` stuff.
* speed up finding existing nodesAaron Patterson2013-10-091-3/+1
| | | | | The node must be a child of the parent passed in, so only search children of the parent node
* make node search more efficientAaron Patterson2013-10-091-3/+20
| | | | | | Rather than search every node in the tree, comparing that node and all of its parents every time, start at the root from both sides and work our way down the tree
* remove == so we can see where walking up parents occursAaron Patterson2013-10-091-10/+15
|
* convert JoinBase to a tree and remove the Node classAaron Patterson2013-10-091-41/+11
|