Skip to content
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

Use iterators for sort, limit, skip, and projection #2254

Merged
merged 8 commits into from
Mar 28, 2023

Conversation

AlekSi
Copy link
Member

@AlekSi AlekSi commented Mar 22, 2023

Description

Closes #1733.

Readiness checklist

  • I added/updated unit tests.
  • I added/updated integration/compatibility tests.
  • I added/updated comments and checked rendering.
  • I made spot refactorings.
  • I updated user documentation.
  • I ran task all, and it passed.
  • I ensured that PR title is good enough for the changelog.
  • (for maintainers only) I set Reviewers (@FerretDB/core), Assignee, Labels, Project and project's Sprint fields.
  • I marked all done items in this checklist.

@AlekSi AlekSi added the code/chore Code maintenance improvements label Mar 22, 2023
@AlekSi AlekSi added this to the v1.0.0 GA milestone Mar 22, 2023
@AlekSi AlekSi self-assigned this Mar 22, 2023
@AlekSi AlekSi added the no ci label Mar 22, 2023
@codecov
Copy link

codecov bot commented Mar 22, 2023

Codecov Report

Merging #2254 (84c3a82) into main (7112cca) will increase coverage by 0.02%.
The diff coverage is 15.48%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2254      +/-   ##
==========================================
+ Coverage   28.43%   28.45%   +0.02%     
==========================================
  Files         372      377       +5     
  Lines       17499    17604     +105     
==========================================
+ Hits         4975     5010      +35     
- Misses      11992    12062      +70     
  Partials      532      532              
Impacted Files Coverage Δ
internal/handlers/common/aggregations/group.go 0.00% <ø> (ø)
internal/handlers/common/aggregations/stage.go 0.00% <ø> (ø)
internal/handlers/common/find.go 0.00% <0.00%> (ø)
internal/handlers/common/limit.go 0.00% <0.00%> (ø)
internal/handlers/common/limit_iterator.go 0.00% <0.00%> (ø)
internal/handlers/common/projection.go 0.00% <0.00%> (ø)
internal/handlers/common/projection_iterator.go 0.00% <0.00%> (ø)
internal/handlers/common/skip.go 0.00% <0.00%> (ø)
internal/handlers/common/skip_iterator.go 0.00% <0.00%> (ø)
internal/handlers/common/sort.go 0.00% <0.00%> (ø)
... and 14 more
Flag Coverage Δ
integration 5.08% <0.00%> (-0.04%) ⬇️
mongodb 5.08% <0.00%> (-0.04%) ⬇️
unit 27.13% <15.48%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

@mergify
Copy link
Contributor

mergify bot commented Mar 23, 2023

@AlekSi this pull request has merge conflicts.

@mergify mergify bot added conflict PRs that have merge conflicts and removed conflict PRs that have merge conflicts labels Mar 23, 2023
@mergify
Copy link
Contributor

mergify bot commented Mar 24, 2023

@AlekSi this pull request has merge conflicts.

@mergify mergify bot added the conflict PRs that have merge conflicts label Mar 24, 2023
@AlekSi AlekSi modified the milestones: v0.9.4, v1.0.0 GA Mar 27, 2023
@AlekSi AlekSi changed the title Use iterators in more places Use iterators for skip and limit Mar 27, 2023
@mergify mergify bot removed the conflict PRs that have merge conflicts label Mar 27, 2023
@AlekSi AlekSi changed the title Use iterators for skip and limit Use iterators for sort, limit, and skip Mar 27, 2023
@AlekSi AlekSi removed the no ci label Mar 27, 2023
@AlekSi AlekSi marked this pull request as ready for review March 27, 2023 17:10
@AlekSi AlekSi requested a review from a team as a code owner March 27, 2023 17:10
@AlekSi AlekSi requested review from w84thesun, rumyantseva, chilagrow, a team and noisersup March 27, 2023 17:10
@AlekSi AlekSi enabled auto-merge (squash) March 27, 2023 17:11
@AlekSi AlekSi marked this pull request as draft March 27, 2023 17:46
auto-merge was automatically disabled March 27, 2023 17:46

Pull request was converted to draft

@AlekSi AlekSi marked this pull request as ready for review March 27, 2023 18:18
@AlekSi AlekSi enabled auto-merge (squash) March 27, 2023 18:18
chilagrow
chilagrow previously approved these changes Mar 28, 2023
Copy link
Member

@chilagrow chilagrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome change!

@AlekSi AlekSi mentioned this pull request Mar 28, 2023
9 tasks
@AlekSi AlekSi requested review from chilagrow and a team March 28, 2023 08:48
@AlekSi AlekSi changed the title Use iterators for sort, limit, and skip Use iterators for sort, limit, skip, and projection Mar 28, 2023
@AlekSi
Copy link
Member Author

AlekSi commented Mar 28, 2023

@chilagrow PTAL

Copy link
Member

@chilagrow chilagrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great

Copy link
Contributor

@w84thesun w84thesun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@rumyantseva rumyantseva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that we have more and more consistency!

@AlekSi AlekSi merged commit ccc09cb into FerretDB:main Mar 28, 2023
@AlekSi AlekSi deleted the more-iterators branch March 28, 2023 10:27
efirs added a commit to tigrisdata-archive/ferretdb that referenced this pull request Apr 11, 2023
v1.0.0
https://github.com/FerretDB/FerretDB/releases/tag/v1.0.0
2023-04-03

