-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add CONDITIONED BY * EXCEPT
support
#101
Conversation
5a5786b
to
909b81d
Compare
d590a9a
to
715478b
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #101 +/- ##
==========================================
+ Coverage 75.60% 75.72% +0.12%
==========================================
Files 30 30
Lines 1496 1516 +20
Branches 64 65 +1
==========================================
+ Hits 1131 1148 +17
- Misses 301 303 +2
- Partials 64 65 +1 ☔ View full report in Codecov by Sentry. |
909b81d
to
013d3ed
Compare
715478b
to
87e5225
Compare
87e5225
to
f4abb7c
Compare
f4abb7c
to
ab09e62
Compare
77bb484
to
2640e4a
Compare
125346b
to
47d3e11
Compare
47d3e11
to
cf2af50
Compare
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.
Looks mostly good. Left a comment about a line I don't understand.
|
||
[:model-expr child] (plan child) | ||
[:model-expr "(" child ")"] (plan child) | ||
[(:or :conditioned-by-expr :conditioned-by-except-clause) & _] (conditioned-by-plan* ws-free-node) |
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.
I am not sure what's going on here. Why is this phrase starting with an :or
? Maybe add a comment.
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.
I'll add a comment.
In core.match
, (:or :alternative1 :alternative2)
means it could match either of two alternatives in that spot.
I did that to match either subpart, and delegate further matching/planning to conditioned-by-plan*
.
And I started delegating to submatching fns because once the core.match patterns got too big/nested, the Clojure compiler started generating invalid Java class names. See https://clojure.atlassian.net/browse/CLJ-1852 and https://ask.clojure.org/index.php/3824/clojure-generated-class-names-length-exceed-file-system-limit?show=3824#q3824 for more.
cf2af50
to
ac9865a
Compare
No description provided.