Io avrei una altro paio di domande:
1. La funzione getNode restituisce il percorso ad un nodo, ma in modo non ordinato. Non servirebbe un ORDER BY tree.sx ASC all'interno della query?
2. Volendo selezionare solo X livelli di sottorecord (ad esempio figli, o figli e nipoti, e così via) che tipo di condizione bisogna porre sugli indici?
3. C'è un modo per estrarre il numero di figli di un record? (dx-sx-1)/2 conta tutti i sottorecord...