We are delighted to announce the release of FerretDB 1.0 GA!

* Support `$sum` accumulator of `$group` aggregation by @chilagrow in FerretDB#2292
* Implement `createIndexes` command by @rumyantseva in FerretDB#2244
* Add basic `getMore` command by @AlekSi in FerretDB#2309
* Implement `dropIndexes` command by @chilagrow in FerretDB#2313
* Implement `$limit` aggregation pipeline stage by @noisersup in FerretDB#2270
* Add partial support for `collStats`, `dbStats` and `dataSize` by @AlekSi in FerretDB#2322
* Implement `$skip` aggregation pipeline stage by @w84thesun in FerretDB#2310
* Implement `$unwind` aggregation pipeline stage by @noisersup in FerretDB#2294
* Support `count` and `storageStats` fields in `$collStats` aggregation pipeline stage by @rumyantseva in FerretDB#2338

* Fix dot notation negative index errors by @w84thesun in FerretDB#2246
* Apply `skip` before `limit` by @AlekSi in FerretDB#2351

* Update supported command for `$sum` aggregation operator by @chilagrow in FerretDB#2318
* Add supported shells and GUIs images by @AlekSi in FerretDB#2323
* Publish FerretDB v0.9.4 blog post by @Fashander in FerretDB#2268
* Use dashes instead of underscores or spaces by @AlekSi in FerretDB#2329
* Update documentation sidebar by @Fashander in FerretDB#2347
* Update FerretDB descriptions by @AlekSi in FerretDB#2281
* Improve flags documentation by @AlekSi in FerretDB#2331
* Describe supported fields for `$collStats` aggregation stage by @rumyantseva in FerretDB#2352

* Use iterators for `sort`, `limit`, `skip`, and `projection` by @AlekSi in FerretDB#2254
* Bump dependencies by @AlekSi in FerretDB#2307
* Improve resource tracking by @AlekSi in FerretDB#2319
* Add tests for `find`'s and `count`'s `skip` argument by @w84thesun in FerretDB#2325
* Close iterator properly by @AlekSi in FerretDB#2333
* Improve large numbers initialization in test data by @noisersup in FerretDB#2324
* Ignore `unique` index option for now by @AlekSi in FerretDB#2350

All closed issues and pull requests: https://github.com/FerretDB/FerretDB/milestone/39?closed=1
All commits: FerretDB/FerretDB@v0.9.4...v1.0.0
efirs added a commit to tigrisdata-archive/ferretdb that referenced this pull request Apr 11, 2023
v1.0.0
https://github.com/FerretDB/FerretDB/releases/tag/v1.0.0
2023-04-03

We are delighted to announce the release of FerretDB 1.0 GA!

* Support `$sum` accumulator of `$group` aggregation by @chilagrow in FerretDB#2292
* Implement `createIndexes` command by @rumyantseva in FerretDB#2244
* Add basic `getMore` command by @AlekSi in FerretDB#2309
* Implement `dropIndexes` command by @chilagrow in FerretDB#2313
* Implement `$limit` aggregation pipeline stage by @noisersup in FerretDB#2270
* Add partial support for `collStats`, `dbStats` and `dataSize` by @AlekSi in FerretDB#2322
* Implement `$skip` aggregation pipeline stage by @w84thesun in FerretDB#2310
* Implement `$unwind` aggregation pipeline stage by @noisersup in FerretDB#2294
* Support `count` and `storageStats` fields in `$collStats` aggregation pipeline stage by @rumyantseva in FerretDB#2338

* Fix dot notation negative index errors by @w84thesun in FerretDB#2246
* Apply `skip` before `limit` by @AlekSi in FerretDB#2351

* Update supported command for `$sum` aggregation operator by @chilagrow in FerretDB#2318
* Add supported shells and GUIs images by @AlekSi in FerretDB#2323
* Publish FerretDB v0.9.4 blog post by @Fashander in FerretDB#2268
* Use dashes instead of underscores or spaces by @AlekSi in FerretDB#2329
* Update documentation sidebar by @Fashander in FerretDB#2347
* Update FerretDB descriptions by @AlekSi in FerretDB#2281
* Improve flags documentation by @AlekSi in FerretDB#2331
* Describe supported fields for `$collStats` aggregation stage by @rumyantseva in FerretDB#2352

* Use iterators for `sort`, `limit`, `skip`, and `projection` by @AlekSi in FerretDB#2254
* Bump dependencies by @AlekSi in FerretDB#2307
* Improve resource tracking by @AlekSi in FerretDB#2319
* Add tests for `find`'s and `count`'s `skip` argument by @w84thesun in FerretDB#2325
* Close iterator properly by @AlekSi in FerretDB#2333
* Improve large numbers initialization in test data by @noisersup in FerretDB#2324
* Ignore `unique` index option for now by @AlekSi in FerretDB#2350

All closed issues and pull requests: https://github.com/FerretDB/FerretDB/milestone/39?closed=1
All commits: FerretDB/FerretDB@v0.9.4...v1.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code/chore Code maintenance improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support getMore command
4 participants