When the LLM calls `list_tables` tool without a `schema` parameter, the
backend receives an empty string. This caused PostgreSQL and MySQL
metadata queries to return no results because:
- PostgreSQL: `WHERE n.nspname = ''` matches nothing
- MySQL: `WHERE TABLE_SCHEMA = ''` matches nothing
Fix by falling back to sensible defaults:
- PostgreSQL `list_tables`/`get_columns`: empty schema → "public"
- MySQL `list_tables`: empty schema → database name (MySQL schema == database)