Поразительно то, что как раз такая гипотетическая пара (запрос+метаданные для всех таблиц запроса) будет более устойчива к попыткам запустить ее на базе с другой структурой метаданных
во всем вашем рассуждении есть одна ложная негласная предпосылка, это то что бд обязательно должна сама строить запрос, избавляясь от этой несправедливости и позволив клиенту строить и оптимизировать запросы, а так же отвечать за индексы мы получаем "вау sql не нужен и это работает быстрее", правда не скейлится классическим способом. И надеюсь под метаданными вы не подразумеваете схему табличек в бд, это было бы все равно что сказать бд reinterpret_cast<unsigned int>(u.user_name)
.