Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-7745

Aggregate queries issues with spatial queries

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • RHDG 8.6.x CD
    • Querying
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      The corresponding GHI is: https://github.com/infinispan/infinispan/issues/15749

      The following query gives a NullPointerException:

      select max(distance(r.location, 41.90847031512531, 12.455633288333539)) from %s r group by distance(r.location, 41.90847031512531, 12.455633288333539)
      

      The error is:

      
      GeoLocalQueryTest.indexingAndSearch:257 ยป NullPointer Cannot invoke "java.lang.Class.isEnum()" because "propType" is null
      
       java.lang.NullPointerException: Cannot invoke "java.lang.Class.isEnum()" because "propType" is null at org.infinispan.query.objectfilter.impl.syntax.parser.RowPropertyHelper.getPrimitivePropertyType(RowPropertyHelper.java:106) at org.infinispan.query.objectfilter.impl.syntax.parser.RowPropertyHelper.getPrimitivePropertyType(RowPropertyHelper.java:12) at org.infinispan.query.objectfilter.impl.syntax.parser.QueryRendererDelegateImpl.setPropertyPath(QueryRendererDelegateImpl.java:618) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.propertyReferenceExpression(QueryRenderer.java:5321) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.valueExpressionPrimary(QueryRenderer.java:5133) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.valueExpression(QueryRenderer.java:4926) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.rootSelectExpression(QueryRenderer.java:2444) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.rootSelectExpression(QueryRenderer.java:2422) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.rootSelectExpression(QueryRenderer.java:2376) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.selectClause(QueryRenderer.java:2225) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.selectFrom(QueryRenderer.java:1127) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.querySpec(QueryRenderer.java:559) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.queryStatement(QueryRenderer.java:362) at org.infinispan.query.objectfilter.impl.ql.parse.QueryRenderer.statement(QueryRenderer.java:278) at org.infinispan.query.objectfilter.impl.ql.QueryParser.render(QueryParser.java:90) at org.infinispan.query.objectfilter.impl.ql.QueryParser.parseQuery(QueryParser.java:72) at org.infinispan.query.objectfilter.impl.syntax.parser.IckleParser.parse(IckleParser.java:20) at org.infinispan.query.objectfilter.impl.BaseMatcher.getObjectFilter(BaseMatcher.java:136) at org.infinispan.query.core.impl.QueryCache.lambda$get$2533ce7c$1(QueryCache.java:68) at org.infinispan.cache.impl.FunctionMapper.apply(FunctionMapper.java:51) at org.infinispan.cache.impl.SimpleCacheImpl.lambda$computeIfAbsentInternal$0(SimpleCacheImpl.java:1408) at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$0(AbstractInternalDataContainer.java:236) at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$remap$0(BoundedLocalCache.java:2861) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) at com.github.benmanes.caffeine.cache.BoundedLocalCache.remap(BoundedLocalCache.java:2856) at com.github.benmanes.caffeine.cache.BoundedLocalCache.compute(BoundedLocalCache.java:2806) at com.github.benmanes.caffeine.cache.LocalCache.compute(LocalCache.java:99) at org.infinispan.commons.util.AbstractDelegatingMap.compute(AbstractDelegatingMap.java:81) at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:235) at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:254) at org.infinispan.cache.impl.SimpleCacheImpl.computeIfAbsentInternal(SimpleCacheImpl.java:1405) at org.infinispan.cache.impl.SimpleCacheImpl.computeIfAbsent(SimpleCacheImpl.java:1375) at org.infinispan.cache.impl.EncoderCache.computeIfAbsent(EncoderCache.java:629) at org.infinispan.Cache.computeIfAbsent(Cache.java:355) at org.infinispan.query.core.impl.QueryCache.get(QueryCache.java:68) at org.infinispan.query.core.impl.QueryEngine.getObjectFilter(QueryEngine.java:490) at org.infinispan.query.dsl.embedded.impl.QueryEngine.buildQueryWithAggregations(QueryEngine.java:288) at org.infinispan.query.core.impl.QueryEngine.buildQuery(QueryEngine.java:96) at org.infinispan.query.core.impl.DelegatingQuery.createQuery(DelegatingQuery.java:94) at org.infinispan.query.core.impl.DelegatingQuery.list(DelegatingQuery.java:107) at org.infinispan.query.geo.GeoLocalQueryTest.indexingAndSearch(GeoLocalQueryTest.java:257) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:230) at org.infinispan.commons.test.TestNGLongTestsHook.run(TestNGLongTestsHook.java:17) at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:242) at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:56) at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:44) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) at java.base/java.lang.Thread.run(Thread.java:1474) ]]>
      
      

      Another query gives a ParsingException, but from my understanding it should work fine:

      The query is:

      select r.score, avg(distance(r.location, 41.90847031512531, 12.455633288333539)) from %s r group by r.score
      

      The error that I am getting is:

      Parsing ISPN014026: The expression 'DISTANCE(location, 41.90847031512531, 12.455633288333539)' must be part of an aggregate function or it should be included in the GROUP BY clause
      
      

              karestig@redhat.com Katia Aresti
              amanukya@redhat.com Anna Manukyan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: