Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | speed up match? | Aaron Patterson | 2013-10-09 | 1 | -0/+1 |
| | |||||
* | expose the root node and call it | Aaron Patterson | 2013-10-09 | 1 | -21/+11 |
| | |||||
* | just skip the join if it's already there | Aaron Patterson | 2013-10-09 | 1 | -14/+10 |
| | | | | Remove the annoying `find_or_build` stuff. | ||||
* | speed up finding existing nodes | Aaron Patterson | 2013-10-09 | 1 | -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 efficient | Aaron Patterson | 2013-10-09 | 4 | -3/+43 |
| | | | | | | 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 occurs | Aaron Patterson | 2013-10-09 | 4 | -25/+15 |
| | |||||
* | push parent up to the superclass | Aaron Patterson | 2013-10-09 | 3 | -7/+11 |
| | | | | We always want a linked list back to the root node. | ||||
* | convert JoinBase to a tree and remove the Node class | Aaron Patterson | 2013-10-09 | 2 | -42/+30 |
| | |||||
* | names are guaranteed to be symbols | Aaron Patterson | 2013-10-08 | 1 | -1/+1 |
| | |||||
* | eliminate function that is only used in one place | Aaron Patterson | 2013-10-08 | 1 | -7/+2 |
| | |||||
* | we will always detect the same node, so just pass the node in | Aaron Patterson | 2013-10-08 | 1 | -7/+2 |
| | |||||
* | we do not need to to_s the name all the time | Aaron Patterson | 2013-10-08 | 1 | -5/+3 |
| | |||||
* | parent is guaranteed to be the same | Aaron Patterson | 2013-10-08 | 1 | -4/+1 |
| | | | | | since we are searching a tree, the current level should be consistent, so we don't have to inspect the parent class / table | ||||
* | reduce number of comparisons and array allocations | Aaron Patterson | 2013-10-08 | 1 | -11/+10 |
| | | | | | Just inspecting the children nodes will reduce the number of comparisons we have to do (since it is limited to the child size) | ||||
* | rename the variable to make more sense with a tree | Aaron Patterson | 2013-10-08 | 1 | -7/+7 |
| | |||||
* | walk the tree rather than generating a hash and walking it | Aaron Patterson | 2013-10-08 | 1 | -21/+10 |
| | |||||
* | do not convert the tree to a list just for the first node | Aaron Patterson | 2013-10-08 | 1 | -1/+1 |
| | |||||
* | generate the association hash from the top down | Aaron Patterson | 2013-10-08 | 1 | -17/+15 |
| | | | | | This prevents us from walking back up the parent tree once for each leaf. | ||||
* | store join parts in a tree | Aaron Patterson | 2013-10-08 | 1 | -16/+45 |
| | |||||
* | join parts in `build` are *always* new, so don't bother checking | Aaron Patterson | 2013-10-08 | 1 | -1/+2 |
| | |||||
* | stop looking up the reflection multiple times | Aaron Patterson | 2013-10-08 | 1 | -6/+5 |
| | |||||
* | cache join associations and join base on the stack | Aaron Patterson | 2013-10-08 | 1 | -4/+11 |
| | | | | No reason to decompose the join objects on every iteration | ||||
* | use the API rather than accessing underlying data structures | Aaron Patterson | 2013-10-08 | 1 | -1/+1 |
| | |||||
* | associations is always a hash | Aaron Patterson | 2013-10-08 | 1 | -19/+13 |
| | |||||
* | keys are always symbols | Aaron Patterson | 2013-10-08 | 1 | -2/+4 |
| | |||||
* | we can get a list of reflections from the join parts, so let's remove | Aaron Patterson | 2013-10-08 | 1 | -3/+5 |
| | | | | the @reflections ivar. | ||||
* | transform the association input so we can avoid type checks later. | Aaron Patterson | 2013-10-08 | 1 | -17/+31 |
| | | | | | We should consider moving the input munging outside the class instantiation | ||||
* | we know the keys are scalars, so avoid some typechecking | Aaron Patterson | 2013-10-08 | 1 | -8/+12 |
| | |||||
* | this method is only ever called with a reflection | Aaron Patterson | 2013-10-08 | 1 | -6/+2 |
| | | | | Stop typechecking the parameter. We know the type. | ||||
* | don't access the reflections hash | Aaron Patterson | 2013-10-08 | 2 | -3/+7 |
| | | | | The reflections hash is supposed to be private, so let's use the API. | ||||
* | build association tree thing on demand. | Aaron Patterson | 2013-10-08 | 1 | -6/+11 |
| | | | | | `instantiate` is only called once, so there is no reason to cache the data structure on the instance and mutate itself. | ||||
* | hide join_parts internals from other classes | Aaron Patterson | 2013-10-08 | 2 | -17/+17 |
| | |||||
* | decouple JoinAssociation from JoinDependency | Aaron Patterson | 2013-10-08 | 2 | -10/+5 |
| | |||||
* | @associations can never have an array, so remove the dead code | Aaron Patterson | 2013-10-08 | 1 | -4/+0 |
| | |||||
* | typecast records returned from the db rather than to_sing everything | Aaron Patterson | 2013-10-08 | 2 | -12/+21 |
| | |||||
* | extract the string handling part to a method. | Aaron Patterson | 2013-10-07 | 1 | -15/+15 |
| | | | | | | We know the structure passed in to the `construct` method will be a hash, so we don't need to test it all the time. The key value will be a symbol or string, so handle it with the special method | ||||
* | remove more dead code | Aaron Patterson | 2013-10-07 | 1 | -2/+0 |
| | | | | | We control the inputs to `construct`, so the wrong type shouldn't be passed in ever. | ||||
* | this code is never used, remove it | Aaron Patterson | 2013-10-07 | 1 | -4/+0 |
| | |||||
* | log the statement name along with the SQL | Aaron Patterson | 2013-10-04 | 4 | -6/+20 |
| | |||||
* | log every sql statement, even when they error | Aaron Patterson | 2013-10-04 | 1 | -25/+25 |
| | |||||
* | prepare the statement inside the begin / rescue block | Aaron Patterson | 2013-10-04 | 1 | -4/+4 |
| | |||||
* | rm LogIntercepter | Aaron Patterson | 2013-10-04 | 1 | -15/+0 |
| | |||||
* | stop adding singleton methods to the SQLite3 connection | Aaron Patterson | 2013-10-04 | 1 | -11/+11 |
| | |||||
* | stop adding singleton methods to the mysql2 adapter | Aaron Patterson | 2013-10-04 | 3 | -22/+22 |
| | |||||
* | stop adding singleton methods to the PG connection | Aaron Patterson | 2013-10-04 | 1 | -11/+26 |
| | |||||
* | wrap logging around the actual query call itself. | Aaron Patterson | 2013-10-04 | 2 | -50/+50 |
| | | | | This is to be consistent with the way the mysql2 adapter times queries | ||||
* | add regression test for set_inverse_instance on add_to_target | Arthur Neves | 2013-10-04 | 1 | -0/+13 |
| | |||||
* | inject down the hash cache | Aaron Patterson | 2013-10-03 | 1 | -3/+2 |
| | |||||
* | hashes are ordered, so we do not need to sort | Aaron Patterson | 2013-10-03 | 1 | -3/+3 |
| | |||||
* | Always pass parameters to `build` | Aaron Patterson | 2013-10-03 | 1 | -2/+2 |
| | | | | | We always know the parameters in advance, so we don't need to build it in to the method signature |