Daniel Sun created GROOVY-11720:
-----------------------------------
Summary: [GINQ] Failed to recognize sub-query in where clause
Key: GROOVY-11720
URL: https://issues.apache.org/jira/browse/GROOVY-11720
Project: Groovy
Issue Type: Bug
Affects Versions: 5.0.0-beta-2, 4.0.28
Reporter: Daniel Sun
Assignee: Daniel Sun
{code:java}
assert [2] == GQ {
from n in [1, 2, 3]
where n == (from m in [1, 2] select max(m))
select n
}.toList()
{code}
yields the following error:
{code:java}
groovy.lang.MissingPropertyException: No such property: m for class:
ConsoleScript2
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:69)
at
org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:163)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
at ConsoleScript2$_run_closure1$_closure2.doCall(ConsoleScript2:3)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:270)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at groovy.lang.Closure.call(Closure.java:471)
at
org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:54)
at
org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:114)
at jdk.proxy1/jdk.proxy1.$Proxy27.test(Unknown Source)
at
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at
org.apache.groovy.ginq.provider.collection.runtime.QueryableCollection.toList(QueryableCollection.java:580)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
at ConsoleScript2.run(ConsoleScript2:1)
at
groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:290)
at groovy.lang.GroovyShell.run(GroovyShell.java:422)
at groovy.lang.GroovyShell.run(GroovyShell.java:401)
at groovy.lang.GroovyShell.run(GroovyShell.java:201)
at groovy.console.ui.Console$GroovySourceType.run(Console.groovy:1189)
at groovy.console.ui.Console.doRun(Console.groovy:1421)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:318)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
at
groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy:1379)
at
groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:270)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at groovy.lang.Closure.call(Closure.java:471)
at groovy.lang.Closure.call(Closure.java:450)
at groovy.lang.Closure.run(Closure.java:543)
at java.base/java.lang.Thread.run(Thread.java:1583)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)