[ 
https://issues.apache.org/jira/browse/GROOVY-12724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18140651#comment-18140651
 ] 

ASF GitHub Bot commented on GROOVY-12724:
-----------------------------------------

codecov-commenter commented on PR #3259:
URL: https://github.com/apache/groovy/pull/3259#issuecomment-6720031496

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/3259?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `87.45645%` with `108 lines` in your changes missing 
coverage. Please review.
   :warning: Please [upload](https://docs.codecov.com/docs/codecov-uploader) 
report for BASE (`gep26-sql-window@e43897f`). [Learn 
more](https://docs.codecov.io/docs/error-reference?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#section-missing-base-commit)
 about missing BASE report.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/3259?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...roovy/org/apache/groovy/ginq/GinqStaticBridge.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2FGinqStaticBridge.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvR2lucVN0YXRpY0JyaWRnZS5qYXZh)
 | 79.0191% | [27 Missing and 50 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...roovy/org/apache/groovy/ginq/fluent/GinqQuery.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Ffluent%2FGinqQuery.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvZmx1ZW50L0dpbnFRdWVyeS5qYXZh)
 | 93.3333% | [4 Missing and 6 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...e/groovy/ginq/transform/GinqASTTransformation.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Ftransform%2FGinqASTTransformation.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvdHJhbnNmb3JtL0dpbnFBU1RUcmFuc2Zvcm1hdGlvbi5qYXZh)
 | 83.3333% | [2 Missing and 6 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...n/groovy/org/apache/groovy/ginq/GinqRowChecks.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2FGinqRowChecks.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvR2lucVJvd0NoZWNrcy5qYXZh)
 | 79.4118% | [1 Missing and 6 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...oovy/ginq/provider/collection/GinqAstWalker.groovy](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2FGinqAstWalker.groovy&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9HaW5xQXN0V2Fsa2VyLmdyb292eQ==)
 | 88.0000% | [0 Missing and 3 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...rg/apache/groovy/ginq/provider/GinqAggregates.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2FGinqAggregates.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvR2lucUFnZ3JlZ2F0ZXMuamF2YQ==)
 | 97.1429% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...inq/provider/collection/runtime/LazyQueryable.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2Fruntime%2FLazyQueryable.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9ydW50aW1lL0xhenlRdWVyeWFibGUuamF2YQ==)
 | 98.5294% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...vy/ginq/provider/collection/runtime/Queryable.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2Fruntime%2FQueryable.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9ydW50aW1lL1F1ZXJ5YWJsZS5qYXZh)
 | 80.0000% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/3259/graphs/tree.svg?width=650&height=150&src=pr&token=1r45138NfQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                  Coverage Diff                  @@
   ##             gep26-sql-window      #3259   +/-   ##
   =====================================================
     Coverage                    ?   74.1996%           
     Complexity                  ?      45530           
   =====================================================
     Files                       ?       1751           
     Lines                       ?     154385           
     Branches                    ?      29546           
   =====================================================
     Hits                        ?     114553           
     Misses                      ?      29152           
     Partials                    ?      10680           
   ```
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/3259?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[.../groovy-ginq/src/main/groovy/groovy/ginq/Ginq.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Fgroovy%2Fginq%2FGinq.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L2dyb292eS9naW5xL0dpbnEuamF2YQ==)
 | `100.0000% <100.0000%> (ø)` | |
   | 
[...groovy-ginq/src/main/groovy/groovy/ginq/Query.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Fgroovy%2Fginq%2FQuery.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L2dyb292eS9naW5xL1F1ZXJ5LmphdmE=)
 | `100.0000% <100.0000%> (ø)` | |
   | 
[...vy/org/apache/groovy/ginq/GinqGroovyMethods.groovy](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2FGinqGroovyMethods.groovy&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvR2lucUdyb292eU1ldGhvZHMuZ3Jvb3Z5)
 | `78.3132% <100.0000%> (ø)` | |
   | 
[...vy/org/apache/groovy/ginq/fluent/GinqGrouping.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Ffluent%2FGinqGrouping.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvZmx1ZW50L0dpbnFHcm91cGluZy5qYXZh)
 | `100.0000% <100.0000%> (ø)` | |
   | 
[...provider/collection/runtime/QueryableHelper.groovy](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2Fruntime%2FQueryableHelper.groovy&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9ydW50aW1lL1F1ZXJ5YWJsZUhlbHBlci5ncm9vdnk=)
 | `74.5098% <100.0000%> (ø)` | |
   | 
[...rg/apache/groovy/ginq/provider/GinqAggregates.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2FGinqAggregates.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvR2lucUFnZ3JlZ2F0ZXMuamF2YQ==)
 | `97.1429% <97.1429%> (ø)` | |
   | 
[...inq/provider/collection/runtime/LazyQueryable.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2Fruntime%2FLazyQueryable.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9ydW50aW1lL0xhenlRdWVyeWFibGUuamF2YQ==)
 | `98.5294% <98.5294%> (ø)` | |
   | 
[...vy/ginq/provider/collection/runtime/Queryable.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2Fruntime%2FQueryable.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9ydW50aW1lL1F1ZXJ5YWJsZS5qYXZh)
 | `80.0000% <80.0000%> (ø)` | |
   | 
[...oovy/ginq/provider/collection/GinqAstWalker.groovy](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fprovider%2Fcollection%2FGinqAstWalker.groovy&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvcHJvdmlkZXIvY29sbGVjdGlvbi9HaW5xQXN0V2Fsa2VyLmdyb292eQ==)
 | `90.2439% <88.0000%> (ø)` | |
   | 
[...n/groovy/org/apache/groovy/ginq/GinqRowChecks.java](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2FGinqRowChecks.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvR2lucVJvd0NoZWNrcy5qYXZh)
 | `79.4118% <79.4118%> (ø)` | |
   | ... and [3 
more](https://app.codecov.io/gh/apache/groovy/pull/3259?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | |
   </details>
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   - :package: [JS Bundle 
Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save 
yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>




> GINQ: support static compilation and a fluent query API
> -------------------------------------------------------
>
>                 Key: GROOVY-12724
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12724
>             Project: Groovy
>          Issue Type: Improvement
>          Components: GINQ
>            Reporter: Daniel Sun
>            Assignee: Daniel Sun
>            Priority: Major
>
> Under @CompileStatic / @TypeChecked, GQ, GQL, and @GQ currently rely on 
> dynamic lowering. This improvement makes those entry points usable from a 
> statically checked scope while keeping the SQL-like syntax lowered to the 
> in-memory collection runtime.
> h3. Goals
> * Allow GQ / GQL / @GQ from @CompileStatic and @TypeChecked without forcing 
> the lowered tree through static checking at the expression site.
> * Defer pipeline construction with LazyQueryable until a terminal read 
> (toList, count, etc.), copying locals at the expression site (same binding as 
> dynamic GQ).
> * Add Ginq.from(...) as a deferred, generic fluent chain on the same runtime, 
> with @ClosureParams so where/select/join/aggregate closures can infer element 
> types where inference is sound.
> * Preserve default lazy/deferred evaluation and dynamic GQ behavior for map 
> rows and other intentionally dynamic cases.
> h3. Non-goals / known limits
> * Stored untyped Closure variables still need a SAM target type for parameter 
> inference (same as Java/C#).
> * Raw Query parameters/fields cannot recover a safe element type.
> * Names bound by from inside GQ / GQL / @GQ stay dynamic by design; callers 
> that need checked element types use Ginq.from.
> h3. Related work
> GitHub PR: https://github.com/apache/groovy/pull/3259
> Stacked on GEP-26 SQL window work (PR #3167 / gep26-sql-window).



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to