Building Query Compilers