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

Window functions and experimental syntax promotion (#325) #391

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

parsonsmatt
Copy link
Collaborator

  • Remove r -> a fundep from SqlSelect and update to accept to support the change

  • fix record derivation to support SqlSelect fun dep changes

  • Move window definition from previous branch to new branch based off of current master; Break Frame definition out into its own file; Start Work on connecting Window definition language to SqlExpr language

  • Fix typo with preceding; Add initial tests to verify window functions are rendering correctly

  • Add window function tests

  • Add new context variable to SqlExpr; Start with everything in terms of ValueContext and begin easing constraints

  • Add aggregate context; Update all aggregation functions to return SqlAgg; Modify ToAliasReference to correctly reset context to value (all references are values); Added test to verify that filterWhere works with over

  • Revert all SqlAgg functions back to SqlExpr; Split SqlSelect typeclass in two to support type inference for subquery context erasure

  • Remove MergeContext in favor of explicitly lifting values into the windowed context

  • Relax the type of aggregate functions to leave ctx open.

  • Add some comments; Change the ctx on some functions

  • Run stylish on window modules

  • Fix implementation of ToAliasReference in record derivation

  • Preserve type variable ordering of

  • Add type role to forbid coerce

  • fix build

  • rename between between_

  • export framerange type

  • generalize case_

  • generalize val

  • a few more patches

  • Refactor common tests

  • Add legacy test modules for mysql and sqlite; Fix warnings in test compilation

  • Add changelog entry; Add warnings to Experiment/Legacy top level modules; Change default top level module to new syntax

  • Run stylish on window function modules

  • Fix compilation error in warning pragmas


Before submitting your PR, check that you've:

After submitting your PR:

  • Update the Changelog.md file with a link to your PR.
  • Check that CI passes (or if it fails, for reasons unrelated to your change, like CI timeouts).

belevy and others added 2 commits May 28, 2023 13:50
* Remove r -> a fundep from SqlSelect and update  to accept to support the change

* fix record derivation to support SqlSelect fun dep changes

* Move window definition from previous branch to new branch based off of current master; Break Frame definition out into its own file; Start Work on connecting Window definition language to SqlExpr language

* Fix typo with preceding; Add initial tests to verify window functions are rendering correctly

* Add window function tests

* Add new context variable to SqlExpr; Start with everything in terms of ValueContext and begin easing constraints

* Add aggregate context; Update all aggregation functions to return SqlAgg; Modify ToAliasReference to correctly reset context to value (all references are values); Added test to verify that filterWhere works with over

* Revert all SqlAgg functions back to SqlExpr; Split SqlSelect typeclass in two to support type inference for subquery context erasure

* Remove MergeContext in favor of explicitly lifting values into the windowed context

* Relax the type of aggregate functions to leave ctx open.

* Add some comments; Change the ctx on some functions

* Run stylish on window modules

* Fix implementation of ToAliasReference in record derivation

* Preserve type variable ordering of

* Add type role to forbid coerce

* fix build

* rename between between_

* export framerange type

* generalize case_

* generalize val

* a few more patches

* Refactor common tests

* Add legacy test modules for mysql and sqlite; Fix warnings in test compilation

* Add changelog entry; Add warnings to Experiment/Legacy top level modules; Change default top level module to new syntax

* Run stylish on window function modules

* Fix compilation error in warning pragmas

---------

Co-authored-by: parsonsmatt <[email protected]>
* Update esqueleto-next

* spacing
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.

2 participants