374 lines
16 KiB
Go
374 lines
16 KiB
Go
// Copyright 2016 PingCAP, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package perfschema
|
|
|
|
// Performance Schema Name.
|
|
const (
|
|
Name = "PERFORMANCE_SCHEMA"
|
|
)
|
|
|
|
// perfSchemaTables is a shortcut to involve all table names.
|
|
var perfSchemaTables = []string{
|
|
tableGlobalStatus,
|
|
tableSessionStatus,
|
|
tableSetupActors,
|
|
tableSetupObjects,
|
|
tableSetupInstruments,
|
|
tableSetupConsumers,
|
|
tableStmtsCurrent,
|
|
tableStmtsHistory,
|
|
tableStmtsHistoryLong,
|
|
tablePreparedStmtsInstances,
|
|
tableTransCurrent,
|
|
tableTransHistory,
|
|
tableTransHistoryLong,
|
|
tableStagesCurrent,
|
|
tableStagesHistory,
|
|
tableStagesHistoryLong,
|
|
}
|
|
|
|
// tableGlobalStatus contains the column name definitions for table global_status, same as MySQL.
|
|
const tableGlobalStatus = "CREATE TABLE performance_schema.global_status(" +
|
|
"VARIABLE_NAME VARCHAR(64) not null," +
|
|
"VARIABLE_VALUE VARCHAR(1024));"
|
|
|
|
// tableSessionStatus contains the column name definitions for table session_status, same as MySQL.
|
|
const tableSessionStatus = "CREATE TABLE performance_schema.session_status(" +
|
|
"VARIABLE_NAME VARCHAR(64) not null," +
|
|
"VARIABLE_VALUE VARCHAR(1024));"
|
|
|
|
// tableSetupActors contains the column name definitions for table setup_actors, same as MySQL.
|
|
const tableSetupActors = "CREATE TABLE if not exists performance_schema.setup_actors (" +
|
|
"HOST CHAR(60) NOT NULL DEFAULT '%'," +
|
|
"USER CHAR(32) NOT NULL DEFAULT '%'," +
|
|
"ROLE CHAR(16) NOT NULL DEFAULT '%'," +
|
|
"ENABLED ENUM('YES','NO') NOT NULL DEFAULT 'YES'," +
|
|
"HISTORY ENUM('YES','NO') NOT NULL DEFAULT 'YES');"
|
|
|
|
// tableSetupObjects contains the column name definitions for table setup_objects, same as MySQL.
|
|
const tableSetupObjects = "CREATE TABLE if not exists performance_schema.setup_objects (" +
|
|
"OBJECT_TYPE ENUM('EVENT','FUNCTION','TABLE') NOT NULL DEFAULT 'TABLE'," +
|
|
"OBJECT_SCHEMA VARCHAR(64) DEFAULT '%'," +
|
|
"OBJECT_NAME VARCHAR(64) NOT NULL DEFAULT '%'," +
|
|
"ENABLED ENUM('YES','NO') NOT NULL DEFAULT 'YES'," +
|
|
"TIMED ENUM('YES','NO') NOT NULL DEFAULT 'YES');"
|
|
|
|
// tableSetupInstruments contains the column name definitions for table setup_instruments, same as MySQL.
|
|
const tableSetupInstruments = "CREATE TABLE if not exists performance_schema.setup_instruments (" +
|
|
"NAME VARCHAR(128) NOT NULL," +
|
|
"ENABLED ENUM('YES','NO') NOT NULL," +
|
|
"TIMED ENUM('YES','NO') NOT NULL);"
|
|
|
|
// tableSetupConsumers contains the column name definitions for table setup_consumers, same as MySQL.
|
|
const tableSetupConsumers = "CREATE TABLE if not exists performance_schema.setup_consumers (" +
|
|
"NAME VARCHAR(64) NOT NULL," +
|
|
"ENABLED ENUM('YES','NO') NOT NULL);"
|
|
|
|
// tableStmtsCurrent contains the column name definitions for table events_statements_current, same as MySQL.
|
|
const tableStmtsCurrent = "CREATE TABLE if not exists performance_schema.events_statements_current (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"LOCK_TIME BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SQL_TEXT LONGTEXT," +
|
|
"DIGEST VARCHAR(32)," +
|
|
"DIGEST_TEXT LONGTEXT," +
|
|
"CURRENT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_TYPE VARCHAR(64)," +
|
|
"OBJECT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_NAME VARCHAR(64)," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"MYSQL_ERRNO INT(11)," +
|
|
"RETURNED_SQLSTATE VARCHAR(5)," +
|
|
"MESSAGE_TEXT VARCHAR(128)," +
|
|
"ERRORS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"WARNINGS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_AFFECTED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_SENT BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_EXAMINED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_DISK_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_RANGE_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE_CHECK BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_MERGE_PASSES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_ROWS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_GOOD_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE')," +
|
|
"NESTING_EVENT_LEVEL INT(11));"
|
|
|
|
// tableStmtsHistory contains the column name definitions for table events_statements_history, same as MySQL.
|
|
const tableStmtsHistory = "CREATE TABLE if not exists performance_schema.events_statements_history (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"LOCK_TIME BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SQL_TEXT LONGTEXT," +
|
|
"DIGEST VARCHAR(32)," +
|
|
"DIGEST_TEXT LONGTEXT," +
|
|
"CURRENT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_TYPE VARCHAR(64)," +
|
|
"OBJECT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_NAME VARCHAR(64)," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"MYSQL_ERRNO INT(11)," +
|
|
"RETURNED_SQLSTATE VARCHAR(5)," +
|
|
"MESSAGE_TEXT VARCHAR(128)," +
|
|
"ERRORS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"WARNINGS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_AFFECTED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_SENT BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_EXAMINED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_DISK_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_RANGE_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE_CHECK BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_MERGE_PASSES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_ROWS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_GOOD_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE')," +
|
|
"NESTING_EVENT_LEVEL INT(11));"
|
|
|
|
// tableStmtsHistoryLong contains the column name definitions for table events_statements_history_long, same as MySQL.
|
|
const tableStmtsHistoryLong = "CREATE TABLE if not exists performance_schema.events_statements_history_long (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"LOCK_TIME BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SQL_TEXT LONGTEXT," +
|
|
"DIGEST VARCHAR(32)," +
|
|
"DIGEST_TEXT LONGTEXT," +
|
|
"CURRENT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_TYPE VARCHAR(64)," +
|
|
"OBJECT_SCHEMA VARCHAR(64)," +
|
|
"OBJECT_NAME VARCHAR(64)," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"MYSQL_ERRNO INT(11)," +
|
|
"RETURNED_SQLSTATE VARCHAR(5)," +
|
|
"MESSAGE_TEXT VARCHAR(128)," +
|
|
"ERRORS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"WARNINGS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_AFFECTED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_SENT BIGINT(20) UNSIGNED NOT NULL," +
|
|
"ROWS_EXAMINED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_DISK_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"CREATED_TMP_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_FULL_RANGE_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_RANGE_CHECK BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SELECT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_MERGE_PASSES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_ROWS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SORT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NO_GOOD_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE')," +
|
|
"NESTING_EVENT_LEVEL INT(11));"
|
|
|
|
// tablePreparedStmtsInstances contains the column name definitions for table prepared_statements_instances, same as MySQL.
|
|
const tablePreparedStmtsInstances = "CREATE TABLE if not exists performance_schema.prepared_statements_instances (" +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"STATEMENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"STATEMENT_NAME VARCHAR(64)," +
|
|
"SQL_TEXT LONGTEXT NOT NULL," +
|
|
"OWNER_THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"OWNER_EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"OWNER_OBJECT_TYPE ENUM('EVENT','FUNCTION','TABLE')," +
|
|
"OWNER_OBJECT_SCHEMA VARCHAR(64)," +
|
|
"OWNER_OBJECT_NAME VARCHAR(64)," +
|
|
"TIMER_PREPARE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"COUNT_REPREPARE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"COUNT_EXECUTE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_TIMER_EXECUTE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"MIN_TIMER_EXECUTE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"AVG_TIMER_EXECUTE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"MAX_TIMER_EXECUTE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_LOCK_TIME BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_ERRORS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_WARNINGS BIGINT(20) UNSIGNED NOT NULL," +
|
|
" SUM_ROWS_AFFECTED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_ROWS_SENT BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_ROWS_EXAMINED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_CREATED_TMP_DISK_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_CREATED_TMP_TABLES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SELECT_FULL_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SELECT_FULL_RANGE_JOIN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SELECT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SELECT_RANGE_CHECK BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SELECT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SORT_MERGE_PASSES BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SORT_RANGE BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SORT_ROWS BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_SORT_SCAN BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_NO_INDEX_USED BIGINT(20) UNSIGNED NOT NULL," +
|
|
"SUM_NO_GOOD_INDEX_USED BIGINT(20) UNSIGNED NOT NULL);"
|
|
|
|
// tableTransCurrent contains the column name definitions for table events_transactions_current, same as MySQL.
|
|
const tableTransCurrent = "CREATE TABLE if not exists performance_schema.events_transactions_current (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"STATE ENUM('ACTIVE','COMMITTED','ROLLED BACK')," +
|
|
"TRX_ID BIGINT(20) UNSIGNED," +
|
|
"GTID VARCHAR(64)," +
|
|
"XID_FORMAT_ID INT(11)," +
|
|
"XID_GTRID VARCHAR(130)," +
|
|
"XID_BQUAL VARCHAR(130)," +
|
|
"XA_STATE VARCHAR(64)," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"ACCESS_MODE ENUM('READ ONLY','READ WRITE')," +
|
|
"ISOLATION_LEVEL VARCHAR(64)," +
|
|
"AUTOCOMMIT ENUM('YES','NO') NOT NULL," +
|
|
"NUMBER_OF_SAVEPOINTS BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_RELEASE_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|
|
|
|
// tableTransHistory contains the column name definitions for table events_transactions_history, same as MySQL.
|
|
//
|
|
const tableTransHistory = "CREATE TABLE if not exists performance_schema.events_transactions_history (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"STATE ENUM('ACTIVE','COMMITTED','ROLLED BACK')," +
|
|
"TRX_ID BIGINT(20) UNSIGNED," +
|
|
"GTID VARCHAR(64)," +
|
|
"XID_FORMAT_ID INT(11)," +
|
|
"XID_GTRID VARCHAR(130)," +
|
|
"XID_BQUAL VARCHAR(130)," +
|
|
"XA_STATE VARCHAR(64)," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"ACCESS_MODE ENUM('READ ONLY','READ WRITE')," +
|
|
"ISOLATION_LEVEL VARCHAR(64)," +
|
|
"AUTOCOMMIT ENUM('YES','NO') NOT NULL," +
|
|
"NUMBER_OF_SAVEPOINTS BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_RELEASE_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|
|
|
|
// tableTransHistoryLong contains the column name definitions for table events_transactions_history_long, same as MySQL.
|
|
const tableTransHistoryLong = "CREATE TABLE if not exists performance_schema.events_transactions_history_long (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"STATE ENUM('ACTIVE','COMMITTED','ROLLED BACK')," +
|
|
"TRX_ID BIGINT(20) UNSIGNED," +
|
|
"GTID VARCHAR(64)," +
|
|
"XID_FORMAT_ID INT(11)," +
|
|
"XID_GTRID VARCHAR(130)," +
|
|
"XID_BQUAL VARCHAR(130)," +
|
|
"XA_STATE VARCHAR(64)," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"ACCESS_MODE ENUM('READ ONLY','READ WRITE')," +
|
|
"ISOLATION_LEVEL VARCHAR(64)," +
|
|
"AUTOCOMMIT ENUM('YES','NO') NOT NULL," +
|
|
"NUMBER_OF_SAVEPOINTS BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"NUMBER_OF_RELEASE_SAVEPOINT BIGINT(20) UNSIGNED," +
|
|
"OBJECT_INSTANCE_BEGIN BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|
|
|
|
// tableStagesCurrent contains the column name definitions for table events_stages_current, same as MySQL.
|
|
const tableStagesCurrent = "CREATE TABLE if not exists performance_schema.events_stages_current (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"WORK_COMPLETED BIGINT(20) UNSIGNED," +
|
|
"WORK_ESTIMATED BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|
|
|
|
// tableStagesHistory contains the column name definitions for table events_stages_history, same as MySQL.
|
|
const tableStagesHistory = "CREATE TABLE if not exists performance_schema.events_stages_history (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"WORK_COMPLETED BIGINT(20) UNSIGNED," +
|
|
"WORK_ESTIMATED BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|
|
|
|
// tableStagesHistoryLong contains the column name definitions for table events_stages_history_long, same as MySQL.
|
|
const tableStagesHistoryLong = "CREATE TABLE if not exists performance_schema.events_stages_history_long (" +
|
|
"THREAD_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"EVENT_ID BIGINT(20) UNSIGNED NOT NULL," +
|
|
"END_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"EVENT_NAME VARCHAR(128) NOT NULL," +
|
|
"SOURCE VARCHAR(64)," +
|
|
"TIMER_START BIGINT(20) UNSIGNED," +
|
|
"TIMER_END BIGINT(20) UNSIGNED," +
|
|
"TIMER_WAIT BIGINT(20) UNSIGNED," +
|
|
"WORK_COMPLETED BIGINT(20) UNSIGNED," +
|
|
"WORK_ESTIMATED BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_ID BIGINT(20) UNSIGNED," +
|
|
"NESTING_EVENT_TYPE ENUM('TRANSACTION','STATEMENT','STAGE'));"
|