Bug #118819 Vertical (\G) doesn't work in MySQL 9.4.0
Submitted: 13 Aug 5:53 Modified: 13 Aug 13:50
Reporter: Mark Callaghan Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S2 (Serious)
Version:9.4.0 OS:Any
Assigned to: CPU Architecture:Any
Tags: regression

[13 Aug 5:53] Mark Callaghan
Description:
All of these work prior to 9.4.0
mysql -u... -p... -h... -e 'select 1'
mysql -u... -p... -h... -e 'select 1' -E
mysql -u... -p... -h... -e 'select 1\G'
mysql -u... -p... -h... -e 'select 1 \G'

The last two fail in 9.4.0
mysql -u... -p... -h... -e 'select 1\G'
mysql -u... -p... -h... -e 'select 1 \G'

And the error is:
ERROR at line 1: Unknown command '\G'

How to repeat:
Build 9.4.0 from source
Run the SQL listed above

Suggested fix:
Please add an MTR test for this
[13 Aug 7:16] MySQL Verification Team
Hello Mark,

Thank you for the report and feedback.

Sincerely,
Umesh
[13 Aug 10:18] Tsubasa Tanaka
It's effection of default-value of --commands (false)

https://dev.mysql.com/doc/refman/9.4/en/mysql-command-options.html#option_mysql_commands

Workaround is adding --commands into option like `mysql --commands` .
But I hope the default will be changed true for compatibility.
[13 Aug 13:50] Mark Callaghan
Whether this change is on purpose or by mistake it is going to break a lot of existing usage.

Someone was kind enough to find the code change for this:
https://www.linkedin.com/feed/update/urn:li:activity:7361269369361809428?commentUrn=urn%3A...
[13 Aug 14:15] MySQL Verification Team
This isn't a bug.  Innovation releases may change things:

https://dev.mysql.com/doc/relnotes/mysql/9.4/en/news-9-4-0.html
"
    Important Change: Added the mysql client --commands option, which enables or disables most mysql client commands.

    This option is disabled by default. To enable it, start the client with --commands or --commands=ON.

    For a complete list of all commands affected by this option, and additional information, see mysql Client Options. (WL #16949)

    References: See also: Bug #36416568, Bug #38066040.
"
[13 Aug 21:29] ZHAO SONG
1. I noticed that without --commands, running a statement ending with \G returns
"Unknown command '\G'",
whereas other built-in commands like source or help return
"You have an error in your SQL syntax...".
Not sure if this is intentional, or if a more specific error message would make sense here.

2. It seems to only affect non-interactive mode — interactive mode still works for me. Not sure if this is intentional, but the documentation doesn’t mention the scope of this change. It would be great if more details could be included in the release notes and documentation.

Thanks you!