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

Optimize terminating operations #31

Closed
4 tasks done
dekmm opened this issue Jun 29, 2020 · 1 comment
Closed
4 tasks done

Optimize terminating operations #31

dekmm opened this issue Jun 29, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request
Projects
Milestone

Comments

@dekmm
Copy link
Contributor

dekmm commented Jun 29, 2020

Some terminal operations can be expressed as a combination of multiple intermediate operations, making them easier to represent in SQL:

  • AnyMatch
    .anyMatch(p) can be expressed as .filter(p).limit(1).count() > 0)
  • NoneMatch
    .noneMatch(p) can be expressed as .filter(p).limit(1).count() = 0

Some terminal operations can be enhanced with certain intermediate operations in order to optimize the SQL query that is being executed:

  • FindFirst
    .findFirst() can be expressed as .limit(1).findFirst() to restrict the size of the ResultSet
  • FindAny can be expressed as .unordered().limit(1).findAny()
@dekmm dekmm added the enhancement New feature or request label Jun 29, 2020
@dekmm dekmm added this to the 0.1.0 milestone Jun 29, 2020
@dekmm dekmm added this to To do in 1.1.4 via automation Jun 29, 2020
@minborg minborg modified the milestones: 0.1.0, 0.1.2, 0.1.3 Aug 31, 2020
@julgus julgus added this to the 1.1.1 milestone Sep 1, 2022
@julgus julgus removed this from To do in 1.1.4 Sep 1, 2022
@julgus julgus modified the milestones: 1.1.1, 1.1.2 Dec 2, 2022
@julgus julgus modified the milestones: 1.1.3, 1.1.4 Feb 16, 2023
@julgus julgus modified the milestones: 1.1.4, 1.1.5 Mar 10, 2023
@julgus julgus modified the milestones: 1.1.5, 3.0.1 Apr 11, 2023
@julgus julgus added this to To do in 3.0.4 May 19, 2023
@julgus julgus moved this from To do to Prio 1 in 3.0.4 May 19, 2023
@julgus julgus self-assigned this May 19, 2023
@julgus julgus moved this from Prio 1 to In Progress in 3.0.4 May 23, 2023
@julgus
Copy link
Member

julgus commented May 23, 2023

Work appended to the 'terminal' branch.

@julgus julgus modified the milestones: 3.0.1, 3.0.2 May 23, 2023
julgus added a commit that referenced this issue May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
3.0.4
Done
Development

No branches or pull requests

3 participants