[
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>
[](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)