[ https://issues.apache.org/jira/browse/OAK-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14712871#comment-14712871 ]
Thomas Mueller commented on OAK-3230: ------------------------------------- The change in AggregationCursor looks wrong to me: {noformat} if (cursor.hasNext()) { IndexRow nextRow = cursor.next(); if (!currentRow.isVirtualRow()) { currentRow = nextRow; String path = currentRow.getPath(); aggregates = Iterators.filter(Iterators.concat( Iterators.singletonIterator(path), aggregator.getParents(rootState, path)), Predicates .not(Predicates.in(seenPaths))); } fetchNext(); return; } {noformat} For example currentRow could be null here, so that could result in a NPE. I think it should be: {noformat} if (cursor.hasNext()) { currentRow = cursor.next(); if (!currentRow.isVirtualRow()) { String path = currentRow.getPath(); aggregates = Iterators.filter(Iterators.concat( Iterators.singletonIterator(path), aggregator.getParents(rootState, path)), Predicates .not(Predicates.in(seenPaths))); } fetchNext(); return; } {noformat} > Query engine should support virtual index rows > ---------------------------------------------- > > Key: OAK-3230 > URL: https://issues.apache.org/jira/browse/OAK-3230 > Project: Jackrabbit Oak > Issue Type: Sub-task > Components: query > Reporter: Vikas Saurabh > Assignee: Thomas Mueller > Fix For: 1.3.5 > > Attachments: OAK-3230-query-engine-should-support-virtual-rows.patch > > > As discussed in OAK-3156 > [here|https://issues.apache.org/jira/browse/OAK-3156?focusedCommentId=14645712&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14645712] > and > [here|https://issues.apache.org/jira/browse/OAK-3156?focusedCommentId=14655273&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14655273], > we need support for virtual rows returned by indices (rows where path > property doesn't make sense). > Talked to [~tmueller] and we should have a new method in {{IndexRow}} to > clearly mark the intent that the row is virtual and hence should be treated > accordingly by the query engine. -- This message was sent by Atlassian JIRA (v6.3.4#6332)