Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | | | | | rm JoinHelper from JoinAssociation | Aaron Patterson | 2013-10-14 | 1 | -3/+1 | |
| | | | | | | | ||||||
* | | | | | | | unhook `join_constraints` from the @tables ivar | Aaron Patterson | 2013-10-13 | 2 | -3/+3 | |
| | | | | | | | ||||||
* | | | | | | | remove delegate methods that are not used | Aaron Patterson | 2013-10-13 | 1 | -1/+1 | |
| | | | | | | | ||||||
* | | | | | | | push the node->AR cache up one level | Aaron Patterson | 2013-10-13 | 2 | -16/+12 | |
| | | | | | | | ||||||
* | | | | | | | eliminate single use method | Aaron Patterson | 2013-10-13 | 1 | -6/+3 | |
| | | | | | | | ||||||
* | | | | | | | eliminate duplicate code from to_sql | Aaron Patterson | 2013-10-13 | 2 | -7/+9 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't really like passing the block, but this seems easiest for now | |||||
* | | | | | | | calling construct_relation_for_association_find is no longer necessary | Aaron Patterson | 2013-10-13 | 1 | -1/+1 | |
| | | | | | | | ||||||
* | | | | | | | push up `select` exclusion | Aaron Patterson | 2013-10-13 | 2 | -4/+6 | |
| | | | | | | | ||||||
* | | | | | | | JoinDependency will take care of making things unique | Aaron Patterson | 2013-10-13 | 1 | -1/+1 | |
| | | | | | | | ||||||
* | | | | | | | remove dead code | Aaron Patterson | 2013-10-11 | 1 | -5/+0 | |
| | | | | | | | ||||||
* | | | | | | | remove useless code | Aaron Patterson | 2013-10-11 | 1 | -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 already | Aaron Patterson | 2013-10-11 | 1 | -4/+3 | |
| | | | | | | | ||||||
* | | | | | | | keep track of AR objects we've made as we walk the tree | Aaron Patterson | 2013-10-11 | 1 | -35/+22 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicate removal code because we avoid adding duplicates as we walk the tree the first time | |||||
* | | | | | | | push up the loaded target checking | Aaron Patterson | 2013-10-11 | 1 | -9/+13 | |
| | | | | | | | ||||||
* | | | | | | | we always have a model now | Aaron Patterson | 2013-10-11 | 1 | -1/+1 | |
| | | | | | | | ||||||
* | | | | | | | extract conditional to the caller | Aaron Patterson | 2013-10-11 | 1 | -11/+13 | |
| | | | | | | | ||||||
* | | | | | | | we always have a reflection and it is on the node | Aaron Patterson | 2013-10-11 | 1 | -2/+2 | |
| | | | | | | | ||||||
* | | | | | | | fix variable name. we're constructing a model, not an association | Aaron Patterson | 2013-10-11 | 1 | -12/+12 | |
| | | | | | | | ||||||
* | | | | | | | reflections know if they are collections, so ask | Aaron Patterson | 2013-10-11 | 1 | -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_one | Aaron Patterson | 2013-10-11 | 1 | -12/+5 | |
| | | | | | | | ||||||
* | | | | | | | cache the primary key / typcast lookup on the stack | Aaron Patterson | 2013-10-11 | 1 | -9/+9 | |
| | | | | | | | ||||||
* | | | | | | | remove dead code / make duplicate code more obvious | Aaron Patterson | 2013-10-11 | 1 | -4/+4 | |
| | | | | | | | ||||||
* | | | | | | | pull parent and alias tacker from the nodes. | Aaron Patterson | 2013-10-11 | 4 | -20/+23 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, we'll set the tables on the nodes manually. | |||||
* | | | | | | | decouple the `join_constraints` method from the parent pointer | Aaron Patterson | 2013-10-11 | 2 | -2/+8 | |
|/ / / / / / | ||||||
* | | | | | | no reason to do this column addition and subtraction business | Aaron Patterson | 2013-10-11 | 1 | -1/+1 | |
| | | | | | | ||||||
* | | | | | | refactor a little so we can remove some methods | Aaron Patterson | 2013-10-10 | 2 | -4/+1 | |
| | | | | | | ||||||
* | | | | | | the parent node is on the stack, so use it | Aaron Patterson | 2013-10-10 | 1 | -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 method | Aaron Patterson | 2013-10-10 | 1 | -7/+6 | |
| | | | | | | ||||||
* | | | | | | nodes do not need to be sorted | Aaron Patterson | 2013-10-10 | 1 | -1/+1 | |
| | | | | | | ||||||
* | | | | | | delete unused code | Aaron Patterson | 2013-10-10 | 2 | -50/+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 joins | Aaron Patterson | 2013-10-10 | 2 | -1/+31 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Merge JoinDependency objects as outer joins | |||||
* | | | | | | stuff the join dependency object in the "anything goes" hash. | Aaron Patterson | 2013-10-10 | 4 | -6/+8 | |
| | | | | | | ||||||
* | | | | | | stop splatting things back and forth | Aaron Patterson | 2013-10-10 | 2 | -2/+2 | |
| | | | | | | ||||||
* | | | | | | simplify each method. | Aaron Patterson | 2013-10-10 | 1 | -8/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Stop writing terrible code Aaron. This is Ruby, not Scheme | |||||
* | | | | | | stop creating a bunch of relation objects when we can slap all the joins on ↵ | Aaron Patterson | 2013-10-09 | 2 | -8/+3 | |
| | | | | | | | | | | | | | | | | | | | | | | | | at once | |||||
* | | | | | | Merge branch 'builder-instances' | Rafael Mendonça França | 2013-10-09 | 7 | -57/+42 | |
|\ \ \ \ \ \ | ||||||
| * | | | | | | Method visibility will not make difference here | Rafael Mendonça França | 2013-10-09 | 4 | -8/+0 | |
| | | | | | | | ||||||
| * | | | | | | Remove builder instances | Rafael Mendonça França | 2013-10-09 | 2 | -22/+10 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the job can be done at class level so we can avoid some object allocation | |||||
| * | | | | | | Extract the scope building to a class method | Rafael Mendonça França | 2013-10-09 | 2 | -10/+17 | |
| | | | | | | | ||||||
| * | | | | | | Remove unneeded reader | Rafael Mendonça França | 2013-10-09 | 1 | -2/+0 | |
| | | | | | | | ||||||
| * | | | | | | Move wrap_scope to class level | Rafael Mendonça França | 2013-10-09 | 1 | -2/+2 | |
| | | | | | | | ||||||
| * | | | | | | Move macro to class level | Rafael Mendonça França | 2013-10-09 | 4 | -5/+5 | |
| | | | | | | | ||||||
| * | | | | | | Make validate_options a class method | Rafael Mendonça França | 2013-10-09 | 1 | -3/+3 | |
| | | | | | | | ||||||
| * | | | | | | Make valid_options a class method | Rafael Mendonça França | 2013-10-09 | 6 | -7/+7 | |
| | | | | | | | ||||||
| * | | | | | | Define the association extensions without need to have a builder | Rafael Mendonça França | 2013-10-09 | 2 | -14/+14 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | instance | |||||
* | | | | | | | no need to to_sym | Aaron Patterson | 2013-10-09 | 1 | -1/+1 | |
| | | | | | | | ||||||
* | | | | | | | Merge branch 'tree' | Aaron Patterson | 2013-10-09 | 5 | -109/+105 | |
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree: (22 commits) remove dead code add some convenient methods for avoiding array allocations hide join_constraints inside the JoinDependency object speed up match? expose the root node and call it just skip the join if it's already there speed up finding existing nodes make node search more efficient remove == so we can see where walking up parents occurs push parent up to the superclass convert JoinBase to a tree and remove the Node class names are guaranteed to be symbols eliminate function that is only used in one place we will always detect the same node, so just pass the node in we do not need to to_s the name all the time parent is guaranteed to be the same reduce number of comparisons and array allocations rename the variable to make more sense with a tree walk the tree rather than generating a hash and walking it do not convert the tree to a list just for the first node ... | |||||
| * | | | | | | remove dead code | Aaron Patterson | 2013-10-09 | 1 | -13/+0 | |
| | | | | | | | ||||||
| * | | | | | | add some convenient methods for avoiding array allocations | Aaron Patterson | 2013-10-09 | 2 | -3/+6 | |
| | | | | | | | ||||||
| * | | | | | | hide join_constraints inside the JoinDependency object | Aaron Patterson | 2013-10-09 | 2 | -8/+7 | |
| | | | | | | |