Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Most of the skipped tests fail against CockroachDB because ActiveRecord strips out the query order clause from group by queries making it impossible to guarantee the results order. These tests pass against databases like PostgreSQL because they'll inherently order by the group by clause. This appears to be a bug in ActiveRecord, see rails/rails#38936.
The other test,
:test_group_by_with_order_by_virtual_count_attribute
, fails because ordering with virtual count attributes doesn't work against CockroachDB.For example, here’s a
posts
table and it has atype
column.If I run a query like
SELECT MAX(posts.comments_count) AS maximum_comments_count, posts.type AS posts_type FROM posts GROUP BY posts.type ORDER BY posts.count ASC limit 2;
against PostgreSQL, it works.When I run the query against CockroachDB, it blows up because
posts.count
isn’t recognized in theORDER BY
clause.Is this a know limitation in CockroachDB? I’m not seeing it documented anywhere (it’s kinda hard to search for).