[infinispan-issues] [JBoss JIRA] (ISPN-7906) Infinispan Query DSL does not handle inheritance of properties/fields correctly

Adrian Nistor (JIRA) issues at jboss.org
Fri Jun 9 06:52:00 EDT 2017


     [ https://issues.jboss.org/browse/ISPN-7906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Nistor updated ISPN-7906:
--------------------------------
    Status: Open  (was: New)


> Infinispan Query DSL does not handle inheritance of properties/fields correctly
> -------------------------------------------------------------------------------
>
>                 Key: ISPN-7906
>                 URL: https://issues.jboss.org/browse/ISPN-7906
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Embedded Querying
>    Affects Versions: 8.2.0.Final, 9.0.0.Final
>            Reporter: Adrian Nistor
>            Assignee: Adrian Nistor
>
> If 'age' property is a field in the parent class of Person you will get:
> {code}
> org.infinispan.objectfilter.ParsingException: ISPN028501: The type org.infinispan.query.dsl.embedded.SingleClassDSLQueryTest$Person has no property named 'age'.
> 	at org.infinispan.objectfilter.impl.syntax.parser.QueryResolverDelegateImpl.normalizeProperty(QueryResolverDelegateImpl.java:191)
> 	at org.infinispan.objectfilter.impl.syntax.parser.QueryResolverDelegateImpl.normalizePropertyPathTerminus(QueryResolverDelegateImpl.java:185)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.pathedPropertyReference(QueryResolver.java:7736)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.propertyReferencePath(QueryResolver.java:7567)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.propertyReferenceExpression(QueryResolver.java:5689)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.valueExpressionPrimary(QueryResolver.java:5495)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.valueExpression(QueryResolver.java:5271)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.rowValueConstructor(QueryResolver.java:4490)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.predicate(QueryResolver.java:3458)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.searchCondition(QueryResolver.java:2979)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.whereClause(QueryResolver.java:655)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.querySpec(QueryResolver.java:510)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.queryStatement(QueryResolver.java:379)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.queryStatementSet(QueryResolver.java:292)
> 	at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.statement(QueryResolver.java:220)
> 	at org.infinispan.objectfilter.impl.ql.QueryParser.resolve(QueryParser.java:81)
> 	at org.infinispan.objectfilter.impl.ql.QueryParser.parseQuery(QueryParser.java:69)
> 	at org.infinispan.objectfilter.impl.syntax.parser.IckleParser.parse(IckleParser.java:19)
> 	at org.infinispan.query.dsl.embedded.impl.QueryEngine.lambda$parse$1(QueryEngine.java:655)
> 	at org.infinispan.query.dsl.embedded.impl.QueryCache.lambda$get$0(QueryCache.java:79)
> 	at org.infinispan.cache.impl.TypeConverterDelegatingAdvancedCache.lambda$convertFunction$1(TypeConverterDelegatingAdvancedCache.java:103)
> 	at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324)
> 	at org.infinispan.cache.impl.AbstractDelegatingCache.computeIfAbsent(AbstractDelegatingCache.java:343)
> 	at org.infinispan.cache.impl.TypeConverterDelegatingAdvancedCache.computeIfAbsent(TypeConverterDelegatingAdvancedCache.java:163)
> 	at org.infinispan.query.dsl.embedded.impl.QueryCache.get(QueryCache.java:79)
> 	at org.infinispan.query.dsl.embedded.impl.QueryEngine.parse(QueryEngine.java:655)
> 	at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.<init>(DelegatingQuery.java:54)
> 	at org.infinispan.query.dsl.embedded.impl.EmbeddedQueryBuilder.build(EmbeddedQueryBuilder.java:32)
> 	at org.infinispan.query.dsl.impl.BaseCondition.build(BaseCondition.java:197)
> 	at org.infinispan.query.dsl.embedded.SingleClassDSLQueryTest.testInheritedField(SingleClassDSLQueryTest.java:88)
> 	at org.infinispan.query.dsl.embedded.NonIndexedSingleClassDSLQueryTest.testInheritedField(NonIndexedSingleClassDSLQueryTest.java:22)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
> 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:767)
> 	at org.testng.TestRunner.run(TestRunner.java:617)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:254)
> 	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> 	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> 	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
> 	at org.testng.TestNG.run(TestNG.java:1057)
> 	at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
> 	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127)
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list