Description:
If SQL_MODE includes ANSI_QUOTES, the reverse engineer tool throws the following errors during the last step. The SQL_MODE override in the "advanced" tab of the connection options aren't respected properly.
ERROR: (0, 16) "hr" is not valid at this position for this server version, expecting an identifier
ERROR: (3, 13) "countries" is not valid at this position for this server version, expecting an identifier
ERROR: (13, 13) "departments" is not valid at this position for this server version, expecting an identifier
ERROR: (26, 13) "employees" is not valid at this position for this server version, expecting an identifier
ERROR: (48, 13) "job_history" is not valid at this position for this server version, expecting an identifier
ERROR: (63, 13) "jobs" is not valid at this position for this server version, expecting an identifier
ERROR: (72, 13) "locations" is not valid at this position for this server version, expecting an identifier
ERROR: (85, 13) "regions" is not valid at this position for this server version, expecting an identifier
ERROR: (92, 72) "hr" is not valid at this position for this server version, expecting a new view name
ERROR: (92, 106) "e" is not valid at this position for this server version, expecting an identifier
ERROR: (92, 109) "." is not valid at this position, expecting EOF, ';'
How to repeat:
Set server config file to sql-mode = "REAL_AS_FLOAT,PIPES_AS_CONCAT,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI_QUOTES"
1) Leave the SQL_MODE override in the advanced connection options tab blank.
2) Include ANSI_QUOTES in the SQL_MODE override in the advanced tab.
When the override leaves out ANSI_QUOTES, but *does* include other modes, the errors do not occur.
So if the override for the server config above is set to "REAL_AS_FLOAT,PIPES_AS_CONCAT,IGNORE_SPACE,ONLY_FULL_GROUP_BY" (omitting ANSI_QUOTES) then it works.
Again, if the override is left blank it throws the same error.
The checkbox for "Use ANSI quotes to quote identifiers" doesn't seem to affect this issue. Neither does changing the SQL_MODE variable for the session.
Suggested fix:
I'm not sure what's going on in the background, but it seems like this is just a matter of correcting the reverse engineering tool's use of quotes. The active mode may not being detected properly or is maybe being overridden inappropriately.