Schema introspection: ignore routines with inaccessible bodies
Schema introspection: ignore routines with inaccessible bodies

In MySQL and MariaDB, a user with the EXECUTE priv but lacking certain other
privs (which varies by flavor) can see that certain named routines exist, but
cannot view their bodies in information_schema.routines, mysql.proc, or SHOW
CREATE PROCEDURE / FUNCTION.

Previously this broke schema introspection logic with a fatal error. Now any
such routines are completely ignored.

Additionally, in cases where the body can be obtained but legitimately cannot
be parsed, the error message is now much more descriptive.

skeema/tengo,skeema/skeema