Description
Outer join queries with a condition of "name(joinSelector) = 'x'" or "localname(joinSelector) = 'x'" can result in a NullPointerException. This is because the code doesn't take the "no-match" case into account (that the joined selector doesn't have a node). Example queries:
select a.[jcr:path] from [nt:base] as a left outer join [nt:base] as b on ischildnode(b, a) where name(b) = 'b' select a.[jcr:path] from [nt:base] as a left outer join [nt:base] as b on ischildnode(b, a) where localname(b) = 'b'