-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove Incomparable #1646
Remove Incomparable #1646
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1646 +/- ##
==========================================
- Coverage 68.71% 68.52% -0.19%
==========================================
Files 290 289 -1
Lines 13992 13917 -75
==========================================
- Hits 9614 9537 -77
+ Misses 3438 3437 -1
- Partials 940 943 +3
Flags with carried forward coverage won't be shown. Click here to find out more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes are looking reasonable, some pg tests are failing though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯
Description
Closes #1522 .
To remove Incomparable, I made following changes.
CompareOrder has 3 function exposed
$max
operator, the sort order is the same implementation ofCompareOrder
. This uses array as part of sort type.CompareOrderForSort
is used by.sort()
where comparison of array does not compare array in sort type, but uses min element of array for ascending sort and max element of array for descending sort. Empty array is less than Null for this.CompareOrderForOperator
is used by operators$gt
$gte
$lt
$lte
, where array is not compared in sort type but uses the same bson type for min element of array for$lt
and$lte
and and max element of array for$gt
and$gte
Numbers are sorted the same
int32
,int64
,float64
are no longer differentiated in the sorting, they are the same in the comparison. This matches the same behaviour on compat.Readiness checklist
task all
, and it passed.task godocs
.@FerretDB/core
), Assignee, Labels, Project and project's Sprint fields.