Optimising isDescendant/isAncestor to only query lft/rgt values