There are many things changeable in the dialect. Other things are changeable through the capabilities documented at Capabilities
Finally, some things are read from the JDBC API.
For issues about characters, I would make sure your driver is returning a good value for getExtraNameCharacters. That only governs unquoted identifiers, though.
For ODBC connections, it's possible to report that quoted identifiers aren't allowed and which characters are allowed in identifiers. I don't think we have an equivalent for JDBC.
I'm not sure exactly what you are wanting with that HAVING clause. What do you want to see instead?