Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.11, 11.4, 11.8, 12.3
-
None
-
Can result in unexpected behaviour
Description
With lower_case_table_names=0, the server compares the name "performance_schema" case-insensitively in some places and case-sensitively in others:
- Case-insensitive: the ACL internal schema registry (ACL_internal_schema_registry::lookup()), is_perfschema_db() (table category, SHOW EVENTS), and mariadb-dump's skip list.
- Case-sensitive: the performance_schema engine itself (compare_database_names(), pfs_discover_table_names()). It discovers its tables only under the exact name.
Thus a database named PERFORMANCE_SCHEMA is an ordinary database as far as the engine is concerned, but gets performance_schema treatment everywhere else.
Let's consistently compare this name case-insensitively to match the information_schema behavior.