Deep inside SQLite source files, there is a module called closure.c for computing transitive closure and it is provided as an extension.
Inside, it uses an AVL tree implementation, so why to use that kind of implementation(or importance) for computing transitive closure in this case? And when is the AVL tree populated? because I found that closureInsertNode() function call, which is used to populate the tree are present inside the "xFilter Method" but the purpose of "xFilter Method" method is to search the virtual table. And one more query is that, when(or in which function) the Virtual table(or closure table) is populated so that the "xFilter Method" will begin search of the virtual table. What is the relation between the virtual table and the AVL tree? Can anyone kindly explain my queries???