aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* reduce number of comparisons and array allocationsAaron Patterson2013-10-081-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 treeAaron Patterson2013-10-081-7/+7
|
* walk the tree rather than generating a hash and walking itAaron Patterson2013-10-081-21/+10
|
* do not convert the tree to a list just for the first nodeAaron Patterson2013-10-081-1/+1
|
* generate the association hash from the top downAaron Patterson2013-10-081-17/+15
| | | | | This prevents us from walking back up the parent tree once for each leaf.
* store join parts in a treeAaron Patterson2013-10-081-16/+45
|
* join parts in `build` are *always* new, so don't bother checkingAaron Patterson2013-10-081-1/+2
|
* stop looking up the reflection multiple timesAaron Patterson2013-10-081-6/+5
|
* cache join associations and join base on the stackAaron Patterson2013-10-081-4/+11
| | | | No reason to decompose the join objects on every iteration
* use the API rather than accessing underlying data structuresAaron Patterson2013-10-081-1/+1
|
* associations is always a hashAaron Patterson2013-10-081-19/+13
|
* keys are always symbolsAaron Patterson2013-10-081-2/+4
|
* we can get a list of reflections from the join parts, so let's removeAaron Patterson2013-10-081-3/+5
| | | | the @reflections ivar.
* transform the association input so we can avoid type checks later.Aaron Patterson2013-10-081-17/+31
| | | | | We should consider moving the input munging outside the class instantiation
* we know the keys are scalars, so avoid some typecheckingAaron Patterson2013-10-081-8/+12
|
* this method is only ever called with a reflectionAaron Patterson2013-10-081-6/+2
| | | | Stop typechecking the parameter. We know the type.
* don't access the reflections hashAaron Patterson2013-10-082-3/+7
| | | | The reflections hash is supposed to be private, so let's use the API.
* build association tree thing on demand.Aaron Patterson2013-10-081-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 classesAaron Patterson2013-10-082-17/+17
|
* decouple JoinAssociation from JoinDependencyAaron Patterson2013-10-082-10/+5
|
* @associations can never have an array, so remove the dead codeAaron Patterson2013-10-081-4/+0
|
* typecast records returned from the db rather than to_sing everythingAaron Patterson2013-10-082-12/+21
|
* extract the string handling part to a method.Aaron Patterson2013-10-071-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 codeAaron Patterson2013-10-071-2/+0
| | | | | We control the inputs to `construct`, so the wrong type shouldn't be passed in ever.
* this code is never used, remove itAaron Patterson2013-10-071-4/+0
|
* log the statement name along with the SQLAaron Patterson2013-10-044-6/+20
|
* log every sql statement, even when they errorAaron Patterson2013-10-041-25/+25
|
* prepare the statement inside the begin / rescue blockAaron Patterson2013-10-041-4/+4
|
* rm LogIntercepterAaron Patterson2013-10-041-15/+0
|
* stop adding singleton methods to the SQLite3 connectionAaron Patterson2013-10-041-11/+11
|
* stop adding singleton methods to the mysql2 adapterAaron Patterson2013-10-043-22/+22
|
* stop adding singleton methods to the PG connectionAaron Patterson2013-10-041-11/+26
|
* wrap logging around the actual query call itself.Aaron Patterson2013-10-042-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_targetArthur Neves2013-10-041-0/+13
|
* inject down the hash cacheAaron Patterson2013-10-031-3/+2
|
* hashes are ordered, so we do not need to sortAaron Patterson2013-10-031-3/+3
|
* Always pass parameters to `build`Aaron Patterson2013-10-031-2/+2
| | | | | We always know the parameters in advance, so we don't need to build it in to the method signature
* Set the join type on constructionAaron Patterson2013-10-032-6/+5
| | | | | We always set the join type immediately after construction, just make it part of the constructor and we can skip that step
* simplify the JoinAssociation constructor, check validity *before*Aaron Patterson2013-10-032-6/+6
|
* parent is always passed in, so make it non-optionalAaron Patterson2013-10-031-1/+1
|
* require the files we need so the classes are stand-aloneAaron Patterson2013-10-033-1/+4
|
* Merge pull request #12435 from sikachu/master-port-12084Aaron Patterson2013-10-032-1/+10
|\ | | | | Port test from cf1904f to avoid future regression
| * Port test from cf1904f to avoid future regressionPrem Sichanugrist2013-10-032-1/+10
| | | | | | | | Related issue: #11939, #12084
* | map the association chain to table namesAaron Patterson2013-10-031-4/+2
|/
* `intiantiated` => `instantiated` [ci-skip]Vipul A M2013-10-031-1/+1
|
* fix the variable nameAaron Patterson2013-10-021-7/+7
|
* preheat habtm column cacheAaron Patterson2013-10-021-0/+1
|
* add missing requireAaron Patterson2013-10-021-0/+1
|
* remove some duplicate codeAaron Patterson2013-10-021-8/+1
|
* add a note to the changelogAaron Patterson2013-10-021-0/+3
|