F/dbparser testing

This branch refactors the dbparser unit test program to make a bit more readable and also contains dbparser
refactors.
This is a kind of cache, isn't?
Perhaps, we should use the cache implementation here