| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* A non-zero exit status allows subsequent shell commands to be chained
together such as: `rake db:reset test:prepare && rspec && cap deploy`
(if you're feeling brave :)
* Any exceptions raised during the `create` and `drop` tasks are caught
in order to print a "pretty" message to the user. Unfortunately doing
so prevents rake from aborting with a non-zero exit status to the shell.
* Therefore we re-raise the exceptions after the "pretty" message and
re-catch them in the task.
* From the task we explicitly exit with a non-zero status. This method
was chosen (rather than just letting rake fail from the exception) so
that the backtrace is suppressed and the output to stderr is
unchanged.
* Update activerecord CHANGELOG
|
| |
|
| |
|
|
|
|
| |
Fixes #12489
|
|\
| |
| | |
newline at end of structure.sql file
|
| | |
|
|\ \
| | |
| | | |
`Relation#count` doesn't use options anymore.
|
| | |
| | |
| | |
| | | |
`Relation#maximum`, `Relation#calculate`, `perform_calculation`, `NullRelation#calculate` as they isn't used anymore.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
jetthoughts/12415_generate_subqueries_for_relation_from_binding_params
Generate subquery for Relation passed as array condition for where
Conflicts:
activerecord/CHANGELOG.md
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of executing 2 queries for fetching records filtered by array condition with Relation,
added generation of subquery to current query.
This behaviour will be consistent when passes Relation as hash condition to where
Closes: #12415
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
jetthoughts/informative_raise_message_for_incorrect_association
Make missed association exception message more informative
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Add target class name, which should have missed association on preload,
into exception message to simplify detecting problem part.
|
| |/ /
|/| | |
|
|\ \ \
| |/ /
|/| | |
Includes with persistent select, fixes #11773
|
| | |
| | |
| | |
| | | |
was overwritten.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
we don't need to walk back up the node's parents when we have the parent
on the stack
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
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 objects as outer joins
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Stop writing terrible code Aaron. This is Ruby, not Scheme
|
| | |
| | |
| | |
| | | |
at once
|
|\ \ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
All the job can be done at class level so we can avoid some object
allocation
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
instance
|
| | | | |
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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 the annoying `find_or_build` stuff.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The node must be a child of the parent passed in, so only search
children of the parent node
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
We always want a linked list back to the root node.
|