-
Marc Alff authored
AND PFS COMPILED OUT Before this fix, when building a server without the performance schema, commands like SHOW STATUS would fail with errors like: mysql> show status; ERROR 1146 (42S02): Table 'performance_schema.session_status' doesn't exist The reason for the error is that SHOW STATUS is rewritten internally as a SELECT ... FROM performance_schema.session_status, which fails when the performance schema storage engine is missing. In MySQL 5.7, compiling without the performance schema is no longer supported, because tables like: - table performance_schema.host_cache - the replication tables performance_schema.replication_* - the status tables like performance_schema.session_status - the system variables tables like performance_schema.session_variables are exposed, which rely on the performance schema -- storage engine --, even when the performance schema -- instrumentation -- is not used. With this fix, the performance schema storage engine itself is now mandatory. Compiling: - the storage engine - the various instrumentation calls is now decoupled, as the former is needed independently of the later. To build a server without the -- instrumentation --, which is the main motivation to build without the performance schema in general, the following cmake options can be used instead of option -DWITH_PERFSCHEMA_STORAGE_ENGINE=0 - DISABLE_PSI_THREAD - DISABLE_PSI_MUTEX - DISABLE_PSI_RWLOCK - DISABLE_PSI_COND - DISABLE_PSI_FILE - DISABLE_PSI_TABLE - DISABLE_PSI_SOCKET - DISABLE_PSI_STAGE - DISABLE_PSI_STATEMENT - DISABLE_PSI_SP - DISABLE_PSI_PS - DISABLE_PSI_IDLE - DISABLE_PSI_STATEMENT_DIGEST - DISABLE_PSI_METADATA - DISABLE_PSI_MEMORY - DISABLE_PSI_TRANSACTION
Marc Alff authoredAND PFS COMPILED OUT Before this fix, when building a server without the performance schema, commands like SHOW STATUS would fail with errors like: mysql> show status; ERROR 1146 (42S02): Table 'performance_schema.session_status' doesn't exist The reason for the error is that SHOW STATUS is rewritten internally as a SELECT ... FROM performance_schema.session_status, which fails when the performance schema storage engine is missing. In MySQL 5.7, compiling without the performance schema is no longer supported, because tables like: - table performance_schema.host_cache - the replication tables performance_schema.replication_* - the status tables like performance_schema.session_status - the system variables tables like performance_schema.session_variables are exposed, which rely on the performance schema -- storage engine --, even when the performance schema -- instrumentation -- is not used. With this fix, the performance schema storage engine itself is now mandatory. Compiling: - the storage engine - the various instrumentation calls is now decoupled, as the former is needed independently of the later. To build a server without the -- instrumentation --, which is the main motivation to build without the performance schema in general, the following cmake options can be used instead of option -DWITH_PERFSCHEMA_STORAGE_ENGINE=0 - DISABLE_PSI_THREAD - DISABLE_PSI_MUTEX - DISABLE_PSI_RWLOCK - DISABLE_PSI_COND - DISABLE_PSI_FILE - DISABLE_PSI_TABLE - DISABLE_PSI_SOCKET - DISABLE_PSI_STAGE - DISABLE_PSI_STATEMENT - DISABLE_PSI_SP - DISABLE_PSI_PS - DISABLE_PSI_IDLE - DISABLE_PSI_STATEMENT_DIGEST - DISABLE_PSI_METADATA - DISABLE_PSI_MEMORY - DISABLE_PSI_TRANSACTION
Loading