Skip to content

Implement switch expression #1055

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

Merged
merged 15 commits into from
Jan 19, 2023
Merged

Implement switch expression #1055

merged 15 commits into from
Jan 19, 2023

Conversation

katcharov
Copy link
Collaborator

@katcharov katcharov force-pushed the expressions-map branch 2 times, most recently from aae819e to d0099cd Compare December 14, 2022 21:39
@katcharov
Copy link
Collaborator Author

56e8756 is new, first commit is rebased.

Copy link
Member

@stIncMale stIncMale left a comment

Choose a reason for hiding this comment

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

MqlExpression and tests are yet to be reviewed.

Copy link
Member

@stIncMale stIncMale left a comment

Choose a reason for hiding this comment

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

The switch[Type]On + Branches* is the most complex generic structure I've ever encountered, and probably for the first time in a long time a structure that I absolutely fail to reason about. GJ raising the complexity to another level 💪

@katcharov katcharov requested a review from stIncMale January 13, 2023 21:57
@katcharov katcharov requested a review from stIncMale January 16, 2023 22:43
@katcharov katcharov requested a review from stIncMale January 17, 2023 19:35
@katcharov katcharov requested a review from stIncMale January 17, 2023 23:43
@katcharov katcharov force-pushed the expressions-switch2 branch from 5ccaa86 to ac30218 Compare January 17, 2023 23:44
@katcharov katcharov force-pushed the expressions-switch2 branch 2 times, most recently from e71ebd8 to 1449f2f Compare January 18, 2023 17:10
@katcharov
Copy link
Collaborator Author

Rebased, minor conflicts.

@jyemin jyemin removed their request for review January 19, 2023 14:51
Base automatically changed from expressions-map to expressions January 19, 2023 15:40
@katcharov katcharov force-pushed the expressions-switch2 branch from 5dd9987 to 647e307 Compare January 19, 2023 15:43
@katcharov katcharov merged commit d96bfd5 into expressions Jan 19, 2023
@katcharov katcharov deleted the expressions-switch2 branch January 19, 2023 15:46
katcharov added a commit that referenced this pull request Jan 30, 2023
katcharov added a commit that referenced this pull request Jan 31, 2023
katcharov added a commit that referenced this pull request Jan 31, 2023
* Implement boolean expressions (#1025)

JAVA-4779

* Implement filter, map, reduce (#1031)

JAVA-4781

* Implement eq, ne, gt, gte, lt, lte (#1033)

JAVA-4784

* Implement string expressions (#1036)

JAVA-4801

* Implement arithmetic expressions (#1037)

Implement arithmetic expressions (from top 50, and others)

JAVA-4803

* Implement array expressions (#1043)

JAVA-4805

* Implement date expressions (#1045)

JAVA-4804

* Implement conversion/type expressions (#1050)

JAVA-4802

* Implement document expressions (#1052)

JAVA-4782

* Replace reduce with individual reductions (#1053)

JAVA-4814

* Implement map expressions (#1054)

JAVA-4817

* Implement switch expression (#1055)

JAVA-4813

* Test expressions in context (#1057)

JAVA-4820

* Add javadoc for boolean, date, number, integer, and expression (#1059)

 JAVA-4799

* Update and add documentation (#1059)

* Fix, tests

 JAVA-4799

* Add `@MqlUnchecked` and a few usage examples (#1059)

 JAVA-4799

* Add has to document, add tests (#1070)

 JAVA-4799

* Add javadocs for remaining classes (#1070)

 JAVA-4799

* 5.2 annotations (#1070)

 JAVA-4799

* 5.0 annotations (#1070)

 JAVA-4799

* 4.4 annotations (#1070)

 JAVA-4799

* 4.2 annotations (#1070)

 JAVA-4799

* 4.0 annotations (#1070)

 JAVA-4799

* Update and add documentation, add tests, fix minor issues (#1070)

Rename extractBsonValue

Fix access modifiers

Remove excess comments

Update docs

Fix: behaviour of get

Add notNull to API, add notNullApi test

Fix docs/annotations, tests

Fix docs, annotations, since

Fix docs

Revert external

Add missing MqlUnchecked

Fix missing null checks

Checkstyle

JAVA-4799

* Rename to Mql (automated) (#1073)

JAVA-3879

* Rename methods (automated) (#1073)

JAVA-3879

* Update naming, terms, and missing checks and annotations (#1073)

JAVA-3879

---------

Co-authored-by: Valentin Kovalenko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants