fixed bug: use own implementation of list_difference to avoid side affects
bug fix in the difference implementation for the bug fix :)
support more node types for invalidating statistics
we can handle select * with selection condition