Dado o seguinte tipo de estrutura de dados.
ID NOME TREELEFT TREERIGHT PAI 1 XYZ 1 2 0 2 ABC 3 6 0 3 DEF 4 5 2 4 HIJ 7 10 0 5 KLM 8 9 4 6 NOP 11 16 0 7 QRS 12 15 6 8 TUV 13 14 7
A metodologia é mais ou menos idêntica ao modelo de conjunto aninhado, exceto que incluí um pai, apenas para tornar minha vida um pouco mais fácil. ( https://en.wikipedia.org/wiki/Nested_set_model#Example ) Preciso encontrar uma maneira de detectar lacunas. Por exemplo, se ID=6 tivesse um treeright diferente, digamos 17. Tecnicamente, haveria uma lacuna de 1.
No momento, fiz isso em uma série de consultas diferentes.
Um para detectar se treeright não excede 2n, outro para detectar se treeright é sempre > que treeleft. Outro casal para garantir que nenhum treeleft ou treeright seja idêntico um ao outro.
No entanto, se eu pudesse adicionar apenas uma verificação para garantir que a árvore não tivesse lacunas, tenho certeza de que alguns dos outros testes se tornariam redundantes. Alguém pode pensar em uma boa maneira de fazer isso. Eu estive quebrando a cabeça com isso por um longo período de tempo.
Levei um tempo para descobrir isso.