daniellansun opened a new pull request, #3259: URL: https://github.com/apache/groovy/pull/3259
## Summary `GQ`, `GQL`, and `@GQ` can be used from a `@CompileStatic` or `@TypeChecked` scope. The SQL-like syntax is still lowered to the collection runtime. Under static checking that lowered tree is not run when the expression is evaluated: a `LazyQueryable` builds it on the first read (`toList`, `count`, and the other terminals). Locals are copied at the expression site (same binding as dynamic GQ); sources stay closed until a terminal. `Ginq.from` adds a deferred, generic fluent chain on the same in-memory runtime. Fluent closure overloads carry the element type into `where` / `select` / joins / aggregates via `@ClosureParams`, so callers need not write parameter types under static checking. Stacked on GEP-26 SQL window work ([#3167](https://github.com/apache/groovy/pull/3167) / `gep26-sql-window`). ## Test - `:groovy-ginq:test` and `:groovy-ginq-sql:test` green locally - RAT license header fixed on the aggregate SPI file -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
