From aaa718bcf19525ec21224805cecde88bb08334bd Mon Sep 17 00:00:00 2001 From: zbl <3517810972@qq.com> Date: Sun, 29 Dec 2024 18:19:46 +0800 Subject: [PATCH] test --- database/database/.gitignore | 38 + database/database/.idea/.gitignore | 3 + database/database/.idea/dataSources.local.xml | 19 + database/database/.idea/dataSources.xml | 17 + .../b17b4acc-8ddf-4336-a9b5-af14c1e96c6f.xml | 26504 ++++++++++++++++ .../_src_/schema/dormitory.pX3iQw.meta | 2 + .../_src_/schema/dormitory.pX3iQw.zip | Bin 0 -> 14161 bytes .../schema/information_schema.FNRwLQ.meta | 2 + .../schema/information_schema.FNRwLQ.zip | Bin 0 -> 146284 bytes .../storage_v2/_src_/schema/mysql.osA4Bg.meta | 2 + .../schema/performance_schema.kIw0nw.meta | 2 + .../_src_/schema/sakila.oXLGyQ.meta | 2 + .../storage_v2/_src_/schema/sakila.oXLGyQ.zip | Bin 0 -> 24593 bytes .../storage_v2/_src_/schema/sys.zb4BAA.meta | 2 + .../storage_v2/_src_/schema/sys.zb4BAA.zip | Bin 0 -> 503236 bytes .../storage_v2/_src_/schema/world.khvBBg.meta | 2 + database/database/.idea/encodings.xml | 7 + database/database/.idea/jpa.xml | 9 + database/database/.idea/misc.xml | 14 + database/database/.idea/vcs.xml | 4 + database/database/pom.xml | 84 + .../AccommodationRecordsRepository.java | 24 + .../BuildingsRepository.java | 18 + .../studentmanagement/ClassesRepository.java | 18 + .../DormitoryRepository.java | 24 + .../EnergyConsumptionsRepository.java | 21 + .../HealthInspectionsRepository.java | 20 + .../MaintenanceRecordsRepository.java | 20 + .../SafetyInspectionsRepository.java | 20 + .../studentmanagement/StudentRepository.java | 27 + .../studentmanagement/TakeoutsRepository.java | 24 + .../model/EnergyConsumptions.java | 53 + .../model/HealthInspections.java | 55 + .../model/MaintenanceRecords.java | 78 + .../model/SafetyInspections.java | 67 + .../com/studentmanagement/model/Takeouts.java | 67 + .../model/accommodationRecords.java | 47 + .../studentmanagement/model/buildings.java | 29 + .../com/studentmanagement/model/classes.java | 52 + .../studentmanagement/model/dormitory.java | 76 + .../com/studentmanagement/model/student.java | 57 + .../AccommodationRecordController.java | 36 + .../operation/BuildingController.java | 41 + .../operation/ClassController.java | 36 + .../operation/DormitoryController.java | 41 + .../EnergyConsumptionController.java | 34 + .../operation/HealthInspectionController.java | 35 + .../MaintenanceRecordController.java | 43 + .../operation/SafetyInspectionController.java | 35 + .../operation/SimpleDormitoryManagement.java | 225 + .../operation/StudentController.java | 53 + .../operation/TakeoutController.java | 36 + .../service/AccommodationRecordService.java | 44 + .../service/BuildingService.java | 37 + .../service/ClassService.java | 37 + .../service/DormitoryService.java | 51 + .../service/EnergyConsumptionService.java | 35 + .../service/HealthInspectionService.java | 35 + .../service/MaintenanceRecordService.java | 41 + .../service/SafetyInspectionService.java | 35 + .../service/StudentService.java | 58 + .../service/TakeoutsService.java | 41 + .../studentmanagement/util/HibernateUtil.java | 37 + .../src/main/resources/application.properties | 13 + .../src/main/resources/hibernate.cfg.xml | 25 + 65 files changed, 28614 insertions(+) create mode 100644 database/database/.gitignore create mode 100644 database/database/.idea/.gitignore create mode 100644 database/database/.idea/dataSources.local.xml create mode 100644 database/database/.idea/dataSources.xml create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f.xml create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.zip create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/information_schema.FNRwLQ.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/information_schema.FNRwLQ.zip create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/mysql.osA4Bg.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/performance_schema.kIw0nw.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.zip create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.meta create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.zip create mode 100644 database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/world.khvBBg.meta create mode 100644 database/database/.idea/encodings.xml create mode 100644 database/database/.idea/jpa.xml create mode 100644 database/database/.idea/misc.xml create mode 100644 database/database/.idea/vcs.xml create mode 100644 database/database/pom.xml create mode 100644 database/database/src/main/java/com/studentmanagement/AccommodationRecordsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/BuildingsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/ClassesRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/DormitoryRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/EnergyConsumptionsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/HealthInspectionsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/MaintenanceRecordsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/SafetyInspectionsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/StudentRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/TakeoutsRepository.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/EnergyConsumptions.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/HealthInspections.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/MaintenanceRecords.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/SafetyInspections.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/Takeouts.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/accommodationRecords.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/buildings.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/classes.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/dormitory.java create mode 100644 database/database/src/main/java/com/studentmanagement/model/student.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/AccommodationRecordController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/BuildingController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/ClassController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/DormitoryController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/EnergyConsumptionController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/HealthInspectionController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/MaintenanceRecordController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/SafetyInspectionController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/SimpleDormitoryManagement.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/StudentController.java create mode 100644 database/database/src/main/java/com/studentmanagement/operation/TakeoutController.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/AccommodationRecordService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/BuildingService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/ClassService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/DormitoryService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/EnergyConsumptionService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/HealthInspectionService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/MaintenanceRecordService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/SafetyInspectionService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/StudentService.java create mode 100644 database/database/src/main/java/com/studentmanagement/service/TakeoutsService.java create mode 100644 database/database/src/main/java/com/studentmanagement/util/HibernateUtil.java create mode 100644 database/database/src/main/resources/application.properties create mode 100644 database/database/src/main/resources/hibernate.cfg.xml diff --git a/database/database/.gitignore b/database/database/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/database/database/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/database/database/.idea/.gitignore b/database/database/.idea/.gitignore new file mode 100644 index 0000000..359bb53 --- /dev/null +++ b/database/database/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/database/database/.idea/dataSources.local.xml b/database/database/.idea/dataSources.local.xml new file mode 100644 index 0000000..5d22aa1 --- /dev/null +++ b/database/database/.idea/dataSources.local.xml @@ -0,0 +1,19 @@ + + + + + + #@ + ` + + + master_key + zbl + + + + + + + + \ No newline at end of file diff --git a/database/database/.idea/dataSources.xml b/database/database/.idea/dataSources.xml new file mode 100644 index 0000000..a2165ca --- /dev/null +++ b/database/database/.idea/dataSources.xml @@ -0,0 +1,17 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f.xml b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f.xml new file mode 100644 index 0000000..0dccb52 --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f.xml @@ -0,0 +1,26504 @@ + + + + + lower/lower + InnoDB + InnoDB + |root||admin||ALLOW_NONEXISTENT_DEFINER|G +|root||root|localhost|ALLOW_NONEXISTENT_DEFINER|G +|root||admin||ALTER|G +|root||root|localhost|ALTER|G +|root||zbl|localhost|ALTER|G +|root||admin||ALTER ROUTINE|G +|root||root|localhost|ALTER ROUTINE|G +|root||zbl|localhost|ALTER ROUTINE|G +|root||admin||APPLICATION_PASSWORD_ADMIN|G +|root||root|localhost|APPLICATION_PASSWORD_ADMIN|G +|root||admin||AUDIT_ABORT_EXEMPT|G +|root||mysql.infoschema|localhost|AUDIT_ABORT_EXEMPT|G +|root||mysql.session|localhost|AUDIT_ABORT_EXEMPT|G +|root||mysql.sys|localhost|AUDIT_ABORT_EXEMPT|G +|root||root|localhost|AUDIT_ABORT_EXEMPT|G +|root||admin||AUDIT_ADMIN|G +|root||root|localhost|AUDIT_ADMIN|G +|root||admin||AUTHENTICATION_POLICY_ADMIN|G +|root||mysql.session|localhost|AUTHENTICATION_POLICY_ADMIN|G +|root||root|localhost|AUTHENTICATION_POLICY_ADMIN|G +|root||admin||BACKUP_ADMIN|G +|root||mysql.session|localhost|BACKUP_ADMIN|G +|root||root|localhost|BACKUP_ADMIN|G +|root||admin||BINLOG_ADMIN|G +|root||root|localhost|BINLOG_ADMIN|G +|root||admin||BINLOG_ENCRYPTION_ADMIN|G +|root||root|localhost|BINLOG_ENCRYPTION_ADMIN|G +|root||admin||CLONE_ADMIN|G +|root||mysql.session|localhost|CLONE_ADMIN|G +|root||root|localhost|CLONE_ADMIN|G +|root||admin||CONNECTION_ADMIN|G +|root||mysql.session|localhost|CONNECTION_ADMIN|G +|root||root|localhost|CONNECTION_ADMIN|G +|root||admin||CREATE|G +|root||root|localhost|CREATE|G +|root||zbl|localhost|CREATE|G +|root||admin||CREATE ROLE|G +|root||root|localhost|CREATE ROLE|G +|root||admin||CREATE ROUTINE|G +|root||root|localhost|CREATE ROUTINE|G +|root||zbl|localhost|CREATE ROUTINE|G +|root||admin||CREATE TABLESPACE|G +|root||root|localhost|CREATE TABLESPACE|G +|root||zbl|localhost|CREATE TABLESPACE|G +|root||admin||CREATE TEMPORARY TABLES|G +|root||root|localhost|CREATE TEMPORARY TABLES|G +|root||zbl|localhost|CREATE TEMPORARY TABLES|G +|root||admin||CREATE USER|G +|root||root|localhost|CREATE USER|G +|root||zbl|localhost|CREATE USER|G +|root||admin||CREATE VIEW|G +|root||root|localhost|CREATE VIEW|G +|root||zbl|localhost|CREATE VIEW|G +|root||admin||DELETE|G +|root||root|localhost|DELETE|G +|root||zbl|localhost|DELETE|G +|root||admin||DROP|G +|root||root|localhost|DROP|G +|root||zbl|localhost|DROP|G +|root||admin||DROP ROLE|G +|root||root|localhost|DROP ROLE|G +|root||admin||ENCRYPTION_KEY_ADMIN|G +|root||root|localhost|ENCRYPTION_KEY_ADMIN|G +|root||admin||EVENT|G +|root||root|localhost|EVENT|G +|root||zbl|localhost|EVENT|G +|root||admin||EXECUTE|G +|root||root|localhost|EXECUTE|G +|root||zbl|localhost|EXECUTE|G +|root||admin||FILE|G +|root||root|localhost|FILE|G +|root||zbl|localhost|FILE|G +|root||admin||FIREWALL_EXEMPT|G +|root||mysql.infoschema|localhost|FIREWALL_EXEMPT|G +|root||mysql.session|localhost|FIREWALL_EXEMPT|G +|root||mysql.sys|localhost|FIREWALL_EXEMPT|G +|root||root|localhost|FIREWALL_EXEMPT|G +|root||admin||FLUSH_OPTIMIZER_COSTS|G +|root||root|localhost|FLUSH_OPTIMIZER_COSTS|G +|root||admin||FLUSH_PRIVILEGES|G +|root||root|localhost|FLUSH_PRIVILEGES|G +|root||admin||FLUSH_STATUS|G +|root||root|localhost|FLUSH_STATUS|G +|root||admin||FLUSH_TABLES|G +|root||root|localhost|FLUSH_TABLES|G +|root||admin||FLUSH_USER_RESOURCES|G +|root||root|localhost|FLUSH_USER_RESOURCES|G +|root||admin||GROUP_REPLICATION_ADMIN|G +|root||root|localhost|GROUP_REPLICATION_ADMIN|G +|root||admin||GROUP_REPLICATION_STREAM|G +|root||root|localhost|GROUP_REPLICATION_STREAM|G +|root||admin||INDEX|G +|root||root|localhost|INDEX|G +|root||zbl|localhost|INDEX|G +|root||admin||INNODB_REDO_LOG_ARCHIVE|G +|root||root|localhost|INNODB_REDO_LOG_ARCHIVE|G +|root||admin||INNODB_REDO_LOG_ENABLE|G +|root||root|localhost|INNODB_REDO_LOG_ENABLE|G +|root||admin||INSERT|G +|root||root|localhost|INSERT|G +|root||zbl|localhost|INSERT|G +|root||admin||LOCK TABLES|G +|root||root|localhost|LOCK TABLES|G +|root||zbl|localhost|LOCK TABLES|G +|root||admin||OPTIMIZE_LOCAL_TABLE|G +|root||root|localhost|OPTIMIZE_LOCAL_TABLE|G +|root||admin||PASSWORDLESS_USER_ADMIN|G +|root||root|localhost|PASSWORDLESS_USER_ADMIN|G +|root||admin||PERSIST_RO_VARIABLES_ADMIN|G +|root||mysql.session|localhost|PERSIST_RO_VARIABLES_ADMIN|G +|root||root|localhost|PERSIST_RO_VARIABLES_ADMIN|G +|root||admin||PROCESS|G +|root||root|localhost|PROCESS|G +|root||zbl|localhost|PROCESS|G +|root||admin||REFERENCES|G +|root||root|localhost|REFERENCES|G +|root||zbl|localhost|REFERENCES|G +|root||admin||RELOAD|G +|root||root|localhost|RELOAD|G +|root||zbl|localhost|RELOAD|G +|root||admin||REPLICATION CLIENT|G +|root||root|localhost|REPLICATION CLIENT|G +|root||zbl|localhost|REPLICATION CLIENT|G +|root||admin||REPLICATION SLAVE|G +|root||root|localhost|REPLICATION SLAVE|G +|root||zbl|localhost|REPLICATION SLAVE|G +|root||admin||REPLICATION_APPLIER|G +|root||root|localhost|REPLICATION_APPLIER|G +|root||admin||REPLICATION_SLAVE_ADMIN|G +|root||root|localhost|REPLICATION_SLAVE_ADMIN|G +|root||admin||RESOURCE_GROUP_ADMIN|G +|root||root|localhost|RESOURCE_GROUP_ADMIN|G +|root||admin||RESOURCE_GROUP_USER|G +|root||root|localhost|RESOURCE_GROUP_USER|G +|root||admin||ROLE_ADMIN|G +|root||root|localhost|ROLE_ADMIN|G +|root||admin||SELECT|G +|root||mysql.infoschema|localhost|SELECT|G +|root||root|localhost|SELECT|G +|root||zbl|localhost|SELECT|G +|root||admin||SENSITIVE_VARIABLES_OBSERVER|G +|root||root|localhost|SENSITIVE_VARIABLES_OBSERVER|G +|root||admin||SERVICE_CONNECTION_ADMIN|G +|root||root|localhost|SERVICE_CONNECTION_ADMIN|G +|root||admin||SESSION_VARIABLES_ADMIN|G +|root||mysql.session|localhost|SESSION_VARIABLES_ADMIN|G +|root||root|localhost|SESSION_VARIABLES_ADMIN|G +|root||admin||SET_ANY_DEFINER|G +|root||root|localhost|SET_ANY_DEFINER|G +|root||admin||SHOW DATABASES|G +|root||root|localhost|SHOW DATABASES|G +|root||zbl|localhost|SHOW DATABASES|G +|root||admin||SHOW VIEW|G +|root||root|localhost|SHOW VIEW|G +|root||zbl|localhost|SHOW VIEW|G +|root||admin||SHOW_ROUTINE|G +|root||root|localhost|SHOW_ROUTINE|G +|root||admin||SHUTDOWN|G +|root||mysql.session|localhost|SHUTDOWN|G +|root||root|localhost|SHUTDOWN|G +|root||zbl|localhost|SHUTDOWN|G +|root||admin||SUPER|G +|root||mysql.session|localhost|SUPER|G +|root||root|localhost|SUPER|G +|root||zbl|localhost|SUPER|G +|root||admin||SYSTEM_USER|G +|root||mysql.infoschema|localhost|SYSTEM_USER|G +|root||mysql.session|localhost|SYSTEM_USER|G +|root||mysql.sys|localhost|SYSTEM_USER|G +|root||root|localhost|SYSTEM_USER|G +|root||admin||SYSTEM_VARIABLES_ADMIN|G +|root||mysql.session|localhost|SYSTEM_VARIABLES_ADMIN|G +|root||root|localhost|SYSTEM_VARIABLES_ADMIN|G +|root||admin||TABLE_ENCRYPTION_ADMIN|G +|root||root|localhost|TABLE_ENCRYPTION_ADMIN|G +|root||admin||TELEMETRY_LOG_ADMIN|G +|root||root|localhost|TELEMETRY_LOG_ADMIN|G +|root||admin||TRANSACTION_GTID_TAG|G +|root||root|localhost|TRANSACTION_GTID_TAG|G +|root||admin||TRIGGER|G +|root||root|localhost|TRIGGER|G +|root||zbl|localhost|TRIGGER|G +|root||admin||UPDATE|G +|root||root|localhost|UPDATE|G +|root||zbl|localhost|UPDATE|G +|root||admin||XA_RECOVER_ADMIN|G +|root||root|localhost|XA_RECOVER_ADMIN|G +|root||admin||grant option|G +|root||root|localhost|grant option|G +|root||zbl|localhost|grant option|G +performance_schema|schema||mysql.session|localhost|SELECT|G +sys|schema||mysql.sys|localhost|TRIGGER|G + 9.1.0 + + + armscii8 + + + armscii8 + 1 + + + ascii + + + ascii + 1 + + + big5 + + + big5 + 1 + + + binary + 1 + + + cp1250 + + + cp1250 + + + cp1250 + + + cp1250 + 1 + + + cp1250 + + + cp1251 + + + cp1251 + + + cp1251 + 1 + + + cp1251 + + + cp1251 + + + cp1256 + + + cp1256 + 1 + + + cp1257 + + + cp1257 + 1 + + + cp1257 + + + cp850 + + + cp850 + 1 + + + cp852 + + + cp852 + 1 + + + cp866 + + + cp866 + 1 + + + cp932 + + + cp932 + 1 + + + dec8 + + + dec8 + 1 + + + eucjpms + + + eucjpms + 1 + + + euckr + + + euckr + 1 + + + gb18030 + + + gb18030 + 1 + + + gb18030 + + + gb2312 + + + gb2312 + 1 + + + gbk + + + gbk + 1 + + + geostd8 + + + geostd8 + 1 + + + greek + + + greek + 1 + + + hebrew + + + hebrew + 1 + + + hp8 + + + hp8 + 1 + + + keybcs2 + + + keybcs2 + 1 + + + koi8r + + + koi8r + 1 + + + koi8u + + + koi8u + 1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + 1 + + + latin2 + + + latin2 + + + latin2 + + + latin2 + 1 + + + latin2 + + + latin5 + + + latin5 + 1 + + + latin7 + + + latin7 + + + latin7 + 1 + + + latin7 + + + macce + + + macce + 1 + + + macroman + + + macroman + 1 + + + sjis + + + sjis + 1 + + + swe7 + + + swe7 + 1 + + + tis620 + + + tis620 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ujis + + + ujis + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16le + + + utf16le + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + 1 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb3 + + + utf8mb4 + 1 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + classes|||teacher||INSERT|G +classes|||teacher||SELECT|G +classes|||teacher||UPDATE|G +students|||teacher||INSERT|G +students|||teacher||SELECT|G +students|||teacher||UPDATE|G + 2024-12-28.06:21:30 + utf8mb4_unicode_ci + + + 2024-12-28.06:21:31 + utf8mb3_general_ci + + + user|||mysql.session|localhost|SELECT|G + 2024-12-28.06:21:31 + utf8mb4_0900_ai_ci + + + 2024-12-28.06:21:32 + utf8mb4_0900_ai_ci + + + 2024-12-28.06:21:32 + utf8mb4_0900_ai_ci + + + sys_config|||mysql.sys|localhost|SELECT|G + 2024-12-28.06:21:32 + utf8mb4_0900_ai_ci + + + 2024-12-28.06:21:33 + utf8mb4_0900_ai_ci + + + caching_sha2_password + + + 0 + localhost + caching_sha2_password + + + 0 + localhost + caching_sha2_password + + + 0 + localhost + caching_sha2_password + + + localhost + caching_sha2_password + + + caching_sha2_password + + + localhost + caching_sha2_password + + + root@localhost + procedure + 82 + + + root@localhost + procedure + 258 + + + root@localhost + procedure + 275 + + + root@localhost + procedure + 146 + + + root@localhost + procedure + 146 + + + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + InnoDB + utf8mb4_unicode_ci +
+ + root@localhost + 379 + + + root@localhost + 256 + + + root@localhost + 328 + + + root@localhost + 370 + + + root@localhost + 264 + + + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + memory + 1 +
+ + 721 + 1 + + + 4653 + 1 + + + 262 + 1 + + + 562 + 1 + + + 475 + 1 + + + 187 + 1 + + + 3836 + 1 + + + 787 + 1 + + + 383 + 1 + + + 931 + 1 + + + 1910 + 1 + + + 2568 + 1 + + + 377 + 1 + + + 543 + 1 + + + 935 + 1 + + + 708 + 1 + + + 677 + 1 + + + 11316 + 1 + + + 2342 + 1 + + + 3216 + 1 + + + 6114 + 1 + + + 861 + 1 + + + 376 + 1 + + + 4597 + 1 + + + 4465 + 1 + + + 4363 + 1 + + + 4472 + 1 + + + 589 + 1 + + + 324 + 1 + + + 2536 + 1 + + + 763 + 1 + + + 472 + 1 + + + 2788 + 1 + + + 4565 + 1 + + + 123 + 1 + + + 486 + 1 + + + 1424 + 1 + + + 619 + 1 + + + 1719 + 1 + + + 253 + 1 + + + 1167 + 1 + + + 1007 + 1 + + + 810 + 1 + + + Column privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + Components + InnoDB + row_format +DYNAMIC + utf8mb3_general_ci +
+ + Database privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + Default roles + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + User defined functions + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + General log + CSV + utf8mb3_general_ci +
+ + Extended global grants + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb4_0900_ai_ci +
+ + help categories + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + help keywords + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + keyword-topic relation + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + help topics + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + latin1_swedish_ci +
+ + Password history for user accounts + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + MySQL plugins + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Procedure privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + User proxy privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + The source configuration details + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + The managed source configuration details + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + The group configuration version. + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb4_0900_ai_ci +
+ + The member actions configuration. + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb4_0900_ai_ci +
+ + Role hierarchy and role grants + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + MySQL Foreign Servers table + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Master Information + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Relay Log Information + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Worker Information + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Slow log + CSV + utf8mb3_general_ci +
+ + Table privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + Time zones + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Leap seconds information for time zones + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Time zone names + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Time zone transitions + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Time zone transition types + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_general_ci +
+ + Users and global privileges + InnoDB + row_format +DYNAMIC +stats_persistent +0 + utf8mb3_bin +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_bin +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_bin +
+ + PERFORMANCE_SCHEMA + utf8mb4_bin +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + PERFORMANCE_SCHEMA + utf8mb4_0900_ai_ci +
+ + root@localhost + procedure + 329 + reads-sql-data + + + root@localhost + procedure + 337 + reads-sql-data + + + root@localhost + 1 + function + 1609 + reads-sql-data + + + root@localhost + function + 233 + reads-sql-data + + + root@localhost + function + 610 + reads-sql-data + + + Provides a customizable report on best customers + root@localhost + procedure + 1656 + reads-sql-data + + + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + root@localhost + 855 + + + root@localhost + 582 + + + root@localhost + 891 + + + root@localhost + 1113 + + + root@localhost + 502 + + + root@localhost + 731 + + + root@localhost + 529 + + + +Description +----------- + +Takes a source database name and synonym name, and then creates the +synonym database with views that point to all of the tables within +the source database. + +Useful for creating a "ps" synonym for "performance_schema", +or "is" instead of "information_schema", for example. + +Parameters +----------- + +in_db_name (VARCHAR(64)): + The database name that you would like to create a synonym for. +in_synonym (VARCHAR(64)): + The database synonym name. + +Example +----------- + +mysql> SHOW DATABASES; ++--------------------+ +| Database | ++--------------------+ +| information_schema | +| mysql | +| performance_schema | +| sys | +| test | ++--------------------+ +5 rows in set (0.00 sec) + +mysql> CALL sys.create_synonym_db('performance_schema', 'ps'); ++---------------------------------------+ +| summary | ++---------------------------------------+ +| Created 74 views in the `ps` database | ++---------------------------------------+ +1 row in set (8.57 sec) + +Query OK, 0 rows affected (8.57 sec) + +mysql> SHOW DATABASES; ++--------------------+ +| Database | ++--------------------+ +| information_schema | +| mysql | +| performance_schema | +| ps | +| sys | +| test | ++--------------------+ +6 rows in set (0.00 sec) + +mysql> SHOW FULL TABLES FROM ps; ++------------------------------------------------------+------------+ +| Tables_in_ps | Table_type | ++------------------------------------------------------+------------+ +| accounts | VIEW | +| cond_instances | VIEW | +| events_stages_current | VIEW | +| events_stages_history | VIEW | +... + + mysql.sys@localhost + procedure + 0 + 2490 + modifies-sql-data + + + +Description +----------- + +Create a report of the current status of the server for diagnostics purposes. Data collected includes (some items depends on versions and settings): + + * The GLOBAL VARIABLES + * Several sys schema views including metrics or equivalent (depending on version and settings) + * Queries in the 95th percentile + * Several ndbinfo views for MySQL Cluster + * Replication (both master and slave) information. + +Some of the sys schema views are calculated as initial (optional), overall, delta: + + * The initial view is the content of the view at the start of this procedure. + This output will be the same as the the start values used for the delta view. + The initial view is included if @sys.diagnostics.include_raw = 'ON'. + * The overall view is the content of the view at the end of this procedure. + This output is the same as the end values used for the delta view. + The overall view is always included. + * The delta view is the difference from the beginning to the end. Note that for min and max values + they are simply the min or max value from the end view respectively, so does not necessarily reflect + the minimum/maximum value in the monitored period. + Note: except for the metrics views the delta is only calculation between the first and last outputs. + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +in_max_runtime (INT UNSIGNED): + The maximum time to keep collecting data. + Use NULL to get the default which is 60 seconds, otherwise enter a value greater than 0. +in_interval (INT UNSIGNED): + How long to sleep between data collections. + Use NULL to get the default which is 30 seconds, otherwise enter a value greater than 0. +in_auto_config (ENUM('current', 'medium', 'full')) + Automatically enable Performance Schema instruments and consumers. + NOTE: The more that are enabled, the more impact on the performance. + Supported values are: + * current - use the current settings. + * medium - enable some settings. This requires the SUPER privilege. + * full - enables all settings. This will have a big impact on the + performance - be careful using this option. This requires + the SUPER privilege. + If another setting the 'current' is chosen, the current settings + are restored at the end of the procedure. + + +Configuration Options +---------------------- + +sys.diagnostics.allow_i_s_tables + Specifies whether it is allowed to do table scan queries on information_schema.TABLES. This can be expensive if there + are many tables. Set to 'ON' to allow, 'OFF' to not allow. + Default is 'OFF'. + +sys.diagnostics.include_raw + Set to 'ON' to include the raw data (e.g. the original output of "SELECT * FROM sys.metrics"). + Use this to get the initial values of the various views. + Default is 'OFF'. + +sys.statement_truncate_len + How much of queries in the process list output to include. + Default is 64. + +sys.debug + Whether to provide debugging output. + Default is 'OFF'. Set to 'ON' to include. + + +Example +-------- + +To create a report and append it to the file diag.out: + +mysql> TEE diag.out; +mysql> CALL sys.diagnostics(120, 30, 'current'); +... +mysql> NOTEE; + + mysql.sys@localhost + procedure + 0 + 51150 + reads-sql-data + + + +Description +----------- + +Takes the query in the argument and executes it using a prepared statement. The prepared statement is deallocated, +so the procedure is mainly useful for executing one off dynamically created queries. + +The sys_execute_prepared_stmt prepared statement name is used for the query and is required not to exist. + + +Parameters +----------- + +in_query (longtext CHARACTER SET UTF8MB4): + The query to execute. + + +Configuration Options +---------------------- + +sys.debug + Whether to provide debugging output. + Default is 'OFF'. Set to 'ON' to include. + + +Example +-------- + +mysql> CALL sys.execute_prepared_stmt('SELECT * FROM sys.sys_config'); ++------------------------+-------+---------------------+--------+ +| variable | value | set_time | set_by | ++------------------------+-------+---------------------+--------+ +| statement_truncate_len | 64 | 2015-06-30 13:06:00 | NULL | ++------------------------+-------+---------------------+--------+ +1 row in set (0.00 sec) + +Query OK, 0 rows affected (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 774 + reads-sql-data + + + +Description +----------- + +Takes a raw file path, and attempts to extract the schema name from it. + +Useful for when interacting with Performance Schema data +concerning IO statistics, for example. + +Currently relies on the fact that a table data file will be within a +specified database directory (will not work with partitions or tables +that specify an individual DATA_DIRECTORY). + +Parameters +----------- + +path (VARCHAR(512)): + The full file path to a data file to extract the schema name from. + +Returns +----------- + +VARCHAR(64) + +Example +----------- + +mysql> SELECT sys.extract_schema_from_file_name('/var/lib/mysql/employees/employee.ibd'); ++----------------------------------------------------------------------------+ +| sys.extract_schema_from_file_name('/var/lib/mysql/employees/employee.ibd') | ++----------------------------------------------------------------------------+ +| employees | ++----------------------------------------------------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 107 + no-sql + + + +Description +----------- + +Takes a raw file path, and extracts the table name from it. + +Useful for when interacting with Performance Schema data +concerning IO statistics, for example. + +Parameters +----------- + +path (VARCHAR(512)): + The full file path to a data file to extract the table name from. + +Returns +----------- + +VARCHAR(64) + +Example +----------- + +mysql> SELECT sys.extract_table_from_file_name('/var/lib/mysql/employees/employee.ibd'); ++---------------------------------------------------------------------------+ +| sys.extract_table_from_file_name('/var/lib/mysql/employees/employee.ibd') | ++---------------------------------------------------------------------------+ +| employee | ++---------------------------------------------------------------------------+ +1 row in set (0.02 sec) + + mysql.sys@localhost + 1 + function + 0 + 130 + no-sql + + + +Description +----------- + +Takes a raw bytes value, and converts it to a human readable format. + +Parameters +----------- + +bytes (TEXT): + A raw bytes value. + +Returns +----------- + +TEXT + +Example +----------- + +mysql> SELECT sys.format_bytes(2348723492723746) AS size; ++----------+ +| size | ++----------+ +| 2.09 PiB | ++----------+ +1 row in set (0.00 sec) + +mysql> SELECT sys.format_bytes(2348723492723) AS size; ++----------+ +| size | ++----------+ +| 2.14 TiB | ++----------+ +1 row in set (0.00 sec) + +mysql> SELECT sys.format_bytes(23487234) AS size; ++-----------+ +| size | ++-----------+ +| 22.40 MiB | ++-----------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 101 + no-sql + + + +Description +----------- + +Takes a raw path value, and strips out the datadir or tmpdir +replacing with @@datadir and @@tmpdir respectively. + +Also normalizes the paths across operating systems, so backslashes +on Windows are converted to forward slashes + +Parameters +----------- + +path (VARCHAR(512)): + The raw file path value to format. + +Returns +----------- + +VARCHAR(512) CHARSET UTF8MB4 + +Example +----------- + +mysql> select @@datadir; ++-----------------------------------------------+ +| @@datadir | ++-----------------------------------------------+ +| /Users/mark/sandboxes/SmallTree/AMaster/data/ | ++-----------------------------------------------+ +1 row in set (0.06 sec) + +mysql> select format_path('/Users/mark/sandboxes/SmallTree/AMaster/data/mysql/proc.MYD') AS path; ++--------------------------+ +| path | ++--------------------------+ +| @@datadir/mysql/proc.MYD | ++--------------------------+ +1 row in set (0.03 sec) + + mysql.sys@localhost + 1 + function + 0 + 2986 + no-sql + + + +Description +----------- + +Formats a normalized statement, truncating it if it is > 64 characters long by default. + +To configure the length to truncate the statement to by default, update the `statement_truncate_len` +variable with `sys_config` table to a different value. Alternatively, to change it just for just +your particular session, use `SET @sys.statement_truncate_len := <some new value>`. + +Useful for printing statement related data from Performance Schema from +the command line. + +Parameters +----------- + +statement (LONGTEXT): + The statement to format. + +Returns +----------- + +LONGTEXT + +Example +----------- + +mysql> SELECT sys.format_statement(digest_text) + -> FROM performance_schema.events_statements_summary_by_digest + -> ORDER by sum_timer_wait DESC limit 5; ++-------------------------------------------------------------------+ +| sys.format_statement(digest_text) | ++-------------------------------------------------------------------+ +| CREATE SQL SECURITY INVOKER VI ... KE ? AND `variable_value` > ? | +| CREATE SQL SECURITY INVOKER VI ... ait` IS NOT NULL , `esc` . ... | +| CREATE SQL SECURITY INVOKER VI ... ait` IS NOT NULL , `sys` . ... | +| CREATE SQL SECURITY INVOKER VI ... , `compressed_size` ) ) DESC | +| CREATE SQL SECURITY INVOKER VI ... LIKE ? ORDER BY `timer_start` | ++-------------------------------------------------------------------+ +5 rows in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 492 + no-sql + + + +Description +----------- + +Takes a raw picoseconds value, and converts it to a human readable form. + +Picoseconds are the precision that all latency values are printed in +within Performance Schema, however are not user friendly when wanting +to scan output from the command line. + +Parameters +----------- + +picoseconds (TEXT): + The raw picoseconds value to convert. + +Returns +----------- + +TEXT CHARSET UTF8MB4 + +Example +----------- + +mysql> select format_time(342342342342345); ++------------------------------+ +| format_time(342342342342345) | ++------------------------------+ +| 00:05:42 | ++------------------------------+ +1 row in set (0.00 sec) + +mysql> select format_time(342342342); ++------------------------+ +| format_time(342342342) | ++------------------------+ +| 342.34 us | ++------------------------+ +1 row in set (0.00 sec) + +mysql> select format_time(34234); ++--------------------+ +| format_time(34234) | ++--------------------+ +| 34.23 ns | ++--------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 921 + no-sql + + + +Description +----------- + +Takes a list, and a value to add to the list, and returns the resulting list. + +Useful for altering certain session variables, like sql_mode or optimizer_switch for instance. + +Parameters +----------- + +in_list (TEXT): + The comma separated list to add a value to + +in_add_value (TEXT): + The value to add to the input list + +Returns +----------- + +TEXT + +Example +-------- + +mysql> select @@sql_mode; ++-----------------------------------------------------------------------------------+ +| @@sql_mode | ++-----------------------------------------------------------------------------------+ +| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ++-----------------------------------------------------------------------------------+ +1 row in set (0.00 sec) + +mysql> set sql_mode = sys.list_add(@@sql_mode, 'ANSI_QUOTES'); +Query OK, 0 rows affected (0.06 sec) + +mysql> select @@sql_mode; ++-----------------------------------------------------------------------------------------------+ +| @@sql_mode | ++-----------------------------------------------------------------------------------------------+ +| ANSI_QUOTES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ++-----------------------------------------------------------------------------------------------+ +1 row in set (0.00 sec) + + + mysql.sys@localhost + 1 + function + 0 + 457 + + + +Description +----------- + +Takes a list, and a value to attempt to remove from the list, and returns the resulting list. + +Useful for altering certain session variables, like sql_mode or optimizer_switch for instance. + +Parameters +----------- + +in_list (TEXT): + The comma separated list to drop a value from + +in_drop_value (TEXT): + The value to drop from the input list + +Returns +----------- + +TEXT + +Example +-------- + +mysql> select @@sql_mode; ++-----------------------------------------------------------------------------------------------+ +| @@sql_mode | ++-----------------------------------------------------------------------------------------------+ +| ANSI_QUOTES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ++-----------------------------------------------------------------------------------------------+ +1 row in set (0.00 sec) + +mysql> set sql_mode = sys.list_drop(@@sql_mode, 'ONLY_FULL_GROUP_BY'); +Query OK, 0 rows affected (0.03 sec) + +mysql> select @@sql_mode; ++----------------------------------------------------------------------------+ +| @@sql_mode | ++----------------------------------------------------------------------------+ +| ANSI_QUOTES,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ++----------------------------------------------------------------------------+ +1 row in set (0.00 sec) + + + mysql.sys@localhost + 1 + function + 0 + 623 + + + +Description +----------- + +Determines whether instrumentation of an account is enabled +within Performance Schema. + +Parameters +----------- + +in_host VARCHAR(255): + The hostname of the account to check. +in_user VARCHAR(32): + The username of the account to check. + +Returns +----------- + +ENUM('YES', 'NO', 'PARTIAL') + +Example +----------- + +mysql> SELECT sys.ps_is_account_enabled('localhost', 'root'); ++------------------------------------------------+ +| sys.ps_is_account_enabled('localhost', 'root') | ++------------------------------------------------+ +| YES | ++------------------------------------------------+ +1 row in set (0.01 sec) + + mysql.sys@localhost + 1 + function + 0 + 339 + reads-sql-data + + + +Description +----------- + +Determines whether a consumer is enabled (taking the consumer hierarchy into consideration) +within the Performance Schema. + +An exception with errno 3047 is thrown if an unknown consumer name is passed to the function. +A consumer name of NULL returns NULL. + +Parameters +----------- + +in_consumer VARCHAR(64): + The name of the consumer to check. + +Returns +----------- + +ENUM('YES', 'NO') + +Example +----------- + +mysql> SELECT sys.ps_is_consumer_enabled('events_stages_history'); ++-----------------------------------------------------+ +| sys.ps_is_consumer_enabled('events_stages_history') | ++-----------------------------------------------------+ +| NO | ++-----------------------------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 1929 + reads-sql-data + + + +Description +----------- + +Returns whether an instrument is enabled by default in this version of MySQL. + +Parameters +----------- + +in_instrument VARCHAR(128): + The instrument to check. + +Returns +----------- + +ENUM('YES', 'NO') + +Example +----------- + +mysql> SELECT sys.ps_is_instrument_default_enabled('statement/sql/select'); ++--------------------------------------------------------------+ +| sys.ps_is_instrument_default_enabled('statement/sql/select') | ++--------------------------------------------------------------+ +| YES | ++--------------------------------------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 746 + reads-sql-data + + + +Description +----------- + +Returns whether an instrument is timed by default in this version of MySQL. + +Parameters +----------- + +in_instrument VARCHAR(128): + The instrument to check. + +Returns +----------- + +ENUM('YES', 'NO') + +Example +----------- + +mysql> SELECT sys.ps_is_instrument_default_timed('statement/sql/select'); ++------------------------------------------------------------+ +| sys.ps_is_instrument_default_timed('statement/sql/select') | ++------------------------------------------------------------+ +| YES | ++------------------------------------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 820 + reads-sql-data + + + +Description +----------- + +Checks whether the provided connection id is instrumented within Performance Schema. + +Parameters +----------- + +in_connection_id (BIGINT UNSIGNED): + The id of the connection to check. + +Returns +----------- + +ENUM('YES', 'NO', 'UNKNOWN') + +Example +----------- + +mysql> SELECT sys.ps_is_thread_instrumented(CONNECTION_ID()); ++------------------------------------------------+ +| sys.ps_is_thread_instrumented(CONNECTION_ID()) | ++------------------------------------------------+ +| YES | ++------------------------------------------------+ + + mysql.sys@localhost + function + 0 + 362 + reads-sql-data + + + +Description +----------- + +Disable all background thread instrumentation within Performance Schema. + +Parameters +----------- + +None. + +Example +----------- + +mysql> CALL sys.ps_setup_disable_background_threads(); ++--------------------------------+ +| summary | ++--------------------------------+ +| Disabled 18 background threads | ++--------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 222 + modifies-sql-data + + + +Description +----------- + +Disables consumers within Performance Schema +matching the input pattern. + +Parameters +----------- + +consumer (VARCHAR(128)): + A LIKE pattern match (using "%consumer%") of consumers to disable + +Example +----------- + +To disable all consumers: + +mysql> CALL sys.ps_setup_disable_consumer(''); ++--------------------------+ +| summary | ++--------------------------+ +| Disabled 15 consumers | ++--------------------------+ +1 row in set (0.02 sec) + +To disable just the event_stage consumers: + +mysql> CALL sys.ps_setup_disable_comsumers('stage'); ++------------------------+ +| summary | ++------------------------+ +| Disabled 3 consumers | ++------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 233 + modifies-sql-data + + + +Description +----------- + +Disables instruments within Performance Schema +matching the input pattern. + +Parameters +----------- + +in_pattern (VARCHAR(128)): + A LIKE pattern match (using "%in_pattern%") of events to disable + +Example +----------- + +To disable all mutex instruments: + +mysql> CALL sys.ps_setup_disable_instrument('wait/synch/mutex'); ++--------------------------+ +| summary | ++--------------------------+ +| Disabled 155 instruments | ++--------------------------+ +1 row in set (0.02 sec) + +To disable just a specific TCP/IP based network IO instrument: + +mysql> CALL sys.ps_setup_disable_instrument('wait/io/socket/sql/server_tcpip_socket'); ++------------------------+ +| summary | ++------------------------+ +| Disabled 1 instruments | ++------------------------+ +1 row in set (0.00 sec) + +To disable all instruments: + +mysql> CALL sys.ps_setup_disable_instrument(''); ++--------------------------+ +| summary | ++--------------------------+ +| Disabled 547 instruments | ++--------------------------+ +1 row in set (0.01 sec) + + mysql.sys@localhost + procedure + 0 + 253 + modifies-sql-data + + + +Description +----------- + +Disable the given connection/thread in Performance Schema. + +Parameters +----------- + +in_connection_id (BIGINT): + The connection ID (PROCESSLIST_ID from performance_schema.threads + or the ID shown within SHOW PROCESSLIST) + +Example +----------- + +mysql> CALL sys.ps_setup_disable_thread(3); ++-------------------+ +| summary | ++-------------------+ +| Disabled 1 thread | ++-------------------+ +1 row in set (0.01 sec) + +To disable the current connection: + +mysql> CALL sys.ps_setup_disable_thread(CONNECTION_ID()); ++-------------------+ +| summary | ++-------------------+ +| Disabled 1 thread | ++-------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 225 + modifies-sql-data + + + +Description +----------- + +Enable all background thread instrumentation within Performance Schema. + +Parameters +----------- + +None. + +Example +----------- + +mysql> CALL sys.ps_setup_enable_background_threads(); ++-------------------------------+ +| summary | ++-------------------------------+ +| Enabled 18 background threads | ++-------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 222 + modifies-sql-data + + + +Description +----------- + +Enables consumers within Performance Schema +matching the input pattern. + +Parameters +----------- + +consumer (VARCHAR(128)): + A LIKE pattern match (using "%consumer%") of consumers to enable + +Example +----------- + +To enable all consumers: + +mysql> CALL sys.ps_setup_enable_consumer(''); ++-------------------------+ +| summary | ++-------------------------+ +| Enabled 10 consumers | ++-------------------------+ +1 row in set (0.02 sec) + +Query OK, 0 rows affected (0.02 sec) + +To enable just "waits" consumers: + +mysql> CALL sys.ps_setup_enable_consumer('waits'); ++-----------------------+ +| summary | ++-----------------------+ +| Enabled 3 consumers | ++-----------------------+ +1 row in set (0.00 sec) + +Query OK, 0 rows affected (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 233 + modifies-sql-data + + + +Description +----------- + +Enables instruments within Performance Schema +matching the input pattern. + +Parameters +----------- + +in_pattern (VARCHAR(128)): + A LIKE pattern match (using "%in_pattern%") of events to enable + +Example +----------- + +To enable all mutex instruments: + +mysql> CALL sys.ps_setup_enable_instrument('wait/synch/mutex'); ++-------------------------+ +| summary | ++-------------------------+ +| Enabled 155 instruments | ++-------------------------+ +1 row in set (0.02 sec) + +Query OK, 0 rows affected (0.02 sec) + +To enable just a specific TCP/IP based network IO instrument: + +mysql> CALL sys.ps_setup_enable_instrument('wait/io/socket/sql/server_tcpip_socket'); ++-----------------------+ +| summary | ++-----------------------+ +| Enabled 1 instruments | ++-----------------------+ +1 row in set (0.00 sec) + +Query OK, 0 rows affected (0.00 sec) + +To enable all instruments: + +mysql> CALL sys.ps_setup_enable_instrument(''); ++-------------------------+ +| summary | ++-------------------------+ +| Enabled 547 instruments | ++-------------------------+ +1 row in set (0.01 sec) + +Query OK, 0 rows affected (0.01 sec) + + mysql.sys@localhost + procedure + 0 + 254 + modifies-sql-data + + + +Description +----------- + +Enable the given connection/thread in Performance Schema. + +Parameters +----------- + +in_connection_id (BIGINT): + The connection ID (PROCESSLIST_ID from performance_schema.threads + or the ID shown within SHOW PROCESSLIST) + +Example +----------- + +mysql> CALL sys.ps_setup_enable_thread(3); ++------------------+ +| summary | ++------------------+ +| Enabled 1 thread | ++------------------+ +1 row in set (0.01 sec) + +To enable the current connection: + +mysql> CALL sys.ps_setup_enable_thread(CONNECTION_ID()); ++------------------+ +| summary | ++------------------+ +| Enabled 1 thread | ++------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 225 + modifies-sql-data + + + +Description +----------- + +Reloads a saved Performance Schema configuration, +so that you can alter the setup for debugging purposes, +but restore it to a previous state. + +Use the companion procedure - ps_setup_save(), to +save a configuration. + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +None. + +Example +----------- + +mysql> CALL sys.ps_setup_save(); +Query OK, 0 rows affected (0.08 sec) + +mysql> UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; +Query OK, 547 rows affected (0.40 sec) +Rows matched: 784 Changed: 547 Warnings: 0 + +/* Run some tests that need more detailed instrumentation here */ + +mysql> CALL sys.ps_setup_reload_saved(); +Query OK, 0 rows affected (0.32 sec) + + mysql.sys@localhost + procedure + 0 + 3154 + modifies-sql-data + + + +Description +----------- + +Resets the Performance Schema setup to the default settings. + +Parameters +----------- + +in_verbose (BOOLEAN): + Whether to print each setup stage (including the SQL) whilst running. + +Example +----------- + +mysql> CALL sys.ps_setup_reset_to_default(true)\G +*************************** 1. row *************************** +status: Resetting: setup_actors +DELETE +FROM performance_schema.setup_actors + WHERE NOT (HOST = '%' AND USER = '%' AND `ROLE` = '%') +1 row in set (0.00 sec) + +*************************** 1. row *************************** +status: Resetting: setup_actors +INSERT IGNORE INTO performance_schema.setup_actors +VALUES ('%', '%', '%') +1 row in set (0.00 sec) +... + +mysql> CALL sys.ps_setup_reset_to_default(false)\G +Query OK, 0 rows affected (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 4996 + modifies-sql-data + + + +Description +----------- + +Saves the current configuration of Performance Schema, +so that you can alter the setup for debugging purposes, +but restore it to a previous state. + +Use the companion procedure - ps_setup_reload_saved(), to +restore the saved config. + +The named lock "sys.ps_setup_save" is taken before the +current configuration is saved. If the attempt to get the named +lock times out, an error occurs. + +The lock is released after the settings have been restored by +calling ps_setup_reload_saved(). + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +in_timeout INT + The timeout in seconds used when trying to obtain the lock. + A negative timeout means infinite timeout. + +Example +----------- + +mysql> CALL sys.ps_setup_save(-1); +Query OK, 0 rows affected (0.08 sec) + +mysql> UPDATE performance_schema.setup_instruments + -> SET enabled = 'YES', timed = 'YES'; +Query OK, 547 rows affected (0.40 sec) +Rows matched: 784 Changed: 547 Warnings: 0 + +/* Run some tests that need more detailed instrumentation here */ + +mysql> CALL sys.ps_setup_reload_saved(); +Query OK, 0 rows affected (0.32 sec) + + mysql.sys@localhost + procedure + 0 + 1431 + modifies-sql-data + + + +Description +----------- + +Shows all currently disable Performance Schema configuration. + +Disabled users is only available for MySQL 5.7.6 and later. +In earlier versions it was only possible to enable users. + +Parameters +----------- + +in_show_instruments (BOOLEAN): + Whether to print disabled instruments (can print many items) + +in_show_threads (BOOLEAN): + Whether to print disabled threads + +Example +----------- + +mysql> CALL sys.ps_setup_show_disabled(TRUE, TRUE); ++----------------------------+ +| performance_schema_enabled | ++----------------------------+ +| 1 | ++----------------------------+ +1 row in set (0.00 sec) + ++--------------------+ +| disabled_users | ++--------------------+ +| 'mark'@'localhost' | ++--------------------+ +1 row in set (0.00 sec) + ++-------------+----------------------+---------+-------+ +| object_type | objects | enabled | timed | ++-------------+----------------------+---------+-------+ +| EVENT | mysql.% | NO | NO | +| EVENT | performance_schema.% | NO | NO | +| EVENT | information_schema.% | NO | NO | +| FUNCTION | mysql.% | NO | NO | +| FUNCTION | performance_schema.% | NO | NO | +| FUNCTION | information_schema.% | NO | NO | +| PROCEDURE | mysql.% | NO | NO | +| PROCEDURE | performance_schema.% | NO | NO | +| PROCEDURE | information_schema.% | NO | NO | +| TABLE | mysql.% | NO | NO | +| TABLE | performance_schema.% | NO | NO | +| TABLE | information_schema.% | NO | NO | +| TRIGGER | mysql.% | NO | NO | +| TRIGGER | performance_schema.% | NO | NO | +| TRIGGER | information_schema.% | NO | NO | ++-------------+----------------------+---------+-------+ +15 rows in set (0.00 sec) + ++----------------------------------+ +| disabled_consumers | ++----------------------------------+ +| events_stages_current | +| events_stages_history | +| events_stages_history_long | +| events_statements_history | +| events_statements_history_long | +| events_transactions_history | +| events_transactions_history_long | +| events_waits_current | +| events_waits_history | +| events_waits_history_long | ++----------------------------------+ +10 rows in set (0.00 sec) + +Empty set (0.00 sec) + ++---------------------------------------------------------------------------------------+-------+ +| disabled_instruments | timed | ++---------------------------------------------------------------------------------------+-------+ +| wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_tc | NO | +| wait/synch/mutex/sql/LOCK_des_key_file | NO | +| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit | NO | +... +| memory/sql/servers_cache | NO | +| memory/sql/udf_mem | NO | +| wait/lock/metadata/sql/mdl | NO | ++---------------------------------------------------------------------------------------+-------+ +547 rows in set (0.00 sec) + +Query OK, 0 rows affected (0.01 sec) + + mysql.sys@localhost + procedure + 0 + 1223 + reads-sql-data + + + +Description +----------- + +Shows all currently disabled consumers. + +Parameters +----------- + +None + +Example +----------- + +mysql> CALL sys.ps_setup_show_disabled_consumers(); + ++---------------------------+ +| disabled_consumers | ++---------------------------+ +| events_statements_current | +| global_instrumentation | +| thread_instrumentation | +| statements_digest | ++---------------------------+ +4 rows in set (0.05 sec) + + mysql.sys@localhost + 1 + procedure + 0 + 153 + reads-sql-data + + + +Description +----------- + +Shows all currently disabled instruments. + +Parameters +----------- + +None + +Example +----------- + +mysql> CALL sys.ps_setup_show_disabled_instruments(); + + mysql.sys@localhost + 1 + procedure + 0 + 166 + reads-sql-data + + + +Description +----------- + +Shows all currently enabled Performance Schema configuration. + +Parameters +----------- + +in_show_instruments (BOOLEAN): + Whether to print enabled instruments (can print many items) + +in_show_threads (BOOLEAN): + Whether to print enabled threads + +Example +----------- + +mysql> CALL sys.ps_setup_show_enabled(TRUE, TRUE); ++----------------------------+ +| performance_schema_enabled | ++----------------------------+ +| 1 | ++----------------------------+ +1 row in set (0.00 sec) + ++---------------+ +| enabled_users | ++---------------+ +| '%'@'%' | ++---------------+ +1 row in set (0.01 sec) + ++-------------+---------+---------+-------+ +| object_type | objects | enabled | timed | ++-------------+---------+---------+-------+ +| EVENT | %.% | YES | YES | +| FUNCTION | %.% | YES | YES | +| PROCEDURE | %.% | YES | YES | +| TABLE | %.% | YES | YES | +| TRIGGER | %.% | YES | YES | ++-------------+---------+---------+-------+ +5 rows in set (0.01 sec) + ++---------------------------+ +| enabled_consumers | ++---------------------------+ +| events_statements_current | +| global_instrumentation | +| thread_instrumentation | +| statements_digest | ++---------------------------+ +4 rows in set (0.05 sec) + ++---------------------------------+-------------+ +| enabled_threads | thread_type | ++---------------------------------+-------------+ +| sql/main | BACKGROUND | +| sql/thread_timer_notifier | BACKGROUND | +| innodb/io_ibuf_thread | BACKGROUND | +| innodb/io_log_thread | BACKGROUND | +| innodb/io_read_thread | BACKGROUND | +| innodb/io_read_thread | BACKGROUND | +| innodb/io_write_thread | BACKGROUND | +| innodb/io_write_thread | BACKGROUND | +| innodb/page_cleaner_thread | BACKGROUND | +| innodb/srv_lock_timeout_thread | BACKGROUND | +| innodb/srv_error_monitor_thread | BACKGROUND | +| innodb/srv_monitor_thread | BACKGROUND | +| innodb/srv_master_thread | BACKGROUND | +| innodb/srv_purge_thread | BACKGROUND | +| innodb/srv_worker_thread | BACKGROUND | +| innodb/srv_worker_thread | BACKGROUND | +| innodb/srv_worker_thread | BACKGROUND | +| innodb/buf_dump_thread | BACKGROUND | +| innodb/dict_stats_thread | BACKGROUND | +| sql/signal_handler | BACKGROUND | +| sql/compress_gtid_table | FOREGROUND | +| root@localhost | FOREGROUND | ++---------------------------------+-------------+ +22 rows in set (0.01 sec) + ++-------------------------------------+-------+ +| enabled_instruments | timed | ++-------------------------------------+-------+ +| wait/io/file/sql/map | YES | +| wait/io/file/sql/binlog | YES | +... +| statement/com/Error | YES | +| statement/com/ | YES | +| idle | YES | ++-------------------------------------+-------+ +210 rows in set (0.08 sec) + +Query OK, 0 rows affected (0.89 sec) + + mysql.sys@localhost + 1 + procedure + 0 + 1220 + reads-sql-data + + + +Description +----------- + +Shows all currently enabled consumers. + +Parameters +----------- + +None + +Example +----------- + +mysql> CALL sys.ps_setup_show_enabled_consumers(); + ++---------------------------+ +| enabled_consumers | ++---------------------------+ +| events_statements_current | +| global_instrumentation | +| thread_instrumentation | +| statements_digest | ++---------------------------+ +4 rows in set (0.05 sec) + + mysql.sys@localhost + 1 + procedure + 0 + 152 + reads-sql-data + + + +Description +----------- + +Shows all currently enabled instruments. + +Parameters +----------- + +None + +Example +----------- + +mysql> CALL sys.ps_setup_show_enabled_instruments(); + + mysql.sys@localhost + 1 + procedure + 0 + 165 + reads-sql-data + + + +Description +----------- + +Outputs a textual histogram graph of the average latency values +across all normalized queries tracked within the Performance Schema +events_statements_summary_by_digest table. + +Can be used to show a very high level picture of what kind of +latency distribution statements running within this instance have. + +Parameters +----------- + +None. + +Example +----------- + +mysql> CALL sys.ps_statement_avg_latency_histogram()\G +*************************** 1. row *************************** +Performance Schema Statement Digest Average Latency Histogram: + + . = 1 unit + * = 2 units + # = 3 units + +(0 - 38ms) 240 | ################################################################################ +(38 - 77ms) 38 | ...................................... +(77 - 115ms) 3 | ... +(115 - 154ms) 62 | ******************************* +(154 - 192ms) 3 | ... +(192 - 231ms) 0 | +(231 - 269ms) 0 | +(269 - 307ms) 0 | +(307 - 346ms) 0 | +(346 - 384ms) 1 | . +(384 - 423ms) 1 | . +(423 - 461ms) 0 | +(461 - 499ms) 0 | +(499 - 538ms) 0 | +(538 - 576ms) 0 | +(576 - 615ms) 1 | . + + Total Statements: 350; Buckets: 16; Bucket Size: 38 ms; + + mysql.sys@localhost + procedure + 0 + 14845 + reads-sql-data + + + +Description +----------- + +Return the user@host account for the given Performance Schema thread id. + +Parameters +----------- + +in_thread_id (BIGINT UNSIGNED): + The id of the thread to return the account for. + +Example +----------- + +mysql> select thread_id, processlist_user, processlist_host from performance_schema.threads where type = 'foreground'; ++-----------+------------------+------------------+ +| thread_id | processlist_user | processlist_host | ++-----------+------------------+------------------+ +| 23 | NULL | NULL | +| 30 | root | localhost | +| 31 | msandbox | localhost | +| 32 | msandbox | localhost | ++-----------+------------------+------------------+ +4 rows in set (0.00 sec) + +mysql> select sys.ps_thread_account(31); ++---------------------------+ +| sys.ps_thread_account(31) | ++---------------------------+ +| msandbox@localhost | ++---------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + function + 0 + 303 + reads-sql-data + + + +Description +----------- + +Return the Performance Schema THREAD_ID for the specified connection ID. + +Parameters +----------- + +in_connection_id (BIGINT UNSIGNED): + The id of the connection to return the thread id for. If NULL, the current + connection thread id is returned. + +Example +----------- + +mysql> SELECT sys.ps_thread_id(79); ++----------------------+ +| sys.ps_thread_id(79) | ++----------------------+ +| 98 | ++----------------------+ +1 row in set (0.00 sec) + +mysql> SELECT sys.ps_thread_id(CONNECTION_ID()); ++-----------------------------------+ +| sys.ps_thread_id(CONNECTION_ID()) | ++-----------------------------------+ +| 98 | ++-----------------------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + function + 0 + 141 + reads-sql-data + + + +Description +----------- + +Outputs a JSON formatted stack of all statements, stages and events +within Performance Schema for the specified thread. + +Parameters +----------- + +thd_id (BIGINT UNSIGNED): + The id of the thread to trace. This should match the thread_id + column from the performance_schema.threads table. +in_verbose (BOOLEAN): + Include file:lineno information in the events. + +Example +----------- + +(line separation added for output) + +mysql> SELECT sys.ps_thread_stack(37, FALSE) AS thread_stack\G +*************************** 1. row *************************** +thread_stack: {"rankdir": "LR","nodesep": "0.10","stack_created": "2014-02-19 13:39:03", +"mysql_version": "5.7.3-m13","mysql_user": "root@localhost","events": +[{"nesting_event_id": "0", "event_id": "10", "timer_wait": 256.35, "event_info": +"sql/select", "wait_info": "select @@version_comment limit 1\nerrors: 0\nwarnings: 0\nlock time: +... + + mysql.sys@localhost + function + 0 + 6438 + reads-sql-data + + + +Description +----------- + +Returns a JSON object with info on the given threads current transaction, +and the statements it has already executed, derived from the +performance_schema.events_transactions_current and +performance_schema.events_statements_history tables (so the consumers +for these also have to be enabled within Performance Schema to get full +data in the object). + +When the output exceeds the default truncation length (65535), a JSON error +object is returned, such as: + +{ "error": "Trx info truncated: Row 6 was cut by GROUP_CONCAT()" } + +Similar error objects are returned for other warnings/and exceptions raised +when calling the function. + +The max length of the output of this function can be controlled with the +ps_thread_trx_info.max_length variable set via sys_config, or the +@sys.ps_thread_trx_info.max_length user variable, as appropriate. + +Parameters +----------- + +in_thread_id (BIGINT UNSIGNED): + The id of the thread to return the transaction info for. + +Example +----------- + +SELECT sys.ps_thread_trx_info(48)\G +*************************** 1. row *************************** +sys.ps_thread_trx_info(48): [ + { + "time": "790.70 us", + "state": "COMMITTED", + "mode": "READ WRITE", + "autocommitted": "NO", + "gtid": "AUTOMATIC", + "isolation": "REPEATABLE READ", + "statements_executed": [ + { + "sql_text": "INSERT INTO info VALUES (1, 'foo')", + "time": "471.02 us", + "schema": "trx", + "rows_examined": 0, + "rows_affected": 1, + "rows_sent": 0, + "tmp_tables": 0, + "tmp_disk_tables": 0, + "sort_rows": 0, + "sort_merge_passes": 0 + }, + { + "sql_text": "COMMIT", + "time": "254.42 us", + "schema": "trx", + "rows_examined": 0, + "rows_affected": 0, + "rows_sent": 0, + "tmp_tables": 0, + "tmp_disk_tables": 0, + "sort_rows": 0, + "sort_merge_passes": 0 + } + ] + }, + { + "time": "426.20 us", + "state": "COMMITTED", + "mode": "READ WRITE", + "autocommitted": "NO", + "gtid": "AUTOMATIC", + "isolation": "REPEATABLE READ", + "statements_executed": [ + { + "sql_text": "INSERT INTO info VALUES (2, 'bar')", + "time": "107.33 us", + "schema": "trx", + "rows_examined": 0, + "rows_affected": 1, + "rows_sent": 0, + "tmp_tables": 0, + "tmp_disk_tables": 0, + "sort_rows": 0, + "sort_merge_passes": 0 + }, + { + "sql_text": "COMMIT", + "time": "213.23 us", + "schema": "trx", + "rows_examined": 0, + "rows_affected": 0, + "rows_sent": 0, + "tmp_tables": 0, + "tmp_disk_tables": 0, + "sort_rows": 0, + "sort_merge_passes": 0 + } + ] + } +] +1 row in set (0.03 sec) + + mysql.sys@localhost + function + 0 + 5388 + reads-sql-data + + + +Description +----------- + +Traces all instrumentation within Performance Schema for a specific +Statement Digest. + +When finding a statement of interest within the +performance_schema.events_statements_summary_by_digest table, feed +the DIGEST value in to this procedure, set how long to poll for, +and at what interval to poll, and it will generate a report of all +statistics tracked within Performance Schema for that digest for the +interval. + +It will also attempt to generate an EXPLAIN for the longest running +example of the digest during the interval. Note this may fail, as: + + * Performance Schema truncates long SQL_TEXT values (and hence the + EXPLAIN will fail due to parse errors) + * the default schema is sys (so tables that are not fully qualified + in the query may not be found) + * some queries such as SHOW are not supported in EXPLAIN. + +When the EXPLAIN fails, the error will be ignored and no EXPLAIN +output generated. + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +in_digest (VARCHAR(64)): + The statement digest identifier you would like to analyze +in_runtime (INT): + The number of seconds to run analysis for +in_interval (DECIMAL(2,2)): + The interval (in seconds, may be fractional) at which to try + and take snapshots +in_start_fresh (BOOLEAN): + Whether to TRUNCATE the events_statements_history_long and + events_stages_history_long tables before starting +in_auto_enable (BOOLEAN): + Whether to automatically turn on required consumers + +Example +----------- + +mysql> call ps_trace_statement_digest('891ec6860f98ba46d89dd20b0c03652c', 10, 0.1, true, true); ++--------------------+ +| SUMMARY STATISTICS | ++--------------------+ +| SUMMARY STATISTICS | ++--------------------+ +1 row in set (9.11 sec) + ++------------+-----------+-----------+-----------+---------------+------------+------------+ +| executions | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scans | ++------------+-----------+-----------+-----------+---------------+------------+------------+ +| 21 | 4.11 ms | 2.00 ms | 0 | 21 | 0 | 0 | ++------------+-----------+-----------+-----------+---------------+------------+------------+ +1 row in set (9.11 sec) + ++------------------------------------------+-------+-----------+ +| event_name | count | latency | ++------------------------------------------+-------+-----------+ +| stage/sql/checking query cache for query | 16 | 724.37 us | +| stage/sql/statistics | 16 | 546.92 us | +| stage/sql/freeing items | 18 | 520.11 us | +| stage/sql/init | 51 | 466.80 us | +... +| stage/sql/cleaning up | 18 | 11.92 us | +| stage/sql/executing | 16 | 6.95 us | ++------------------------------------------+-------+-----------+ +17 rows in set (9.12 sec) + ++---------------------------+ +| LONGEST RUNNING STATEMENT | ++---------------------------+ +| LONGEST RUNNING STATEMENT | ++---------------------------+ +1 row in set (9.16 sec) + ++-----------+-----------+-----------+-----------+---------------+------------+-----------+ +| thread_id | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scan | ++-----------+-----------+-----------+-----------+---------------+------------+-----------+ +| 166646 | 618.43 us | 1.00 ms | 0 | 1 | 0 | 0 | ++-----------+-----------+-----------+-----------+---------------+------------+-----------+ +1 row in set (9.16 sec) + +// Truncated for clarity... ++-----------------------------------------------------------------+ +| sql_text | ++-----------------------------------------------------------------+ +| select hibeventhe0_.id as id1382_, hibeventhe0_.createdTime ... | ++-----------------------------------------------------------------+ +1 row in set (9.17 sec) + ++------------------------------------------+-----------+ +| event_name | latency | ++------------------------------------------+-----------+ +| stage/sql/init | 8.61 us | +| stage/sql/Waiting for query cache lock | 453.23 us | +| stage/sql/init | 331.07 ns | +| stage/sql/checking query cache for query | 43.04 us | +... +| stage/sql/freeing items | 30.46 us | +| stage/sql/cleaning up | 662.13 ns | ++------------------------------------------+-----------+ +18 rows in set (9.23 sec) + ++----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+ +| 1 | SIMPLE | hibeventhe0_ | const | fixedTime | fixedTime | 775 | const,const | 1 | NULL | ++----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+ +1 row in set (9.27 sec) + +Query OK, 0 rows affected (9.28 sec) + + mysql.sys@localhost + procedure + 0 + 6010 + modifies-sql-data + + + +Description +----------- + +Dumps all data within Performance Schema for an instrumented thread, +to create a DOT formatted graph file. + +Each resultset returned from the procedure should be used for a complete graph + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +in_thread_id (BIGINT UNSIGNED): + The thread that you would like a stack trace for +in_outfile (VARCHAR(255)): + The filename the dot file will be written to +in_max_runtime (DECIMAL(20,2)): + The maximum time to keep collecting data. + Use NULL to get the default which is 60 seconds. +in_interval (DECIMAL(20,2)): + How long to sleep between data collections. + Use NULL to get the default which is 1 second. +in_start_fresh (BOOLEAN): + Whether to reset all Performance Schema data before tracing. +in_auto_setup (BOOLEAN): + Whether to disable all other threads and enable all consumers/instruments. + This will also reset the settings at the end of the run. +in_debug (BOOLEAN): + Whether you would like to include file:lineno in the graph + +Example +----------- + +mysql> CALL sys.ps_trace_thread(25, CONCAT('/tmp/stack-', REPLACE(NOW(), ' ', '-'), '.dot'), NULL, NULL, TRUE, TRUE, TRUE); ++-------------------+ +| summary | ++-------------------+ +| Disabled 1 thread | ++-------------------+ +1 row in set (0.00 sec) + ++---------------------------------------------+ +| Info | ++---------------------------------------------+ +| Data collection starting for THREAD_ID = 25 | ++---------------------------------------------+ +1 row in set (0.03 sec) + ++-----------------------------------------------------------+ +| Info | ++-----------------------------------------------------------+ +| Stack trace written to /tmp/stack-2014-02-16-21:18:41.dot | ++-----------------------------------------------------------+ +1 row in set (60.07 sec) + ++-------------------------------------------------------------------+ +| Convert to PDF | ++-------------------------------------------------------------------+ +| dot -Tpdf -o /tmp/stack_25.pdf /tmp/stack-2014-02-16-21:18:41.dot | ++-------------------------------------------------------------------+ +1 row in set (60.07 sec) + ++-------------------------------------------------------------------+ +| Convert to PNG | ++-------------------------------------------------------------------+ +| dot -Tpng -o /tmp/stack_25.png /tmp/stack-2014-02-16-21:18:41.dot | ++-------------------------------------------------------------------+ +1 row in set (60.07 sec) + ++------------------+ +| summary | ++------------------+ +| Enabled 1 thread | ++------------------+ +1 row in set (60.32 sec) + + mysql.sys@localhost + procedure + 0 + 12394 + modifies-sql-data + + + +Description +----------- + +Truncates all summary tables within Performance Schema, +resetting all aggregated instrumentation as a snapshot. + +Parameters +----------- + +in_verbose (BOOLEAN): + Whether to print each TRUNCATE statement before running + +Example +----------- + +mysql> CALL sys.ps_truncate_all_tables(false); ++---------------------+ +| summary | ++---------------------+ +| Truncated 44 tables | ++---------------------+ +1 row in set (0.10 sec) + +Query OK, 0 rows affected (0.10 sec) + + mysql.sys@localhost + 1 + procedure + 0 + 1064 + modifies-sql-data + + + +Description +----------- + +Takes an unquoted identifier (schema name, table name, etc.) and +returns the identifier quoted with backticks. + +Parameters +----------- + +in_identifier (TEXT): + The identifier to quote. + +Returns +----------- + +TEXT CHARSET UTF8MB4 + +Example +----------- + +mysql> SELECT sys.quote_identifier('my_identifier') AS Identifier; ++-----------------+ +| Identifier | ++-----------------+ +| `my_identifier` | ++-----------------+ +1 row in set (0.00 sec) + +mysql> SELECT sys.quote_identifier('my`idenfier') AS Identifier; ++----------------+ +| Identifier | ++----------------+ +| `my``idenfier` | ++----------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + 1 + function + 0 + 73 + no-sql + + + +Description +----------- + +Create a report of the statements running on the server. + +The views are calculated based on the overall and/or delta activity. + +Requires the SUPER privilege for "SET sql_log_bin = 0;". + +Parameters +----------- + +in_action (ENUM('snapshot', 'overall', 'delta', 'create_tmp', 'create_table', 'save', 'cleanup')): + The action to take. Supported actions are: + * snapshot Store a snapshot. The default is to make a snapshot of the current content of + performance_schema.events_statements_summary_by_digest, but by setting in_table + this can be overwritten to copy the content of the specified table. + The snapshot is stored in the sys.tmp_digests temporary table. + * overall Generate analyzis based on the content specified by in_table. For the overall analyzis, + in_table can be NOW() to use a fresh snapshot. This will overwrite an existing snapshot. + Use NULL for in_table to use the existing snapshot. If in_table IS NULL and no snapshot + exists, a new will be created. + See also in_views and @sys.statement_performance_analyzer.limit. + * delta Generate a delta analysis. The delta will be calculated between the reference table in + in_table and the snapshot. An existing snapshot must exist. + The action uses the sys.tmp_digests_delta temporary table. + See also in_views and @sys.statement_performance_analyzer.limit. + * create_table Create a regular table suitable for storing the snapshot for later use, e.g. for + calculating deltas. + * create_tmp Create a temporary table suitable for storing the snapshot for later use, e.g. for + calculating deltas. + * save Save the snapshot in the table specified by in_table. The table must exists and have + the correct structure. + If no snapshot exists, a new is created. + * cleanup Remove the temporary tables used for the snapshot and delta. + +in_table (VARCHAR(129)): + The table argument used for some actions. Use the format 'db1.t1' or 't1' without using any backticks (`) + for quoting. Periods (.) are not supported in the database and table names. + + The meaning of the table for each action supporting the argument is: + + * snapshot The snapshot is created based on the specified table. Set to NULL or NOW() to use + the current content of performance_schema.events_statements_summary_by_digest. + * overall The table with the content to create the overall analyzis for. The following values + can be used: + - A table name - use the content of that table. + - NOW() - create a fresh snapshot and overwrite the existing snapshot. + - NULL - use the last stored snapshot. + * delta The table name is mandatory and specified the reference view to compare the currently + stored snapshot against. If no snapshot exists, a new will be created. + * create_table The name of the regular table to create. + * create_tmp The name of the temporary table to create. + * save The name of the table to save the currently stored snapshot into. + +in_views (SET ('with_runtimes_in_95th_percentile', 'analysis', 'with_errors_or_warnings', + 'with_full_table_scans', 'with_sorting', 'with_temp_tables', 'custom')) + Which views to include: + + * with_runtimes_in_95th_percentile Based on the sys.statements_with_runtimes_in_95th_percentile view + * analysis Based on the sys.statement_analysis view + * with_errors_or_warnings Based on the sys.statements_with_errors_or_warnings view + * with_full_table_scans Based on the sys.statements_with_full_table_scans view + * with_sorting Based on the sys.statements_with_sorting view + * with_temp_tables Based on the sys.statements_with_temp_tables view + * custom Use a custom view. This view must be specified in @sys.statement_performance_analyzer.view to an existing view or a query + +Default is to include all except 'custom'. + + +Configuration Options +---------------------- + +sys.statement_performance_analyzer.limit + The maximum number of rows to include for the views that does not have a built-in limit (e.g. the 95th percentile view). + If not set the limit is 100. + +sys.statement_performance_analyzer.view + Used together with the 'custom' view. If the value contains a space, it is considered a query, otherwise it must be + an existing view querying the performance_schema.events_statements_summary_by_digest table. There cannot be any limit + clause including in the query or view definition if @sys.statement_performance_analyzer.limit > 0. + If specifying a view, use the same format as for in_table. + +sys.debug + Whether to provide debugging output. + Default is 'OFF'. Set to 'ON' to include. + + +Example +-------- + +To create a report with the queries in the 95th percentile since last truncate of performance_schema.events_statements_summary_by_digest +and the delta for a 1 minute period: + + 1. Create a temporary table to store the initial snapshot. + 2. Create the initial snapshot. + 3. Save the initial snapshot in the temporary table. + 4. Wait one minute. + 5. Create a new snapshot. + 6. Perform analyzis based on the new snapshot. + 7. Perform analyzis based on the delta between the initial and new snapshots. + +mysql> CALL sys.statement_performance_analyzer('create_tmp', 'mydb.tmp_digests_ini', NULL); +Query OK, 0 rows affected (0.08 sec) + +mysql> CALL sys.statement_performance_analyzer('snapshot', NULL, NULL); +Query OK, 0 rows affected (0.02 sec) + +mysql> CALL sys.statement_performance_analyzer('save', 'mydb.tmp_digests_ini', NULL); +Query OK, 0 rows affected (0.00 sec) + +mysql> DO SLEEP(60); +Query OK, 0 rows affected (1 min 0.00 sec) + +mysql> CALL sys.statement_performance_analyzer('snapshot', NULL, NULL); +Query OK, 0 rows affected (0.02 sec) + +mysql> CALL sys.statement_performance_analyzer('overall', NULL, 'with_runtimes_in_95th_percentile'); ++-----------------------------------------+ +| Next Output | ++-----------------------------------------+ +| Queries with Runtime in 95th Percentile | ++-----------------------------------------+ +1 row in set (0.05 sec) + +... + +mysql> CALL sys.statement_performance_analyzer('delta', 'mydb.tmp_digests_ini', 'with_runtimes_in_95th_percentile'); ++-----------------------------------------+ +| Next Output | ++-----------------------------------------+ +| Queries with Runtime in 95th Percentile | ++-----------------------------------------+ +1 row in set (0.03 sec) + +... + + +To create an overall report of the 95th percentile queries and the top 10 queries with full table scans: + +mysql> CALL sys.statement_performance_analyzer('snapshot', NULL, NULL); +Query OK, 0 rows affected (0.01 sec) + +mysql> SET @sys.statement_performance_analyzer.limit = 10; +Query OK, 0 rows affected (0.00 sec) + +mysql> CALL sys.statement_performance_analyzer('overall', NULL, 'with_runtimes_in_95th_percentile,with_full_table_scans'); ++-----------------------------------------+ +| Next Output | ++-----------------------------------------+ +| Queries with Runtime in 95th Percentile | ++-----------------------------------------+ +1 row in set (0.01 sec) + +... + ++-------------------------------------+ +| Next Output | ++-------------------------------------+ +| Top 10 Queries with Full Table Scan | ++-------------------------------------+ +1 row in set (0.09 sec) + +... + + +Use a custom view showing the top 10 query sorted by total execution time refreshing the view every minute using +the watch command in Linux. + +mysql> CREATE OR REPLACE VIEW mydb.my_statements AS + -> SELECT sys.format_statement(DIGEST_TEXT) AS query, + -> SCHEMA_NAME AS db, + -> COUNT_STAR AS exec_count, + -> format_pico_time(SUM_TIMER_WAIT) AS total_latency, + -> format_pico_time(AVG_TIMER_WAIT) AS avg_latency, + -> ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, + -> ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, + -> ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, + -> DIGEST AS digest + -> FROM performance_schema.events_statements_summary_by_digest + -> ORDER BY SUM_TIMER_WAIT DESC; +Query OK, 0 rows affected (0.01 sec) + +mysql> CALL sys.statement_performance_analyzer('create_table', 'mydb.digests_prev', NULL); +Query OK, 0 rows affected (0.10 sec) + +shell$ watch -n 60 "mysql sys --table -e " +> SET @sys.statement_performance_analyzer.view = 'mydb.my_statements'; +> SET @sys.statement_performance_analyzer.limit = 10; +> CALL statement_performance_analyzer('snapshot', NULL, NULL); +> CALL statement_performance_analyzer('delta', 'mydb.digests_prev', 'custom'); +> CALL statement_performance_analyzer('save', 'mydb.digests_prev', NULL); +> "" + +Every 60.0s: mysql sys --table -e " ... Mon Dec 22 10:58:51 2014 + ++----------------------------------+ +| Next Output | ++----------------------------------+ +| Top 10 Queries Using Custom View | ++----------------------------------+ ++-------------------+-------+------------+---------------+-------------+---------------+-------------------+-------------------+----------------------------------+ +| query | db | exec_count | total_latency | avg_latency | rows_sent_avg | rows_examined_avg | rows_affected_avg | digest | ++-------------------+-------+------------+---------------+-------------+---------------+-------------------+-------------------+----------------------------------+ +... + + mysql.sys@localhost + procedure + 0 + 26603 + + + +Description +----------- + +Returns the value for the requested variable using the following logic: + + 1. If the option exists in sys.sys_config return the value from there. + 2. Else fall back on the provided default value. + +Notes for using sys_get_config(): + + * If the default value argument to sys_get_config() is NULL and case 2. is reached, NULL is returned. + It is then expected that the caller is able to handle NULL for the given configuration option. + * The convention is to name the user variables @sys.<name of variable>. It is <name of variable> that + is stored in the sys_config table and is what is expected as the argument to sys_get_config(). + * If you want to check whether the configuration option has already been set and if not assign with + the return value of sys_get_config() you can use IFNULL(...) (see example below). However this should + not be done inside a loop (e.g. for each row in a result set) as for repeated calls where assignment + is only needed in the first iteration using IFNULL(...) is expected to be significantly slower than + using an IF (...) THEN ... END IF; block (see example below). + +Parameters +----------- + +in_variable_name (VARCHAR(128)): + The name of the config option to return the value for. + +in_default_value (VARCHAR(128)): + The default value to return if the variable does not exist in sys.sys_config. + +Returns +----------- + +VARCHAR(128) + +Example +----------- + +-- Get the configuration value from sys.sys_config falling back on 128 if the option is not present in the table. +mysql> SELECT sys.sys_get_config('statement_truncate_len', 128) AS Value; ++-------+ +| Value | ++-------+ +| 64 | ++-------+ +1 row in set (0.00 sec) + +-- Check whether the option is already set, if not assign - IFNULL(...) one liner example. +mysql> SET @sys.statement_truncate_len = IFNULL(@sys.statement_truncate_len, sys.sys_get_config('statement_truncate_len', 64)); +Query OK, 0 rows affected (0.00 sec) + +-- Check whether the option is already set, if not assign - IF ... THEN ... END IF example. +IF (@sys.statement_truncate_len IS NULL) THEN + SET @sys.statement_truncate_len = sys.sys_get_config('statement_truncate_len', 64); +END IF; + + mysql.sys@localhost + 1 + function + 0 + 377 + reads-sql-data + + + +Description +----------- + +Tests whether the table specified in in_db and in_table exists either as a regular +table, or as a temporary table. The returned value corresponds to the table that +will be used, so if there's both a temporary and a permanent table with the given +name, then 'TEMPORARY' will be returned. + +Parameters +----------- + +in_db (VARCHAR(64)): + The database name to check for the existance of the table in. + +in_table (VARCHAR(64)): + The name of the table to check the existance of. + +out_exists ENUM('', 'BASE TABLE', 'VIEW', 'TEMPORARY'): + The return value: whether the table exists. The value is one of: + * '' - the table does not exist neither as a base table, view, nor temporary table. + * 'BASE TABLE' - the table name exists as a permanent base table table. + * 'VIEW' - the table name exists as a view. + * 'TEMPORARY' - the table name exists as a temporary table. + +Example +-------- + +mysql> CREATE DATABASE db1; +Query OK, 1 row affected (0.07 sec) + +mysql> use db1; +Database changed +mysql> CREATE TABLE t1 (id INT PRIMARY KEY); +Query OK, 0 rows affected (0.08 sec) + +mysql> CREATE TABLE t2 (id INT PRIMARY KEY); +Query OK, 0 rows affected (0.08 sec) + +mysql> CREATE view v_t1 AS SELECT * FROM t1; +Query OK, 0 rows affected (0.00 sec) + +mysql> CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY); +Query OK, 0 rows affected (0.00 sec) + +mysql> CALL sys.table_exists('db1', 't1', @exists); SELECT @exists; +Query OK, 0 rows affected (0.00 sec) + ++------------+ +| @exists | ++------------+ +| TEMPORARY | ++------------+ +1 row in set (0.00 sec) + +mysql> CALL sys.table_exists('db1', 't2', @exists); SELECT @exists; +Query OK, 0 rows affected (0.00 sec) + ++------------+ +| @exists | ++------------+ +| BASE TABLE | ++------------+ +1 row in set (0.01 sec) + +mysql> CALL sys.table_exists('db1', 'v_t1', @exists); SELECT @exists; +Query OK, 0 rows affected (0.00 sec) + ++---------+ +| @exists | ++---------+ +| VIEW | ++---------+ +1 row in set (0.00 sec) + +mysql> CALL sys.table_exists('db1', 't3', @exists); SELECT @exists; +Query OK, 0 rows affected (0.01 sec) + ++---------+ +| @exists | ++---------+ +| | ++---------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + procedure + 0 + 2021 + + + +Description +----------- + +Returns the major version of MySQL Server. + +Returns +----------- + +TINYINT UNSIGNED + +Example +----------- + +mysql> SELECT VERSION(), sys.version_major(); ++--------------------------------------+---------------------+ +| VERSION() | sys.version_major() | ++--------------------------------------+---------------------+ +| 5.7.9-enterprise-commercial-advanced | 5 | ++--------------------------------------+---------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + function + 0 + 81 + no-sql + + + +Description +----------- + +Returns the minor (release series) version of MySQL Server. + +Returns +----------- + +TINYINT UNSIGNED + +Example +----------- + +mysql> SELECT VERSION(), sys.server_minor(); ++--------------------------------------+---------------------+ +| VERSION() | sys.version_minor() | ++--------------------------------------+---------------------+ +| 5.7.9-enterprise-commercial-advanced | 7 | ++--------------------------------------+---------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + function + 0 + 107 + no-sql + + + +Description +----------- + +Returns the patch release version of MySQL Server. + +Returns +----------- + +TINYINT UNSIGNED + +Example +----------- + +mysql> SELECT VERSION(), sys.version_patch(); ++--------------------------------------+---------------------+ +| VERSION() | sys.version_patch() | ++--------------------------------------+---------------------+ +| 5.7.9-enterprise-commercial-advanced | 9 | ++--------------------------------------+---------------------+ +1 row in set (0.00 sec) + + mysql.sys@localhost + function + 0 + 82 + no-sql + + + InnoDB + utf8mb4_0900_ai_ci +
+ + mysql.sys@localhost + 1412 + + + mysql.sys@localhost + 868 + + + mysql.sys@localhost + 1152 + + + mysql.sys@localhost + 1060 + + + mysql.sys@localhost + 1740 + + + mysql.sys@localhost + 1902 + + + mysql.sys@localhost + 738 + + + mysql.sys@localhost + 830 + + + mysql.sys@localhost + 2202 + + + mysql.sys@localhost + 1719 + + + mysql.sys@localhost + 1548 + + + mysql.sys@localhost + 941 + + + mysql.sys@localhost + 1952 + + + mysql.sys@localhost + 1875 + + + mysql.sys@localhost + 1302 + + + mysql.sys@localhost + 1269 + + + mysql.sys@localhost + 977 + + + mysql.sys@localhost + 1269 + + + mysql.sys@localhost + 1249 + + + mysql.sys@localhost + 200 + + + mysql.sys@localhost + 3193 + + + mysql.sys@localhost + 2904 + + + mysql.sys@localhost + 338 + + + mysql.sys@localhost + 2370 + + + mysql.sys@localhost + 1382 + + + mysql.sys@localhost + 1393 + + + mysql.sys@localhost + 1917 + + + mysql.sys@localhost + 1673 + + + mysql.sys@localhost + 1315 + + + mysql.sys@localhost + 1849 + + + mysql.sys@localhost + 730 + + + mysql.sys@localhost + 709 + + + mysql.sys@localhost + 1633 + + + mysql.sys@localhost + 616 + + + mysql.sys@localhost + 3176 + + + mysql.sys@localhost + 1495 + + + mysql.sys@localhost + 2295 + + + mysql.sys@localhost + 1150 + + + mysql.sys@localhost + 1697 + + + mysql.sys@localhost + 1682 + + + mysql.sys@localhost + 1673 + + + mysql.sys@localhost + 868 + + + mysql.sys@localhost + 1146 + + + mysql.sys@localhost + 1060 + + + mysql.sys@localhost + 1740 + + + mysql.sys@localhost + 1902 + + + mysql.sys@localhost + 60 + + + mysql.sys@localhost + 1342 + + + mysql.sys@localhost + 1286 + + + mysql.sys@localhost + 1258 + + + mysql.sys@localhost + 1349 + + + mysql.sys@localhost + 893 + + + mysql.sys@localhost + 1310 + + + mysql.sys@localhost + 850 + + + mysql.sys@localhost + 1116 + + + mysql.sys@localhost + 1024 + + + mysql.sys@localhost + 1668 + + + mysql.sys@localhost + 1830 + + + mysql.sys@localhost + 730 + + + mysql.sys@localhost + 822 + + + mysql.sys@localhost + 2150 + + + mysql.sys@localhost + 1647 + + + mysql.sys@localhost + 1457 + + + mysql.sys@localhost + 848 + + + mysql.sys@localhost + 1810 + + + mysql.sys@localhost + 1711 + + + mysql.sys@localhost + 1249 + + + mysql.sys@localhost + 1213 + + + mysql.sys@localhost + 919 + + + mysql.sys@localhost + 1213 + + + mysql.sys@localhost + 1193 + + + mysql.sys@localhost + 186 + + + mysql.sys@localhost + 2730 + + + mysql.sys@localhost + 546 + + + mysql.sys@localhost + 215 + + + mysql.sys@localhost + 1057 + + + mysql.sys@localhost + 890 + + + mysql.sys@localhost + 1310 + + + mysql.sys@localhost + 1647 + + + mysql.sys@localhost + 1143 + + + mysql.sys@localhost + 1653 + + + mysql.sys@localhost + 712 + + + mysql.sys@localhost + 1699 + + + mysql.sys@localhost + 3135 + + + mysql.sys@localhost + 1469 + + + mysql.sys@localhost + 2233 + + + mysql.sys@localhost + 1070 + + + mysql.sys@localhost + 1653 + + + mysql.sys@localhost + 1638 + + + mysql.sys@localhost + 1591 + + + mysql.sys@localhost + 850 + + + mysql.sys@localhost + 1110 + + + mysql.sys@localhost + 1024 + + + mysql.sys@localhost + 1668 + + + mysql.sys@localhost + 1830 + + + mysql.sys@localhost + 1234 + + + mysql.sys@localhost + 1214 + + + mysql.sys@localhost + 1204 + + + mysql.sys@localhost + 1295 + + + mysql.sys@localhost + 839 + + + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + InnoDB + utf8mb4_0900_ai_ci +
+ + 1 + int|0s + + + 1 + int|0s + + + 1 + int|0s + + + 1 + varchar(50)|0s + + + 2 + char(1)|0s + + + 3 + int|0s + + + 4 + int|0s + + + 1 + int|0s + + + 2 + int|0s + + + 3 + tinyint(1)|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + 3 + tinyint(1)|0s + + + StudentID + StudentID + students + + + DormitoryID + DormitoryID + dormitories + + + StudentID +DormitoryID + btree + 1 + + + StudentID + btree + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + root@localhost + I + 317 + before-row + + + root@localhost + U + 173 + + + root@localhost + D + 107 + + + 1 + 1 + int|0s + + + BuildingID + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + int|0s + + + 2 + varchar(50)|0s + + + 3 + varchar(15)|0s + + + ClassID + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + `Occupants` >= 0 + + + 1 + 1 + int|0s + + + 2 + int|0s + + + 3 + int|0s + + + 4 + int|0s + + + BuildingID + BuildingID + buildings + + + ClassID + ClassID + classes + + + DormitoryID + btree + 1 + + + BuildingID + btree + + + ClassID + btree + + + 1 + 1 + PRIMARY + + + 1 + `ElectricityBill` >= 0 + + + 1 + `WaterBill` >= 0 + + + 1 + 1 + int|0s + + + 2 + decimal(10,2 digit)|0s + + + 3 + decimal(10,2 digit)|0s + + + DormitoryID + DormitoryID + dormitories + + + DormitoryID + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + `Rating` between 1 and 5 + + + 1 + 1 + int|0s + + + 2 + int|0s + + + 1 + 3 + timestamp|0s + + + DormitoryID + DormitoryID + dormitories + + + DormitoryID +InspectionTime + btree + 1 + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + 1 + 1 + int|0s + + + 1 + 2 + timestamp|0s + + + 3 + varchar(50)|0s + + + 4 + text|0s + + + 5 + tinyint(1)|0s + + + DormitoryID + DormitoryID + dormitories + + + DormitoryID +RepairTime + btree + 1 + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + root@localhost + U + 221 + + + 1 + 1 + int|0s + + + 2 + varchar(50)|0s + + + 3 + text|0s + + + 1 + 4 + timestamp|0s + + + DormitoryID + DormitoryID + dormitories + + + DormitoryID +InspectionTime + btree + 1 + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + 1 + `Gender` in (_utf8mb4\'M\',_utf8mb4\'F\') + + + 1 + 1 + int|0s + + + 1 + 2 + varchar(50)|0s + + + 3 + char(1)|0s + + + 4 + int|0s + + + 5 + int|0s + + + ClassID + ClassID + classes + + + DormitoryID + DormitoryID + dormitories + + + StudentID + btree + 1 + + + ClassID + btree + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + root@localhost + I + 134 + + + 1 + 1 + int|0s + + + 1 + 2 + timestamp|0s + + + 3 + timestamp|0s + + + 4 + tinyint(1)|0s + + + DormitoryID + DormitoryID + dormitories + + + DormitoryID +DeliveryTime + btree + 1 + + + DormitoryID + btree + + + 1 + 1 + PRIMARY + + + 1 + 1 + int|0s + + + 1 + 2 + timestamp|0s + + + 3 + varchar(50)|0s + + + 4 + text|0s + + + 5 + tinyint(1)|0s + + + 1 + 1 + int|0s + + + 1 + 2 + timestamp|0s + + + 3 + timestamp|0s + + + 4 + tinyint(1)|0s + + + 1 + 1 + int|0s + + + 1 + 2 + varchar(50)|0s + + + 3 + char(1)|0s + + + 4 + int|0s + + + 5 + int|0s + + + 1 + 1 + int|0s + + + 1 + 2 + varchar(50)|0s + + + 1 + 3 + int|0s + + + 4 + int|0s + + + 5 + tinyint(1)|0s + + + 1 + 1 + int|0s + + + 1 + 2 + varchar(50)|0s + + + 3 + char(1)|0s + + + 4 + varchar(50)|0s + + + 5 + varchar(15)|0s + + + '' + 1 + 1 + varchar(292)|0s + + + '' + 1 + 2 + varchar(512)|0s + + + '' + 1 + 3 + varchar(64)|0s + + + '' + 1 + 4 + varchar(64)|0s + + + '' + 1 + 5 + varchar(64)|0s + + + '' + 1 + 6 + varchar(64)|0s + + + '' + 1 + 7 + varchar(3)|0s + + + '' + 1 + 1 + varchar(64)|0s + + + '' + 1 + 2 + varchar(8)|0s + + + '' + 1 + 3 + varchar(80)|0s + + + '' + 4 + varchar(3)|0s + + + '' + 5 + varchar(3)|0s + + + '' + 6 + varchar(3)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 5 + varchar(64)|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 7 + bigint unsigned|0s + + + '' + 8 + varchar(3)|0s + + + '' + 1 + 9 + bigint unsigned|0s + + + '' + 1 + 10 + bigint unsigned|0s + + + '' + 1 + 11 + bigint unsigned|0s + + + '' + 12 + varchar(1024)|0s + + + '' + 13 + varchar(1024)|0s + + + '' + 1 + 14 + bigint unsigned|0s + + + '' + 1 + 15 + bigint unsigned|0s + + + '' + 1 + 16 + bigint unsigned|0s + + + '' + 17 + varchar(64)|0s + + + '' + 18 + varchar(64)|0s + + + '' + 19 + varchar(3)|0s + + + '' + 1 + 20 + bigint unsigned|0s + + + '' + 21 + varchar(3)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 5 + varchar(64)|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 7 + bigint unsigned|0s + + + '' + 8 + varchar(3)|0s + + + '' + 1 + 9 + bigint unsigned|0s + + + '' + 1 + 10 + bigint unsigned|0s + + + '' + 1 + 11 + bigint unsigned|0s + + + '' + 12 + varchar(1024)|0s + + + '' + 13 + varchar(1024)|0s + + + '' + 1 + 14 + bigint unsigned|0s + + + '' + 1 + 15 + bigint unsigned|0s + + + '' + 1 + 16 + bigint unsigned|0s + + + '' + 17 + varchar(3)|0s + + + '' + 18 + varchar(64)|0s + + + '' + 19 + varchar(3)|0s + + + '' + 1 + 20 + bigint unsigned|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 1 + 5 + bigint unsigned|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 7 + bigint unsigned|0s + + + '' + 1 + 8 + bigint unsigned|0s + + + '' + 1 + 9 + bigint unsigned|0s + + + '' + 1 + 10 + bigint unsigned|0s + + + '' + 1 + 11 + bigint unsigned|0s + + + '' + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + float(12)|0s + + + 1 + 14 + float(12)|0s + + + '' + 1 + 15 + bigint unsigned|0s + + + '' + 1 + 16 + bigint unsigned|0s + + + '' + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + float(12)|0s + + + 1 + 19 + float(12)|0s + + + 1 + 20 + float(12)|0s + + + '' + 1 + 21 + bigint unsigned|0s + + + '' + 1 + 22 + bigint unsigned|0s + + + '' + 1 + 23 + bigint unsigned|0s + + + '' + 1 + 24 + bigint unsigned|0s + + + '' + 1 + 25 + bigint unsigned|0s + + + '' + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + float(12)|0s + + + 1 + 28 + float(12)|0s + + + '' + 1 + 29 + bigint unsigned|0s + + + '' + 1 + 30 + bigint unsigned|0s + + + '' + 1 + 31 + bigint unsigned|0s + + + '' + 1 + 32 + bigint unsigned|0s + + + '' + 1 + 1 + int unsigned|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + 1 + 3 + int|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + 1 + 3 + int|0s + + + 1 + 4 + int|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + int|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + 1 + 3 + int|0s + + + 1 + 4 + int|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + int|0s + + + '' + 1 + 1 + varchar(192)|0s + + + '' + 1 + 2 + varchar(192)|0s + + + '' + 1 + 3 + varchar(192)|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 7 + int|0s + + + 1 + 8 + int|0s + + + '' + 1 + 1 + varchar(192)|0s + + + '' + 1 + 2 + varchar(192)|0s + + + '' + 1 + 3 + varchar(192)|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 7 + int|0s + + + 1 + 8 + int|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + 1 + 3 + int|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(193)|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 7 + int|0s + + + '' + 8 + text|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 1 + varchar(193)|0s + + + '' + 1 + 2 + varchar(193)|0s + + + '' + 1 + 1 + varchar(18)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 1 + varchar(337)|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 1 + 5 + bigint unsigned|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 1 + varchar(337)|0s + + + '' + 1 + 2 + bigint unsigned|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 1 + 5 + bigint unsigned|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(193)|0s + + + '' + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + int|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 7 + int|0s + + + 1 + 8 + int|0s + + + '' + 1 + 1 + varchar(193)|0s + + + '' + 1 + 2 + varchar(193)|0s + + + 1 + 3 + bigint|0s + + + 4 + bigint|0s + + + 5 + bigint|0s + + + 6 + float(12)|0s + + + 1 + 7 + bigint|0s + + + 8 + bigint|0s + + + 9 + bigint|0s + + + 10 + float(12)|0s + + + '' + 11 + datetime|0s + + + '' + 12 + datetime|0s + + + 13 + bigint|0s + + + '' + 14 + datetime|0s + + + '' + 1 + 15 + varchar(193)|0s + + + '' + 1 + 16 + varchar(193)|0s + + + '' + 1 + 17 + varchar(193)|0s + + + '' + 1 + 1 + int unsigned|0s + + + '' + 1 + 2 + int unsigned|0s + + + '' + 1 + 3 + varchar(4001)|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 1 + 5 + varchar(192)|0s + + + '' + 1 + 6 + varchar(192)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(655)|0s + + + 1 + 3 + int|0s + + + 1 + 4 + int|0s + + + 1 + 5 + bigint|0s + + + '' + 6 + varchar(12)|0s + + + '' + 1 + 7 + int unsigned|0s + + + '' + 8 + varchar(10)|0s + + + 1 + 9 + int|0s + + + 1 + 10 + int|0s + + + '' + 1 + 1 + int unsigned|0s + + + '' + 1 + 2 + varchar(655)|0s + + + '' + 1 + 3 + int unsigned|0s + + + '' + 4 + varchar(22)|0s + + + '' + 1 + 5 + int unsigned|0s + + + '' + 1 + 6 + int unsigned|0s + + + '' + 7 + varchar(10)|0s + + + '' + 1 + 8 + int unsigned|0s + + + '' + 1 + 9 + bigint unsigned|0s + + + '' + 1 + 10 + bigint unsigned|0s + + + '' + 1 + 11 + bigint unsigned|0s + + + '' + 12 + varchar(10)|0s + + + '' + 1 + 13 + int unsigned|0s + + + '' + 14 + varchar(1)|0s + + + '' + 15 + varchar(10)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(193)|0s + + + '' + 1 + 3 + varchar(193)|0s + + + '' + 1 + 4 + bigint unsigned|0s + + + '' + 1 + 5 + bigint unsigned|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 7 + bigint unsigned|0s + + + '' + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + int|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 2 + varchar(64)|0s + + + '' + 1 + 3 + int unsigned|0s + + + '' + 1 + 4 + int unsigned|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(13)|0s + + + '' + 1 + 3 + datetime|0s + + + '' + 4 + varchar(126)|0s + + + '' + 5 + datetime|0s + + + '' + 1 + 6 + bigint unsigned|0s + + + '' + 1 + 7 + bigint unsigned|0s + + + '' + 8 + varchar(1024)|0s + + + '' + 9 + varchar(64)|0s + + + '' + 1 + 10 + bigint unsigned|0s + + + '' + 1 + 11 + bigint unsigned|0s + + + '' + 1 + 12 + bigint unsigned|0s + + + '' + 1 + 13 + bigint unsigned|0s + + + '' + 1 + 14 + bigint unsigned|0s + + + '' + 1 + 15 + bigint unsigned|0s + + + '' + 1 + 16 + bigint unsigned|0s + + + '' + 1 + 17 + varchar(16)|0s + + + 1 + 18 + int|0s + + + 1 + 19 + int|0s + + + '' + 20 + varchar(256)|0s + + + 1 + 21 + int|0s + + + '' + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + int|0s + + + 1 + 24 + int|0s + + + '' + 25 + bigint unsigned|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + int unsigned|0s + + + '' + 1 + 3 + int unsigned|0s + + + '' + 1 + 1 + varchar(65535)|0s + + + '' + 1 + 2 + varchar(65535)|0s + + + 1 + 3 + int|0s + + + 1 + 4 + tinyint(1)|0s + + + '' + 1 + 1 + varchar(64)|0s + + + '' + 1 + 2 + varchar(20)|0s + + + '' + 1 + 3 + varchar(10)|0s + + + '' + 1 + 4 + varchar(80)|0s + + + '' + 1 + 5 + varchar(20)|0s + + + '' + 6 + varchar(64)|0s + + + '' + 7 + varchar(20)|0s + + + '' + 8 + varchar(64)|0s + + + '' + 9 + varchar(65535)|0s + + + '' + 10 + varchar(80)|0s + + + '' + 1 + 11 + varchar(64)|0s + + + '' + 1 + 1 + bigint unsigned|0s + + + '' + 1 + 2 + varchar(32)|0s + + + '' + 1 + 3 + varchar(261)|0s + + + '' + 4 + varchar(64)|0s + + + '' + 1 + 5 + varchar(16)|0s + + + 1 + 6 + int|0s + + + '' + 7 + varchar(64)|0s + + + '' + 8 + varchar(65535)|0s + + + 1 + 1 + int|0s + + + 1 + 2 + int|0s + + + '' + 1 + 3 + varchar(30)|0s + + + 1 + 4 + decimal(905)|0s + + + 5 + decimal(905)|0s + + + 6 + decimal(905)|0s + + + 7 + int|0s + + + 8 + int|0s + + + 9 + int|0s + + + 10 + int|0s + + + 11 + int|0s + + + 12 + int|0s + + + 13 + int|0s + + + 14 + int|0s + + + 15 + int|0s + + + '' + 16 + varchar(30)|0s + + + '' + 17 + varchar(20)|0s + + + 18 + int|0s + + + '' + 1 + 1 + varchar(292)|0s + + + '' + 1 + 2 + varchar(512)|0s + + + '' + 1 + 3 + varchar(64)|0s + + + '' + 1 + 4 + varchar(64)|0s + + + '' + 1 + 5 + varchar(3)|0s + + + '' + 1 + 1 + varchar(292)|0s + + + '' + 1 + 2 + varchar(512)|0s + + + '' + 1 + 3 + varchar(64)|0s + + + '' + 1 + 4 + varchar(64)|0s + + + '' + 1 + 5 + varchar(64)|0s + + + '' + 1 + 6 + varchar(3)|0s + + + '' + 1 + 1 + varchar(292)|0s + + + '' + 1 + 2 + varchar(512)|0s + + + '' + 1 + 3 + varchar(64)|0s + + + '' + 1 + 4 + varchar(3)|0s + + + 1 + varchar(97)|0s + + + 2 + varchar(256)|0s + + + 3 + varchar(97)|0s + + + 4 + varchar(256)|0s + + + 5 + varchar(255)|0s + + + 6 + varchar(256)|0s + + + 1 + 7 + varchar(3)|0s + + + 8 + varchar(3)|0s + + + 1 + 9 + varchar(3)|0s + + + 1 + varchar(97)|0s + + + 2 + varchar(256)|0s + + + 3 + varchar(97)|0s + + + 4 + varchar(256)|0s + + + 5 + varchar(255)|0s + + + 6 + varchar(256)|0s + + + 1 + 7 + varchar(3)|0s + + + 8 + varchar(3)|0s + + + 1 + 9 + varchar(3)|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(2048)|0s + + + 1 + 4 + int unsigned|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + longtext|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(3)|0s + + + 1 + 5 + varchar(3)|0s + + + 1 + 6 + int unsigned|0s + + + 1 + 7 + enum('PAD SPACE', 'NO PAD')|0e + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 1 + 5 + int unsigned|0s + + + 6 + text|0s + + + 1 + 7 + varchar(3)|0s + + + 8 + longtext|0s + + + 9 + bigint|0s + + + 10 + bigint|0s + + + 11 + bigint unsigned|0s + + + 12 + bigint unsigned|0s + + + 13 + int unsigned|0s + + + 14 + varchar(64)|0s + + + 15 + varchar(64)|0s + + + 1 + 16 + mediumtext|0s + + + 1 + 17 + enum('', 'PRI', 'UNI', 'MUL')|0e + + + 18 + varchar(256)|0s + + + 19 + varchar(154)|0s + + + 1 + 20 + text|0s + + + 1 + 21 + longtext|0s + + + 22 + int unsigned|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + json|0s + + + 6 + json|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + json|0s + + + 1 + varchar(255)|0s + + + 2 + varchar(255)|0s + + + 3 + varchar(3)|0s + + + 1 + 4 + varchar(3)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + varchar(288)|0s + + + 1 + 5 + varchar(64)|0s + + + 1 + 6 + varchar(3)|0s + + + 1 + 7 + longtext|0s + + + 1 + 8 + varchar(9)|0s + + + 9 + datetime|0s + + + 10 + varchar(256)|0s + + + 11 + enum('YEAR', 'QUARTER', 'MONTH', 'DAY', 'HOUR', 'MINUTE', 'WEEK', 'SECOND', 'MICROSECOND', 'YEAR_MONTH', 'DAY_HOUR', 'DAY_MINUTE', 'DAY_SECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'MINUTE_SECOND', 'DAY_MICROSECOND', 'HOUR_MICROSECOND', 'MINUTE_MICROSECOND', 'SECOND_MICROSECOND')|0e + + + 1 + 12 + set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'NOT_USED_9', 'NOT_USED_10', 'NOT_USED_11', 'NOT_USED_12', 'NOT_USED_13', 'NOT_USED_14', 'NOT_USED_15', 'NOT_USED_16', 'NOT_USED_17', 'NOT_USED_18', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ALLOW_INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NOT_USED_29', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH', 'TIME_TRUNCATE_FRACTIONAL')|0e + + + 13 + datetime|0s + + + 14 + datetime|0s + + + 1 + 15 + varchar(21)|0s + + + 1 + 16 + varchar(12)|0s + + + 1 + 17 + timestamp|0s + + + 1 + 18 + timestamp|0s + + + 19 + datetime|0s + + + 1 + 20 + varchar(2048)|0s + + + 1 + 21 + int unsigned|0s + + + 1 + 22 + varchar(64)|0s + + + 1 + 23 + varchar(64)|0s + + + 1 + 24 + varchar(64)|0s + + + 1 + bigint|0s + + + 2 + text|0s + + + 3 + varchar(256)|0s + + + 1 + 4 + varchar(268)|0s + + + 1 + 5 + varchar(0)|0s + + + 6 + varbinary(0)|0s + + + 7 + varbinary(0)|0s + + + 8 + varchar(256)|0s + + + 9 + bigint|0s + + + 1 + 10 + varchar(64)|0s + + + 11 + varbinary(0)|0s + + + 12 + varbinary(0)|0s + + + 13 + varbinary(0)|0s + + + 14 + bigint|0s + + + 15 + bigint|0s + + + 16 + bigint|0s + + + 17 + bigint|0s + + + 18 + bigint|0s + + + 19 + bigint|0s + + + 20 + varbinary(0)|0s + + + 21 + varbinary(0)|0s + + + 22 + varbinary(0)|0s + + + 23 + varbinary(0)|0s + + + 24 + varbinary(0)|0s + + + 25 + bigint|0s + + + 26 + varchar(256)|0s + + + 27 + varbinary(0)|0s + + + 28 + varbinary(0)|0s + + + 29 + varbinary(0)|0s + + + 30 + varbinary(0)|0s + + + 31 + varbinary(0)|0s + + + 32 + bigint|0s + + + 33 + varbinary(0)|0s + + + 34 + varbinary(0)|0s + + + 35 + varbinary(0)|0s + + + 36 + varbinary(0)|0s + + + 37 + varchar(256)|0s + + + 38 + varchar(256)|0s + + + 1 + varbinary(256)|0s + + + 1 + 2 + varchar(512)|0s + + + 1 + varbinary(256)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + varchar(129)|0s + + + 2 + varchar(129)|0s + + + 3 + varchar(129)|0s + + + 1 + 4 + bigint|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + varchar(129)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + int unsigned|0s + + + 1 + varbinary(256)|0s + + + 1 + 2 + varchar(268)|0s + + + 1 + 3 + varchar(512)|0s + + + 4 + varbinary(256)|0s + + + 1 + 5 + varchar(7)|0s + + + 1 + varchar(128)|0s + + + 2 + int|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 7 + varchar(64)|0s + + + 1 + 8 + int unsigned|0s + + + 9 + int unsigned|0s + + + 10 + varchar(64)|0s + + + 11 + varchar(64)|0s + + + 12 + varchar(64)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 5 + varchar(5)|0s + + + 6 + varchar(64)|0s + + + 7 + longtext|0s + + + 8 + bigint|0s + + + 9 + bigint|0s + + + 10 + int unsigned|0s + + + 11 + bigint|0s + + + 12 + int unsigned|0s + + + 13 + varchar(64)|0s + + + 14 + varchar(64)|0s + + + 1 + 15 + mediumtext|0s + + + 1 + 16 + enum('FUNCTION', 'PROCEDURE')|0e + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 6 + int unsigned|0s + + + 7 + int unsigned|0s + + + 8 + varchar(1)|0s + + + 9 + varchar(13)|0s + + + 10 + varchar(13)|0s + + + 11 + varchar(2048)|0s + + + 12 + varchar(2048)|0s + + + 13 + text|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + bigint unsigned|0s + + + 17 + bigint unsigned|0s + + + 18 + bigint unsigned|0s + + + 19 + bigint unsigned|0s + + + 1 + 20 + timestamp|0s + + + 21 + datetime|0s + + + 22 + datetime|0s + + + 23 + bigint|0s + + + 1 + 24 + text|0s + + + 25 + varchar(256)|0s + + + 26 + varchar(268)|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + varchar(64)|0s + + + 1 + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 1 + 7 + enum('NONE', 'PARTIAL', 'FULL')|0e + + + 1 + 8 + enum('NO ACTION', 'RESTRICT', 'CASCADE', 'SET NULL', 'SET DEFAULT')|0e + + + 1 + 9 + enum('NO ACTION', 'RESTRICT', 'CASCADE', 'SET NULL', 'SET DEFAULT')|0e + + + 1 + 10 + varchar(64)|0s + + + 1 + 11 + varchar(64)|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + enum('SYSTEM', 'USER')|0e + + + 1 + 3 + tinyint(1)|0s + + + 4 + blob|0s + + + 1 + 5 + int|0s + + + 1 + varchar(97)|0s + + + 2 + varchar(256)|0s + + + 1 + 3 + char(32)|0s + + + 1 + 4 + char(255)|0s + + + 1 + 5 + varchar(3)|0s + + + 1 + 6 + char(64)|0s + + + 1 + 7 + char(64)|0s + + + 1 + 8 + char(64)|0s + + + 1 + 9 + set('Select', 'Insert', 'Update', 'References')|0e + + + 1 + 10 + varchar(3)|0s + + + 1 + varchar(97)|0s + + + 2 + varchar(256)|0s + + + 1 + 3 + char(32)|0s + + + 1 + 4 + char(255)|0s + + + 1 + 5 + varchar(3)|0s + + + 1 + 6 + char(64)|0s + + + 1 + 7 + char(64)|0s + + + 1 + 8 + varchar(3)|0s + + + 1 + 9 + char(64)|0s + + + 1 + 10 + char(64)|0s + + + 1 + 11 + set('Execute', 'Alter Routine', 'Grant')|0e + + + 1 + 12 + varchar(3)|0s + + + 1 + varchar(97)|0s + + + 2 + varchar(256)|0s + + + 1 + 3 + char(32)|0s + + + 1 + 4 + char(255)|0s + + + 1 + 5 + varchar(3)|0s + + + 1 + 6 + char(64)|0s + + + 1 + 7 + char(64)|0s + + + 1 + 8 + set('Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter', 'Create View', 'Show view', 'Trigger')|0e + + + 1 + 9 + varchar(3)|0s + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + varchar(64)|0s + + + 1 + 5 + enum('FUNCTION', 'PROCEDURE')|0e + + + 6 + longtext|0s + + + 7 + bigint|0s + + + 8 + bigint|0s + + + 9 + int unsigned|0s + + + 10 + int unsigned|0s + + + 11 + int unsigned|0s + + + 12 + varchar(64)|0s + + + 13 + varchar(64)|0s + + + 14 + longtext|0s + + + 1 + 15 + varchar(8)|0s + + + 16 + longtext|0s + + + 17 + varbinary(0)|0s + + + 1 + 18 + varchar(64)|0s + + + 1 + 19 + varchar(3)|0s + + + 1 + 20 + varchar(3)|0s + + + 1 + 21 + enum('CONTAINS SQL', 'NO SQL', 'READS SQL DATA', 'MODIFIES SQL DATA')|0e + + + 22 + varbinary(0)|0s + + + 1 + 23 + enum('DEFAULT', 'INVOKER', 'DEFINER')|0e + + + 1 + 24 + timestamp|0s + + + 1 + 25 + timestamp|0s + + + 1 + 26 + set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'NOT_USED_9', 'NOT_USED_10', 'NOT_USED_11', 'NOT_USED_12', 'NOT_USED_13', 'NOT_USED_14', 'NOT_USED_15', 'NOT_USED_16', 'NOT_USED_17', 'NOT_USED_18', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ALLOW_INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NOT_USED_29', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH', 'TIME_TRUNCATE_FRACTIONAL')|0e + + + 1 + 27 + text|0s + + + 1 + 28 + varchar(288)|0s + + + 1 + 29 + varchar(64)|0s + + + 1 + 30 + varchar(64)|0s + + + 1 + 31 + varchar(64)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + varchar(64)|0s + + + 5 + varbinary(0)|0s + + + 1 + 6 + enum('NO', 'YES')|0e + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(256)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + int|0s + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 1 + 7 + int unsigned|0s + + + 8 + varchar(64)|0s + + + 9 + varchar(1)|0s + + + 10 + bigint|0s + + + 11 + bigint|0s + + + 12 + varbinary(0)|0s + + + 1 + 13 + varchar(3)|0s + + + 1 + 14 + varchar(11)|0s + + + 1 + 15 + varchar(8)|0s + + + 1 + 16 + varchar(2048)|0s + + + 1 + 17 + varchar(3)|0s + + + 18 + longtext|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(80)|0s + + + 6 + int unsigned|0s + + + 7 + longtext|0s + + + 1 + 1 + varchar(80)|0s + + + 1 + 2 + int unsigned|0s + + + 3 + varchar(256)|0s + + + 4 + int unsigned|0s + + + 1 + 5 + varchar(4096)|0s + + + 6 + varchar(2048)|0s + + + 1 + varchar(255)|0s + + + 2 + varchar(7)|0s + + + 3 + double|0s + + + 4 + varchar(255)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + enum('BASE TABLE', 'VIEW', 'SYSTEM VIEW')|0e + + + 5 + varchar(64)|0s + + + 6 + int|0s + + + 7 + enum('Fixed', 'Dynamic', 'Compressed', 'Redundant', 'Compact', 'Paged')|0e + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 12 + bigint unsigned|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 1 + 15 + timestamp|0s + + + 16 + datetime|0s + + + 17 + datetime|0s + + + 18 + varchar(64)|0s + + + 19 + bigint|0s + + + 20 + varchar(256)|0s + + + 21 + text|0s + + + 1 + 1 + varchar(268)|0s + + + 2 + json|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 4 + json|0s + + + 5 + json|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 1 + 6 + varchar(11)|0s + + + 1 + 7 + varchar(3)|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + varchar(64)|0s + + + 5 + json|0s + + + 6 + json|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + enum('INSERT', 'UPDATE', 'DELETE')|0e + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 7 + varchar(64)|0s + + + 1 + 8 + int unsigned|0s + + + 9 + varbinary(0)|0s + + + 1 + 10 + longtext|0s + + + 1 + 11 + varchar(3)|0s + + + 1 + 12 + enum('BEFORE', 'AFTER')|0e + + + 13 + varbinary(0)|0s + + + 14 + varbinary(0)|0s + + + 1 + 15 + varchar(3)|0s + + + 1 + 16 + varchar(3)|0s + + + 1 + 17 + timestamp(2)|0s + + + 1 + 18 + set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'NOT_USED_9', 'NOT_USED_10', 'NOT_USED_11', 'NOT_USED_12', 'NOT_USED_13', 'NOT_USED_14', 'NOT_USED_15', 'NOT_USED_16', 'NOT_USED_17', 'NOT_USED_18', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ALLOW_INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NOT_USED_29', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH', 'TIME_TRUNCATE_FRACTIONAL')|0e + + + 1 + 19 + varchar(288)|0s + + + 1 + 20 + varchar(64)|0s + + + 1 + 21 + varchar(64)|0s + + + 1 + 22 + varchar(64)|0s + + + 1 + 1 + char(32)|0s + + + 1 + 2 + char(255)|0s + + + 3 + longtext|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + longtext|0s + + + 5 + enum('NONE', 'LOCAL', 'CASCADED')|0e + + + 6 + enum('NO', 'YES')|0e + + + 7 + varchar(288)|0s + + + 8 + varchar(7)|0s + + + 1 + 9 + varchar(64)|0s + + + 1 + 10 + varchar(64)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 1 + 6 + varchar(64)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(64)|0s + + + '' + 1 + 3 + char(32)|0s + + + '' + 1 + 4 + char(64)|0s + + + '' + 1 + 5 + char(64)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 6 + timestamp|0s + + + '' + 1 + 7 + set('Select', 'Insert', 'Update', 'References')|0e + utf8mb3_general_ci + + + Host +User +Db +Table_name +Column_name + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + 1 + int unsigned|0s + + + 1 + 2 + int unsigned|0s + + + 1 + 3 + text|0s + + + component_id + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(64)|0s + + + '' + 1 + 3 + char(32)|0s + + + 'N' + 1 + 4 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 5 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 6 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 7 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 8 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 9 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 10 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 11 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 12 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 13 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 14 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 15 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 16 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 17 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 18 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 19 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 20 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 21 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 22 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + Host +User +Db + btree + 1 + + + User + btree + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(32)|0s + + + '%' + 1 + 3 + char(255)|0s + ascii_general_ci + + + '' + 1 + 4 + char(32)|0s + + + HOST +USER +DEFAULT_ROLE_HOST +DEFAULT_ROLE_USER + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + int|0s + + + 1 + 3 + varchar(64)|0s + + + 4 + float|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 5 + timestamp|0s + + + 6 + varchar(1024)|0s + + + generated-virtual + (case `cost_name` when _utf8mb4'io_block_read_cost' then 1.0 when _utf8mb4'memory_block_read_cost' then 0.25 else NULL end) + 7 + float|0s + + + cost_name +engine_name +device_type + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(64)|0s + + + 0 + 1 + 2 + tinyint|0s + + + '' + 1 + 3 + char(128)|0s + + + 1 + 4 + enum('function', 'aggregate')|0e + utf8mb3_general_ci + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + CURRENT_TIMESTAMP(6) + 1 + CURRENT_TIMESTAMP(6) + 1 + timestamp(6)|0s + + + 1 + 2 + mediumtext|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + int unsigned|0s + + + 1 + 5 + varchar(64)|0s + + + 1 + 6 + mediumblob|0s + + + '' + 1 + 1 + char(32)|0s + + + '' + 1 + 2 + char(255)|0s + ascii_general_ci + + + '' + 1 + 3 + char(32)|0s + utf8mb3_general_ci + + + 'N' + 1 + 4 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + USER +HOST +PRIV + btree + 1 + + + 1 + 1 + PRIMARY + + + uuid of the source where the transaction was originally executed. + 1 + 1 + char(36)|0s + + + First number of interval. + 1 + 2 + bigint|0s + + + Last number of interval. + 1 + 3 + bigint|0s + + + GTID Tag. + 1 + 4 + char(32)|0s + + + source_uuid +gtid_tag +interval_start + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + char(64)|0s + + + 3 + smallint unsigned|0s + + + 1 + 4 + text|0s + + + help_category_id + btree + 1 + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + name + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + char(64)|0s + + + help_keyword_id + btree + 1 + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + name + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + int unsigned|0s + + + help_keyword_id +help_topic_id + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + char(64)|0s + + + 1 + 3 + smallint unsigned|0s + + + 1 + 4 + text|0s + + + 1 + 5 + text|0s + + + 1 + 6 + text|0s + + + help_topic_id + btree + 1 + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + name + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(199)|0s + + + 1 + 3 + varchar(64)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 4 + timestamp|0s + + + 1 + 5 + varchar(64)|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 1 + 8 + varchar(1024)|0s + + + database_name +table_name +index_name +stat_name + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(199)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + database_name +table_name + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(255)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + int unsigned|0s + + + 1 + 5 + int unsigned|0s + + + 1 + 6 + int unsigned|0s + + + 1 + 7 + int unsigned|0s + + + 1 + 8 + int unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + int unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + varchar(255)|0s + + + epoch +orig_server_id +orig_epoch + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(32)|0s + + + CURRENT_TIMESTAMP(6) + 1 + 3 + timestamp(6)|0s + + + 4 + text|0s + + + Host +User +Password_timestamp + Password_timestamp + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + varchar(64)|0s + + + '' + 1 + 2 + varchar(128)|0s + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(64)|0s + + + '' + 1 + 3 + char(32)|0s + + + '' + 1 + 4 + char(64)|0s + utf8mb3_general_ci + + + 1 + 5 + enum('FUNCTION', 'PROCEDURE')|0e + + + '' + 1 + 6 + varchar(288)|0s + + + '' + 1 + 7 + set('Execute', 'Alter Routine', 'Grant')|0e + utf8mb3_general_ci + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 8 + timestamp|0s + + + Host +User +Db +Routine_name +Routine_type + btree + 1 + + + Grantor + btree + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(32)|0s + + + '' + 1 + 3 + char(255)|0s + ascii_general_ci + + + '' + 1 + 4 + char(32)|0s + + + 0 + 1 + 5 + tinyint(1)|0s + + + '' + 1 + 6 + varchar(288)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 7 + timestamp|0s + + + Host +User +Proxied_host +Proxied_user + btree + 1 + + + Grantor + btree + + + 1 + 1 + PRIMARY + + + The replication channel name that connects source and replica. + 1 + 1 + char(64)|0s + + + The source hostname that the replica will attempt to switch over the replication connection to in case of a failure. + 1 + 2 + char(255)|0s + ascii_general_ci + + + The source port that the replica will attempt to switch over the replication connection to in case of a failure. + 1 + 3 + int unsigned|0s + + + The source network namespace that the replica will attempt to switch over the replication connection to in case of a failure. If its value is empty, connections use the default (global) namespace. + 1 + 4 + char(64)|0s + + + The order in which the replica shall try to switch the connection over to when there are failures. Weight can be set to a number between 1 and 100, where 100 is the highest weight and 1 the lowest. + 1 + 5 + tinyint unsigned|0s + + + The name of the group which this server belongs to. + '' + 1 + 6 + char(64)|0s + + + Channel_name +Host +Port +Network_namespace +Managed_name + btree + 1 + + + Channel_name +Managed_name + btree + + + 1 + 1 + PRIMARY + + + The replication channel name that connects source and replica. + 1 + 1 + char(64)|0s + + + The name of the source which needs to be managed. + '' + 1 + 2 + char(64)|0s + + + Determines the managed type. + '' + 1 + 3 + char(64)|0s + + + The data to help manage group. For Managed_type = GroupReplication, Configuration value should contain {"Primary_weight": 80, "Secondary_weight": 60}, so that it assigns weight=80 to PRIMARY of the group, and weight=60 for rest of the members in mysql.replication_asynchronous_connection_failover table. + 4 + json|0s + + + Channel_name +Managed_name + btree + 1 + + + 1 + 1 + PRIMARY + + + The configuration name. + 1 + 1 + char(255)|0s + ascii_general_ci + + + The version of the configuration name. + 1 + 2 + bigint unsigned|0s + + + name + btree + 1 + + + 1 + 1 + PRIMARY + + + The action name. + 1 + 1 + char(255)|0s + ascii_general_ci + + + The event that will trigger the action. + 1 + 2 + char(64)|0s + ascii_general_ci + + + Whether the action is enabled. + 1 + 3 + tinyint(1)|0s + + + The action type. + 1 + 4 + char(64)|0s + ascii_general_ci + + + The order on which the action will be run, value between 1 and 100, lower values first. + 1 + 5 + tinyint unsigned|0s + + + On errors during the action will be handled: IGNORE, CRITICAL. + 1 + 6 + char(64)|0s + ascii_general_ci + + + name +event + btree + 1 + + + event + btree + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(32)|0s + + + '' + 1 + 3 + char(255)|0s + ascii_general_ci + + + '' + 1 + 4 + char(32)|0s + + + 'N' + 1 + 5 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + FROM_HOST +FROM_USER +TO_HOST +TO_USER + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + float|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + 4 + varchar(1024)|0s + + + generated-virtual + (case `cost_name` when _utf8mb4'disk_temptable_create_cost' then 20.0 when _utf8mb4'disk_temptable_row_cost' then 0.5 when _utf8mb4'key_compare_cost' then 0.05 when _utf8mb4'memory_temptable_create_cost' then 1.0 when _utf8mb4'memory_temptable_row_cost' then 0.1 when _utf8mb4'row_evaluate_cost' then 0.1 else NULL end) + 5 + float|0s + + + cost_name + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(64)|0s + + + '' + 1 + 2 + char(255)|0s + ascii_general_ci + + + '' + 1 + 3 + char(64)|0s + + + '' + 1 + 4 + char(64)|0s + + + '' + 1 + 5 + char(64)|0s + + + 0 + 1 + 6 + int|0s + + + '' + 1 + 7 + char(64)|0s + + + '' + 1 + 8 + char(64)|0s + + + '' + 1 + 9 + char(64)|0s + + + Server_name + btree + 1 + + + 1 + 1 + PRIMARY + + + Number of lines in the file. + 1 + 1 + int unsigned|0s + + + The name of the master binary log currently being read from the master. + 1 + 2 + text|0s + utf8mb3_bin + + + The master log position of the last read event. + 1 + 3 + bigint unsigned|0s + + + The host name of the source. + 4 + varchar(255)|0s + ascii_general_ci + + + The user name used to connect to the master. + 5 + text|0s + utf8mb3_bin + + + The password used to connect to the master. + 6 + text|0s + utf8mb3_bin + + + The network port used to connect to the master. + 1 + 7 + int unsigned|0s + + + The period (in seconds) that the slave will wait before trying to reconnect to the master. + 1 + 8 + int unsigned|0s + + + Indicates whether the server supports SSL connections. + 1 + 9 + tinyint(1)|0s + + + The file used for the Certificate Authority (CA) certificate. + 10 + text|0s + utf8mb3_bin + + + The path to the Certificate Authority (CA) certificates. + 11 + text|0s + utf8mb3_bin + + + The name of the SSL certificate file. + 12 + text|0s + utf8mb3_bin + + + The name of the cipher in use for the SSL connection. + 13 + text|0s + utf8mb3_bin + + + The name of the SSL key file. + 14 + text|0s + utf8mb3_bin + + + Whether to verify the server certificate. + 1 + 15 + tinyint(1)|0s + + + 1 + 16 + float|0s + + + Displays which interface is employed when connecting to the MySQL server + 17 + text|0s + utf8mb3_bin + + + The number of server IDs to be ignored, followed by the actual server IDs + 18 + text|0s + utf8mb3_bin + + + The master server uuid. + 19 + text|0s + utf8mb3_bin + + + Number of reconnect attempts, to the master, before giving up. + 1 + 20 + bigint unsigned|0s + + + The file used for the Certificate Revocation List (CRL) + 21 + text|0s + utf8mb3_bin + + + The path used for Certificate Revocation List (CRL) files + 22 + text|0s + utf8mb3_bin + + + Indicates whether GTIDs will be used to retrieve events from the master. + 1 + 23 + tinyint(1)|0s + + + The channel on which the replica is connected to a source. Used in Multisource Replication + 1 + 24 + varchar(64)|0s + + + Tls version + 25 + text|0s + utf8mb3_bin + + + The file containing public key of master server. + 26 + text|0s + utf8mb3_bin + + + Preference to get public key from master. + 1 + 27 + tinyint(1)|0s + + + Network namespace used for communication with the master server. + 28 + text|0s + utf8mb3_bin + + + Compression algorithm supported for data transfer between source and replica. + 1 + 29 + varchar(64)|0s + utf8mb3_bin + + + Compression level associated with zstd compression algorithm. + 1 + 30 + int unsigned|0s + + + Ciphersuites used for TLS 1.3 communication with the master server. + 31 + text|0s + utf8mb3_bin + + + Indicates whether the channel connection failover is enabled. + 0 + 1 + 32 + tinyint(1)|0s + + + Indicates if this channel only uses GTIDs and does not persist positions. + 0 + 1 + 33 + tinyint(1)|0s + + + Channel_name + btree + 1 + + + 1 + 1 + PRIMARY + + + Number of lines in the file or rows in the table. Used to version table definitions. + 1 + 1 + int unsigned|0s + + + The name of the current relay log file. + 2 + text|0s + utf8mb3_bin + + + The relay log position of the last executed event. + 3 + bigint unsigned|0s + + + The name of the master binary log file from which the events in the relay log file were read. + 4 + text|0s + utf8mb3_bin + + + The master log position of the last executed event. + 5 + bigint unsigned|0s + + + The number of seconds that the slave must lag behind the master. + 6 + int|0s + + + 7 + int unsigned|0s + + + Internal Id that uniquely identifies this record. + 8 + int unsigned|0s + + + The channel on which the replica is connected to a source. Used in Multisource Replication + 1 + 9 + varchar(64)|0s + + + Username part of PRIVILEGE_CHECKS_USER. + 10 + varchar(32)|0s + utf8mb3_bin + + + Hostname part of PRIVILEGE_CHECKS_USER. + 11 + varchar(255)|0s + ascii_general_ci + + + Indicates whether the channel shall only accept row based events. + 1 + 12 + tinyint(1)|0s + + + Indicates what is the channel policy regarding tables without primary keys on create and alter table queries + 'STREAM' + 1 + 13 + enum('STREAM', 'ON', 'OFF', 'GENERATE')|0e + + + Indicates whether the channel will generate a new GTID for anonymous transactions. OFF means that anonymous transactions will remain anonymous. LOCAL means that anonymous transactions will be assigned a newly generated GTID based on server_uuid. UUID indicates that anonymous transactions will be assigned a newly generated GTID based on Assign_gtids_to_anonymous_transactions_value + 'OFF' + 1 + 14 + enum('OFF', 'LOCAL', 'UUID')|0e + + + Indicates the UUID used while generating GTIDs for anonymous transactions + 15 + text|0s + utf8mb3_bin + + + Channel_name + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + text|0s + utf8mb3_bin + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + text|0s + utf8mb3_bin + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + text|0s + utf8mb3_bin + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + text|0s + utf8mb3_bin + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + int unsigned|0s + + + 1 + 11 + int unsigned|0s + + + 1 + 12 + blob|0s + + + The channel on which the replica is connected to a source. Used in Multisource Replication + 1 + 13 + varchar(64)|0s + + + Channel_name +Id + btree + 1 + + + 1 + 1 + PRIMARY + + + CURRENT_TIMESTAMP(6) + 1 + CURRENT_TIMESTAMP(6) + 1 + timestamp(6)|0s + + + 1 + 2 + mediumtext|0s + + + 1 + 3 + time(6)|0s + + + 1 + 4 + time(6)|0s + + + 1 + 5 + int|0s + + + 1 + 6 + int|0s + + + 1 + 7 + varchar(512)|0s + + + 1 + 8 + int|0s + + + 1 + 9 + int|0s + + + 1 + 10 + int unsigned|0s + + + 1 + 11 + mediumblob|0s + + + 1 + 12 + bigint unsigned|0s + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(64)|0s + + + '' + 1 + 3 + char(32)|0s + + + '' + 1 + 4 + char(64)|0s + + + '' + 1 + 5 + varchar(288)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 6 + timestamp|0s + + + '' + 1 + 7 + set('Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter', 'Create View', 'Show view', 'Trigger')|0e + utf8mb3_general_ci + + + '' + 1 + 8 + set('Select', 'Insert', 'Update', 'References')|0e + utf8mb3_general_ci + + + Host +User +Db +Table_name + btree + 1 + + + Grantor + btree + + + 1 + 1 + PRIMARY + + + 1 + 1 + 1 + int unsigned|0s + + + 'N' + 1 + 2 + enum('Y', 'N')|0e + + + Time_zone_id + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint|0s + + + 1 + 2 + int|0s + + + Transition_time + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + int unsigned|0s + + + Name + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + bigint|0s + + + 1 + 3 + int unsigned|0s + + + Time_zone_id +Transition_time + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + int unsigned|0s + + + 0 + 1 + 3 + int|0s + + + '0' + 1 + 4 + tinyint unsigned|0s + + + '' + 1 + 5 + char(8)|0s + + + Time_zone_id +Transition_type_id + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '' + 1 + 2 + char(32)|0s + + + 'N' + 1 + 3 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 4 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 5 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 6 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 7 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 8 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 9 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 10 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 11 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 12 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 13 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 14 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 15 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 16 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 17 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 18 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 19 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 20 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 21 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 22 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 23 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 24 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 25 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 26 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 27 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 28 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 29 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 30 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 31 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + '' + 1 + 32 + enum('', 'ANY', 'X509', 'SPECIFIED')|0e + utf8mb3_general_ci + + + 1 + 33 + blob|0s + + + 1 + 34 + blob|0s + + + 1 + 35 + blob|0s + + + '0' + 1 + 36 + int unsigned|0s + + + '0' + 1 + 37 + int unsigned|0s + + + '0' + 1 + 38 + int unsigned|0s + + + '0' + 1 + 39 + int unsigned|0s + + + 'caching_sha2_password' + 1 + 40 + char(64)|0s + + + 41 + text|0s + + + 'N' + 1 + 42 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 43 + timestamp|0s + + + 44 + smallint unsigned|0s + + + 'N' + 1 + 45 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 46 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 'N' + 1 + 47 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 48 + smallint unsigned|0s + + + 49 + smallint unsigned|0s + + + 50 + enum('N', 'Y')|0e + utf8mb3_general_ci + + + 51 + json|0s + + + Host +User + btree + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + bigint|0s + + + 1 + 4 + bigint|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + USER +HOST + hash + 1 + + + ACCOUNT + + + The log type to which the transactions were written. + 1 + 1 + enum('BINARY', 'RELAY')|0e + + + The transaction compression algorithm used. + 1 + 2 + varchar(64)|0s + + + Number of transactions written to the log + 1 + 3 + bigint unsigned|0s + + + The total number of bytes compressed. + 1 + 4 + bigint unsigned|0s + + + The total number of bytes uncompressed. + 1 + 5 + bigint unsigned|0s + + + The compression ratio as a percentage. + 1 + 6 + smallint|0s + + + The first transaction written. + 7 + text|0s + + + First transaction written compressed bytes. + 1 + 8 + bigint unsigned|0s + + + First transaction written uncompressed bytes. + 1 + 9 + bigint unsigned|0s + + + When the first transaction was written. + 10 + timestamp(6)|0s + + + The last transaction written. + 11 + text|0s + + + Last transaction written compressed bytes. + 1 + 12 + bigint unsigned|0s + + + Last transaction written uncompressed bytes. + 1 + 13 + bigint unsigned|0s + + + When the last transaction was written. + 14 + timestamp(6)|0s + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 3 + bigint unsigned|0s + + + 4 + bigint unsigned|0s + + + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + varchar(128)|0s + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + REQUESTING_ENGINE_LOCK_ID +BLOCKING_ENGINE_LOCK_ID +ENGINE + hash + 1 + + + REQUESTING_ENGINE_LOCK_ID +ENGINE + hash + + + REQUESTING_ENGINE_TRANSACTION_ID +ENGINE + hash + + + REQUESTING_THREAD_ID +REQUESTING_EVENT_ID + hash + + + BLOCKING_ENGINE_LOCK_ID +ENGINE + hash + + + BLOCKING_ENGINE_TRANSACTION_ID +ENGINE + hash + + + BLOCKING_THREAD_ID +BLOCKING_EVENT_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 3 + bigint unsigned|0s + + + 4 + bigint unsigned|0s + + + 5 + bigint unsigned|0s + + + 6 + varchar(64)|0s + + + 7 + varchar(64)|0s + + + 8 + varchar(64)|0s + + + 9 + varchar(64)|0s + + + 10 + varchar(64)|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + varchar(32)|0s + + + 1 + 13 + varchar(32)|0s + + + 1 + 14 + varchar(32)|0s + + + 15 + varchar(8192)|0s + + + ENGINE_LOCK_ID +ENGINE + hash + 1 + + + ENGINE_TRANSACTION_ID +ENGINE + hash + + + THREAD_ID +EVENT_ID + hash + + + OBJECT_SCHEMA +OBJECT_NAME +PARTITION_NAME +SUBPARTITION_NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + timestamp(6)|0s + + + 2 + bigint unsigned|0s + + + 1 + 3 + enum('System', 'Error', 'Warning', 'Note')|0e + + + 4 + varchar(10)|0s + + + 5 + varchar(7)|0s + + + 1 + 6 + text|0s + + + LOGGED + hash + 1 + + + THREAD_ID + hash + + + PRIO + hash + + + ERROR_CODE + hash + + + SUBSYSTEM + hash + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 3 + int|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(5)|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 8 + timestamp|0s + + + 9 + timestamp|0s + + + USER +HOST +ERROR_NUMBER + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 2 + int|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(5)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + timestamp|0s + + + 8 + timestamp|0s + + + HOST +ERROR_NUMBER + hash + 1 + + + HOST + + + 1 + 1 + bigint unsigned|0s + + + 2 + int|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(5)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + timestamp|0s + + + 8 + timestamp|0s + + + THREAD_ID +ERROR_NUMBER + hash + 1 + + + THREAD_ID + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + int|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(5)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + timestamp|0s + + + 8 + timestamp|0s + + + USER +ERROR_NUMBER + hash + 1 + + + USER + + + 1 + int|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(5)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 6 + timestamp|0s + + + 7 + timestamp|0s + + + ERROR_NUMBER + hash + 1 + + + ERROR_NUMBER + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 12 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 12 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 12 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(128)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + USER +HOST +EVENT_NAME + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + HOST +EVENT_NAME + hash + 1 + + + HOST + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + THREAD_ID +EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + USER +EVENT_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + longtext|0s + + + 11 + varchar(64)|0s + + + 12 + longtext|0s + + + 13 + varchar(64)|0s + + + 14 + varchar(64)|0s + + + 15 + varchar(64)|0s + + + 16 + varchar(64)|0s + + + 17 + bigint unsigned|0s + + + 18 + int|0s + + + 19 + varchar(5)|0s + + + 20 + varchar(128)|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 39 + bigint unsigned|0s + + + 40 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 41 + int|0s + + + 42 + bigint unsigned|0s + + + 1 + 43 + bigint unsigned|0s + + + 1 + 44 + bigint unsigned|0s + + + 1 + 45 + bigint unsigned|0s + + + 46 + enum('PRIMARY', 'SECONDARY')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + int unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + double(7,6 digit)|0s + + + SCHEMA_NAME +DIGEST +BUCKET_NUMBER + hash + 1 + + + SCHEMA_NAME + + + 1 + 1 + int unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + double(7,6 digit)|0s + + + BUCKET_NUMBER + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + longtext|0s + + + 11 + varchar(64)|0s + + + 12 + longtext|0s + + + 13 + varchar(64)|0s + + + 14 + varchar(64)|0s + + + 15 + varchar(64)|0s + + + 16 + varchar(64)|0s + + + 17 + bigint unsigned|0s + + + 18 + int|0s + + + 19 + varchar(5)|0s + + + 20 + varchar(128)|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 39 + bigint unsigned|0s + + + 40 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 41 + int|0s + + + 42 + bigint unsigned|0s + + + 1 + 43 + bigint unsigned|0s + + + 1 + 44 + bigint unsigned|0s + + + 1 + 45 + bigint unsigned|0s + + + 46 + enum('PRIMARY', 'SECONDARY')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + longtext|0s + + + 11 + varchar(64)|0s + + + 12 + longtext|0s + + + 13 + varchar(64)|0s + + + 14 + varchar(64)|0s + + + 15 + varchar(64)|0s + + + 16 + varchar(64)|0s + + + 17 + bigint unsigned|0s + + + 18 + int|0s + + + 19 + varchar(5)|0s + + + 20 + varchar(128)|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 39 + bigint unsigned|0s + + + 40 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 41 + int|0s + + + 42 + bigint unsigned|0s + + + 1 + 43 + bigint unsigned|0s + + + 1 + 44 + bigint unsigned|0s + + + 1 + 45 + bigint unsigned|0s + + + 46 + enum('PRIMARY', 'SECONDARY')|0e + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(128)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + USER +HOST +EVENT_NAME + hash + 1 + + + ACCOUNT + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + longtext|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + timestamp(6)|0s + + + 1 + 33 + timestamp(6)|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 37 + longtext|0s + + + 1 + 38 + timestamp(6)|0s + + + 1 + 39 + bigint unsigned|0s + + + SCHEMA_NAME +DIGEST + hash + 1 + + + SCHEMA_NAME + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + HOST +EVENT_NAME + hash + 1 + + + HOST + + + 1 + 1 + enum('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER')|0e + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + THREAD_ID +EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + USER +EVENT_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 6 + bigint unsigned|0s + + + 7 + varchar(90)|0s + + + 8 + int|0s + + + 9 + varchar(130)|0s + + + 10 + varchar(130)|0s + + + 11 + varchar(64)|0s + + + 12 + varchar(64)|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('READ ONLY', 'READ WRITE')|0e + + + 17 + varchar(64)|0s + + + 1 + 18 + enum('YES', 'NO')|0e + + + 19 + bigint unsigned|0s + + + 20 + bigint unsigned|0s + + + 21 + bigint unsigned|0s + + + 22 + bigint unsigned|0s + + + 23 + bigint unsigned|0s + + + 24 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 6 + bigint unsigned|0s + + + 7 + varchar(90)|0s + + + 8 + int|0s + + + 9 + varchar(130)|0s + + + 10 + varchar(130)|0s + + + 11 + varchar(64)|0s + + + 12 + varchar(64)|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('READ ONLY', 'READ WRITE')|0e + + + 17 + varchar(64)|0s + + + 1 + 18 + enum('YES', 'NO')|0e + + + 19 + bigint unsigned|0s + + + 20 + bigint unsigned|0s + + + 21 + bigint unsigned|0s + + + 22 + bigint unsigned|0s + + + 23 + bigint unsigned|0s + + + 24 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 6 + bigint unsigned|0s + + + 7 + varchar(90)|0s + + + 8 + int|0s + + + 9 + varchar(130)|0s + + + 10 + varchar(130)|0s + + + 11 + varchar(64)|0s + + + 12 + varchar(64)|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('READ ONLY', 'READ WRITE')|0e + + + 17 + varchar(64)|0s + + + 1 + 18 + enum('YES', 'NO')|0e + + + 19 + bigint unsigned|0s + + + 20 + bigint unsigned|0s + + + 21 + bigint unsigned|0s + + + 22 + bigint unsigned|0s + + + 23 + bigint unsigned|0s + + + 24 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(128)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + USER +HOST +EVENT_NAME + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + HOST +EVENT_NAME + hash + 1 + + + HOST + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + THREAD_ID +EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + USER +EVENT_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + int unsigned|0s + + + 10 + varchar(64)|0s + + + 11 + varchar(512)|0s + + + 12 + varchar(64)|0s + + + 13 + varchar(64)|0s + + + 1 + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 1 + 17 + varchar(32)|0s + + + 18 + bigint|0s + + + 19 + int unsigned|0s + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + int unsigned|0s + + + 10 + varchar(64)|0s + + + 11 + varchar(512)|0s + + + 12 + varchar(64)|0s + + + 13 + varchar(64)|0s + + + 1 + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 1 + 17 + varchar(32)|0s + + + 18 + bigint|0s + + + 19 + int unsigned|0s + + + THREAD_ID +EVENT_ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(128)|0s + + + 5 + varchar(64)|0s + + + 6 + bigint unsigned|0s + + + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 9 + int unsigned|0s + + + 10 + varchar(64)|0s + + + 11 + varchar(512)|0s + + + 12 + varchar(64)|0s + + + 13 + varchar(64)|0s + + + 1 + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + enum('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')|0e + + + 1 + 17 + varchar(32)|0s + + + 18 + bigint|0s + + + 19 + int unsigned|0s + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(128)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + USER +HOST +EVENT_NAME + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + HOST +EVENT_NAME + hash + 1 + + + HOST + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + EVENT_NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + THREAD_ID +EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + USER +EVENT_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(512)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + int unsigned|0s + + + FILE_NAME + hash + 1 + + + EVENT_NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(512)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + FILE_NAME + hash + + + EVENT_NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(32)|0s + + + 1 + 3 + varchar(1024)|0s + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(255)|0s + ascii_general_ci + + + 1 + 3 + enum('YES', 'NO')|0e + + + 1 + 4 + bigint|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + bigint|0s + + + 1 + 13 + bigint|0s + + + 1 + 14 + bigint|0s + + + 1 + 15 + bigint|0s + + + 1 + 16 + bigint|0s + + + 1 + 17 + bigint|0s + + + 1 + 18 + bigint|0s + + + 1 + 19 + bigint|0s + + + 1 + 20 + bigint|0s + + + 1 + 21 + bigint|0s + + + 1 + 22 + bigint|0s + + + 1 + 23 + bigint|0s + + + 1 + 24 + bigint|0s + + + 1 + 25 + bigint|0s + + + 1 + 26 + timestamp|0s + + + 1 + 27 + timestamp|0s + + + 28 + timestamp|0s + + + 29 + timestamp|0s + + + IP + hash + 1 + + + HOST + hash + + + 1 + 1 + PRIMARY + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + bigint|0s + + + 1 + 3 + bigint|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + HOST + hash + 1 + + + HOST + + + Id of the file. + 1 + 1 + bigint|0s + + + Path to the file. + 1 + 2 + varchar(2000)|0s + + + LSN of the first block in the file. + 1 + 3 + bigint|0s + + + LSN after the last block in the file. + 1 + 4 + bigint|0s + + + Size of the file (in bytes). + 1 + 5 + bigint|0s + + + 1 iff file has no free space inside. + 1 + 6 + tinyint|0s + + + All redo log consumers registered on smaller levels than this value, have already consumed this file. + 1 + 7 + int|0s + + + 1 + 1 + varchar(256)|0s + + + 1 + 2 + varchar(1024)|0s + + + 1 + 1 + varchar(255)|0s + + + 2 + varchar(255)|0s + + + 3 + varchar(255)|0s + + + 1 + 1 + char(36)|0s + utf8mb4_bin + + + 1 + 2 + json|0s + + + 1 + 3 + json|0s + + + 1 + 4 + json|0s + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(128)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + bigint|0s + + + 1 + 13 + bigint|0s + + + USER +HOST +EVENT_NAME + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + bigint|0s + + + HOST +EVENT_NAME + hash + 1 + + + HOST + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + bigint|0s + + + THREAD_ID +EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + bigint|0s + + + USER +EVENT_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + bigint|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + bigint|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + varchar(32)|0s + + + 1 + 7 + varchar(32)|0s + + + 1 + 8 + varchar(32)|0s + + + 9 + varchar(64)|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME +COLUMN_NAME + hash + + + OWNER_THREAD_ID +OWNER_EVENT_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + NAME + hash + + + LOCKED_BY_THREAD_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + 1 + + + OBJECT + + + 1 + 1 + enum('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'THREAD_CPU')|0e + + + 2 + bigint|0s + + + 3 + bigint|0s + + + 4 + bigint|0s + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + longtext|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + enum('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER')|0e + + + 8 + varchar(64)|0s + + + 9 + varchar(64)|0s + + + 10 + enum('PRIMARY', 'SECONDARY')|0e + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 1 + 39 + bigint unsigned|0s + + + 1 + 40 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + OWNER_THREAD_ID +OWNER_EVENT_ID + hash + 1 + + + STATEMENT_ID + hash + + + STATEMENT_NAME + hash + + + OWNER_OBJECT_TYPE +OWNER_OBJECT_SCHEMA +OWNER_OBJECT_NAME + hash + + + 1 + 1 + PRIMARY + + + OWNER_THREAD_ID + + + 1 + 1 + bigint unsigned|0s + + + 2 + varchar(32)|0s + + + 3 + varchar(261)|0s + ascii_general_ci + + + 4 + varchar(64)|0s + + + 5 + varchar(16)|0s + + + 6 + bigint|0s + + + 7 + varchar(64)|0s + + + 8 + longtext|0s + + + 9 + enum('PRIMARY', 'SECONDARY')|0e + + + ID + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + int|0s + + + User name for the security context of the applier. + 3 + text|0s + utf8mb3_bin + + + Indicates whether the channel shall only accept row based events. + 1 + 4 + enum('YES', 'NO')|0e + + + Indicates what is the channel policy regarding tables without primary keys on create and alter table queries + 1 + 5 + enum('STREAM', 'ON', 'OFF', 'GENERATE')|0e + + + Indicates whether the channel will generate a new GTID for anonymous transactions. OFF means that anonymous transactions will remain anonymous. LOCAL means that anonymous transactions will be assigned a newly generated GTID based on server_uuid. UUID indicates that anonymous transactions will be assigned a newly generated GTID based on Assign_gtids_to_anonymous_transactions_value + 1 + 6 + enum('OFF', 'LOCAL', 'UUID')|0e + + + Indicates the UUID used while generating GTIDs for anonymous transactions + 7 + text|0s + utf8mb3_bin + + + CHANNEL_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + char(64)|0s + + + 1 + 3 + longtext|0s + + + 1 + 4 + enum('STARTUP_OPTIONS', 'CHANGE_REPLICATION_FILTER', 'STARTUP_OPTIONS_FOR_CHANNEL', 'CHANGE_REPLICATION_FILTER_FOR_CHANNEL')|0e + + + 1 + 5 + timestamp(6)|0s + + + '0' + 1 + 6 + bigint unsigned|0s + + + 1 + 1 + char(64)|0s + + + 1 + 2 + longtext|0s + + + 1 + 3 + enum('STARTUP_OPTIONS', 'CHANGE_REPLICATION_FILTER')|0e + + + 1 + 4 + timestamp(6)|0s + + + 1 + 1 + char(64)|0s + + + 1 + 2 + enum('ON', 'OFF')|0e + + + 3 + int unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + CHANNEL_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 2 + bigint unsigned|0s + + + 1 + 3 + enum('ON', 'OFF')|0e + + + 1 + 4 + int|0s + + + 1 + 5 + varchar(1024)|0s + + + 1 + 6 + timestamp(6)|0s + + + 7 + char(90)|0s + + + 1 + 8 + timestamp(6)|0s + + + 1 + 9 + timestamp(6)|0s + + + 1 + 10 + timestamp(6)|0s + + + 1 + 11 + timestamp(6)|0s + + + 12 + char(90)|0s + + + 1 + 13 + timestamp(6)|0s + + + 1 + 14 + timestamp(6)|0s + + + 1 + 15 + timestamp(6)|0s + + + CHANNEL_NAME + hash + 1 + + + THREAD_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + enum('ON', 'OFF')|0e + + + 1 + 5 + int|0s + + + 1 + 6 + varchar(1024)|0s + + + 1 + 7 + timestamp(6)|0s + + + 8 + char(90)|0s + + + 1 + 9 + timestamp(6)|0s + + + 1 + 10 + timestamp(6)|0s + + + 1 + 11 + timestamp(6)|0s + + + 1 + 12 + timestamp(6)|0s + + + 13 + char(90)|0s + + + 1 + 14 + timestamp(6)|0s + + + 1 + 15 + timestamp(6)|0s + + + 1 + 16 + timestamp(6)|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + int|0s + + + 19 + varchar(1024)|0s + + + 1 + 20 + timestamp(6)|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + int|0s + + + 23 + varchar(1024)|0s + + + 1 + 24 + timestamp(6)|0s + + + CHANNEL_NAME +WORKER_ID + hash + 1 + + + THREAD_ID + hash + + + 1 + 1 + PRIMARY + + + The replication channel name that connects source and replica. + 1 + 1 + char(64)|0s + utf8mb3_general_ci + + + The source hostname that the replica will attempt to switch over the replication connection to in case of a failure. + 1 + 2 + char(255)|0s + ascii_general_ci + + + The source port that the replica will attempt to switch over the replication connection to in case of a failure. + 1 + 3 + int|0s + + + The source network namespace that the replica will attempt to switch over the replication connection to in case of a failure. If its value is empty, connections use the default (global) namespace. + 4 + char(64)|0s + + + The order in which the replica shall try to switch the connection over to when there are failures. Weight can be set to a number between 1 and 100, where 100 is the highest weight and 1 the lowest. + 1 + 5 + int unsigned|0s + + + The name of the group which this server belongs to. + '' + 1 + 6 + char(64)|0s + utf8mb3_general_ci + + + The replication channel name that connects source and replica. + 1 + 1 + char(64)|0s + utf8mb3_general_ci + + + The name of the source which needs to be managed. + '' + 1 + 2 + char(64)|0s + utf8mb3_general_ci + + + Determines the managed type. + '' + 1 + 3 + char(64)|0s + utf8mb3_general_ci + + + The data to help manage group. For Managed_type = GroupReplication, Configuration value should contain {"Primary_weight": 80, "Secondary_weight": 60}, so that it assigns weight=80 to PRIMARY of the group, and weight=60 for rest of the members in mysql.replication_asynchronous_connection_failover table. + 4 + json|0s + + + 1 + 1 + char(64)|0s + + + 1 + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + int|0s + + + 1 + 4 + char(32)|0s + utf8mb4_bin + + + 1 + 5 + char(60)|0s + utf8mb4_bin + + + 1 + 6 + enum('1', '0')|0e + + + 1 + 7 + enum('YES', 'NO', 'IGNORED')|0e + + + 1 + 8 + varchar(512)|0s + + + 1 + 9 + varchar(512)|0s + + + 1 + 10 + varchar(512)|0s + + + 1 + 11 + varchar(512)|0s + + + 1 + 12 + varchar(512)|0s + + + 1 + 13 + enum('YES', 'NO')|0e + + + 1 + 14 + varchar(255)|0s + + + 1 + 15 + varchar(255)|0s + + + 1 + 16 + int|0s + + + 1 + 17 + bigint unsigned|0s + + + Number of seconds after which a heartbeat will be sent . + 1 + 18 + double(10,3 digit)|0s + + + 1 + 19 + varchar(255)|0s + + + 1 + 20 + varchar(512)|0s + + + 1 + 21 + enum('YES', 'NO')|0e + + + 1 + 22 + varchar(64)|0s + + + Compression algorithm used for data transfer between master and slave. + 1 + 23 + char(64)|0s + utf8mb4_bin + + + Compression level associated with zstd compression algorithm. + 1 + 24 + int|0s + + + 25 + text|0s + utf8mb3_bin + + + 1 + 26 + enum('1', '0')|0e + + + Indicates if this channel only uses GTIDs and does not persist positions. + 1 + 27 + enum('1', '0')|0e + + + CHANNEL_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + char(36)|0s + utf8mb4_bin + + + 1 + 3 + char(36)|0s + utf8mb4_bin + + + 4 + bigint unsigned|0s + + + 1 + 5 + enum('ON', 'OFF', 'CONNECTING')|0e + + + '0' + 1 + 6 + bigint unsigned|0s + + + Shows when the most recent heartbeat signal was received. + 1 + 7 + timestamp(6)|0s + + + 1 + 8 + longtext|0s + + + 1 + 9 + int|0s + + + 1 + 10 + varchar(1024)|0s + + + 1 + 11 + timestamp(6)|0s + + + 12 + char(90)|0s + + + 1 + 13 + timestamp(6)|0s + + + 1 + 14 + timestamp(6)|0s + + + 1 + 15 + timestamp(6)|0s + + + 1 + 16 + timestamp(6)|0s + + + 17 + char(90)|0s + + + 1 + 18 + timestamp(6)|0s + + + 1 + 19 + timestamp(6)|0s + + + 1 + 20 + timestamp(6)|0s + + + CHANNEL_NAME + hash + 1 + + + THREAD_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + char(64)|0s + + + 1 + 2 + char(60)|0s + utf8mb4_bin + + + 1 + 3 + char(36)|0s + utf8mb4_bin + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + longtext|0s + + + 1 + 9 + text|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 1 + char(64)|0s + + + 1 + 2 + char(36)|0s + utf8mb4_bin + + + 1 + 3 + char(255)|0s + ascii_general_ci + + + 4 + int|0s + + + 1 + 5 + char(64)|0s + utf8mb4_bin + + + 1 + 6 + char(64)|0s + utf8mb4_bin + + + 1 + 7 + char(64)|0s + utf8mb4_bin + + + 1 + 8 + char(64)|0s + utf8mb4_bin + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + int unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + NAME + hash + + + WRITE_LOCKED_BY_THREAD_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(32)|0s + + + 3 + varchar(1024)|0s + + + 4 + int|0s + + + PROCESSLIST_ID +ATTR_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(32)|0s + + + 3 + varchar(1024)|0s + + + 4 + int|0s + + + PROCESSLIST_ID +ATTR_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + '%' + 1 + 1 + char(255)|0s + ascii_general_ci + + + '%' + 1 + 2 + char(32)|0s + utf8mb4_bin + + + '%' + 1 + 3 + char(32)|0s + utf8mb4_bin + + + 'YES' + 1 + 4 + enum('YES', 'NO')|0e + + + 'YES' + 1 + 5 + enum('YES', 'NO')|0e + + + HOST +USER +ROLE + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + enum('YES', 'NO')|0e + + + NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + enum('YES', 'NO')|0e + + + 3 + enum('YES', 'NO')|0e + + + 1 + 4 + set('singleton', 'progress', 'user', 'global_statistics', 'mutable', 'controlled_by_default')|0e + + + 5 + set('controlled')|0e + + + 1 + 6 + int|0s + + + 7 + longtext|0s + + + NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + enum('none', 'error', 'warn', 'info', 'debug')|0e + + + 3 + varchar(1023)|0s + + + 1 + 1 + varchar(63)|0s + + + 1 + 2 + mediumint unsigned|0s + + + 1 + 3 + enum('YES', 'NO')|0e + + + 4 + varchar(1023)|0s + + + NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(63)|0s + + + 1 + 2 + varchar(63)|0s + + + 1 + 3 + enum('ASYNC COUNTER', 'ASYNC UPDOWN COUNTER', 'ASYNC GAUGE COUNTER')|0e + + + 1 + 4 + enum('INTEGER', 'DOUBLE')|0e + + + 5 + varchar(63)|0s + + + 6 + varchar(1023)|0s + + + NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 'TABLE' + 1 + 1 + enum('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER')|0e + + + '%' + 2 + varchar(64)|0s + + + '%' + 1 + 3 + varchar(64)|0s + + + 'YES' + 1 + 4 + enum('YES', 'NO')|0e + + + 'YES' + 1 + 5 + enum('YES', 'NO')|0e + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + 1 + + + OBJECT + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + enum('YES', 'NO')|0e + + + 1 + 3 + enum('YES', 'NO')|0e + + + 1 + 4 + set('singleton', 'user')|0e + + + 1 + 5 + int|0s + + + 6 + longtext|0s + + + NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + int|0s + + + 1 + 5 + varchar(64)|0s + + + 1 + 6 + int|0s + + + 1 + 7 + enum('IDLE', 'ACTIVE')|0e + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + THREAD_ID + hash + + + SOCKET_ID + hash + + + IP +PORT + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + EVENT_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + EVENT_NAME + hash + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 2 + char(255)|0s + ascii_general_ci + + + 1 + 3 + varchar(64)|0s + + + 4 + varchar(1024)|0s + + + USER +HOST +VARIABLE_NAME + hash + 1 + + + ACCOUNT + + + 1 + char(255)|0s + ascii_general_ci + + + 1 + 2 + varchar(64)|0s + + + 3 + varchar(1024)|0s + + + HOST +VARIABLE_NAME + hash + 1 + + + HOST + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(64)|0s + + + 3 + varchar(1024)|0s + + + THREAD_ID +VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + varchar(64)|0s + + + 3 + varchar(1024)|0s + + + USER +VARIABLE_NAME + hash + 1 + + + USER + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(64)|0s + + + 1 + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 5 + bigint unsigned|0s + + + 6 + bigint unsigned|0s + + + 7 + varchar(64)|0s + + + 8 + varchar(64)|0s + + + OBJECT_INSTANCE_BEGIN + hash + 1 + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + + + OWNER_THREAD_ID +OWNER_EVENT_ID + hash + + + 1 + 1 + PRIMARY + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + varchar(64)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 1 + 39 + bigint unsigned|0s + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME +INDEX_NAME + hash + 1 + + + OBJECT + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + 1 + + + OBJECT + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 1 + 25 + bigint unsigned|0s + + + 1 + 26 + bigint unsigned|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + bigint unsigned|0s + + + 1 + 30 + bigint unsigned|0s + + + 1 + 31 + bigint unsigned|0s + + + 1 + 32 + bigint unsigned|0s + + + 1 + 33 + bigint unsigned|0s + + + 1 + 34 + bigint unsigned|0s + + + 1 + 35 + bigint unsigned|0s + + + 1 + 36 + bigint unsigned|0s + + + 1 + 37 + bigint unsigned|0s + + + 1 + 38 + bigint unsigned|0s + + + 1 + 39 + bigint unsigned|0s + + + 1 + 40 + bigint unsigned|0s + + + 1 + 41 + bigint unsigned|0s + + + 1 + 42 + bigint unsigned|0s + + + 1 + 43 + bigint unsigned|0s + + + 1 + 44 + bigint unsigned|0s + + + 1 + 45 + bigint unsigned|0s + + + 1 + 46 + bigint unsigned|0s + + + 1 + 47 + bigint unsigned|0s + + + 1 + 48 + bigint unsigned|0s + + + 1 + 49 + bigint unsigned|0s + + + 1 + 50 + bigint unsigned|0s + + + 1 + 51 + bigint unsigned|0s + + + 1 + 52 + bigint unsigned|0s + + + 1 + 53 + bigint unsigned|0s + + + 1 + 54 + bigint unsigned|0s + + + 1 + 55 + bigint unsigned|0s + + + 1 + 56 + bigint unsigned|0s + + + 1 + 57 + bigint unsigned|0s + + + 1 + 58 + bigint unsigned|0s + + + 1 + 59 + bigint unsigned|0s + + + 1 + 60 + bigint unsigned|0s + + + 1 + 61 + bigint unsigned|0s + + + 1 + 62 + bigint unsigned|0s + + + 1 + 63 + bigint unsigned|0s + + + 1 + 64 + bigint unsigned|0s + + + 1 + 65 + bigint unsigned|0s + + + 1 + 66 + bigint unsigned|0s + + + 1 + 67 + bigint unsigned|0s + + + 1 + 68 + bigint unsigned|0s + + + OBJECT_TYPE +OBJECT_SCHEMA +OBJECT_NAME + hash + 1 + + + OBJECT + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + varchar(10)|0s + + + 4 + bigint unsigned|0s + + + 5 + varchar(32)|0s + + + 6 + varchar(255)|0s + ascii_general_ci + + + 7 + varchar(64)|0s + + + 8 + varchar(16)|0s + + + 9 + bigint|0s + + + 10 + varchar(64)|0s + + + 11 + longtext|0s + + + 12 + bigint unsigned|0s + + + 13 + varchar(64)|0s + + + 1 + 14 + enum('YES', 'NO')|0e + + + 1 + 15 + enum('YES', 'NO')|0e + + + 16 + varchar(16)|0s + + + 17 + bigint unsigned|0s + + + 18 + varchar(64)|0s + + + 19 + enum('PRIMARY', 'SECONDARY')|0e + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + enum('YES', 'NO')|0e + + + THREAD_ID + hash + 1 + + + NAME + hash + + + PROCESSLIST_ID + hash + + + PROCESSLIST_USER +PROCESSLIST_HOST + hash + + + PROCESSLIST_HOST + hash + + + THREAD_OS_ID + hash + + + RESOURCE_GROUP + hash + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + varchar(2048)|0s + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + varchar(20)|0s + + + 1 + 3 + varchar(20)|0s + + + 4 + varchar(1024)|0s + + + 5 + bigint|0s + + + UDF_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(64)|0s + + + 3 + longblob|0s + + + THREAD_ID +VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + char(32)|0s + utf8mb4_bin + + + 1 + 2 + bigint|0s + + + 1 + 3 + bigint|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + USER + hash + 1 + + + USER + + + 1 + 1 + bigint unsigned|0s + + + 1 + 2 + varchar(64)|0s + + + 3 + varchar(1024)|0s + + + THREAD_ID +VARIABLE_NAME + hash + 1 + + + 1 + 1 + PRIMARY + + + 1 + 1 + varchar(64)|0s + + + 'COMPILED' + 2 + enum('COMPILED', 'GLOBAL', 'SERVER', 'EXPLICIT', 'EXTRA', 'USER', 'LOGIN', 'COMMAND_LINE', 'PERSISTED', 'DYNAMIC')|0e + + + 3 + varchar(1024)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 6 + timestamp(6)|0s + + + 7 + char(32)|0s + utf8mb4_bin + + + 8 + char(255)|0s + ascii_general_ci + + + 1 + 1 + varchar(64)|0s + + + 1 + 2 + enum('GLOBAL', 'SESSION', 'SESSION_ONLY')|0e + + + 1 + 3 + enum('Integer', 'Numeric', 'String', 'Enumeration', 'Boolean', 'Set')|0e + + + 4 + varchar(64)|0s + + + 5 + varchar(64)|0s + + + 1 + 6 + mediumtext|0s + + + 1 + int|0s + + + 2 + int|0s + + + O + 3 + int|0s + + + 1 + int|0s + + + 2 + int|0s + + + O + 3 + int|0s + + + R + decimal(5,2 digit)|0s + + + 1 + int|0s + + + 2 + datetime|0s + + + R + int|0s + + + 1 + int|0s + + + R + tinyint(1)|0s + + + 1 + int|0s + + + 1 + tinyint unsigned|0s + + + 2 + decimal(10,2 digit)|0s + + + O + 3 + int|0s + + + 201 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(45)|0s + + + 1 + 3 + varchar(45)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 4 + timestamp|0s + + + actor_id + btree + 1 + + + last_name + btree + + + 1 + 1 + PRIMARY + + + 606 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(50)|0s + + + 3 + varchar(50)|0s + + + 1 + 4 + varchar(20)|0s + + + 1 + 5 + smallint unsigned|0s + + + 6 + varchar(10)|0s + + + 1 + 7 + varchar(20)|0s + + + 1 + 8 + geometry|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 9 + timestamp|0s + + + city_id + cascade + city_id + city + + + address_id + btree + 1 + + + city_id + btree + + + location + spatial + + + 1 + 1 + PRIMARY + + + 17 + 1 + 1 + tinyint unsigned|0s + + + 1 + 2 + varchar(25)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + category_id + btree + 1 + + + 1 + 1 + PRIMARY + + + 601 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(50)|0s + + + 1 + 3 + smallint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 4 + timestamp|0s + + + country_id + cascade + country_id + country + + + city_id + btree + 1 + + + country_id + btree + + + 1 + 1 + PRIMARY + + + 110 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(50)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + country_id + btree + 1 + + + 1 + 1 + PRIMARY + + + 600 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + tinyint unsigned|0s + + + 1 + 3 + varchar(45)|0s + + + 1 + 4 + varchar(45)|0s + + + 5 + varchar(50)|0s + + + 1 + 6 + smallint unsigned|0s + + + 1 + 1 + 7 + tinyint(1)|0s + + + 1 + 8 + datetime|0s + + + CURRENT_TIMESTAMP + CURRENT_TIMESTAMP + 9 + timestamp|0s + + + store_id + cascade + store_id + store + + + address_id + cascade + address_id + address + + + customer_id + btree + 1 + + + store_id + btree + + + last_name + btree + + + address_id + btree + + + 1 + 1 + PRIMARY + + + root@localhost + I + 27 + before-row + + + 1001 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 3 + text|0s + + + 4 + year|0s + + + 1 + 5 + tinyint unsigned|0s + + + 6 + tinyint unsigned|0s + + + '3' + 1 + 7 + tinyint unsigned|0s + + + 4.99 + 1 + 8 + decimal(4,2 digit)|0s + + + 9 + smallint unsigned|0s + + + 19.99 + 1 + 10 + decimal(5,2 digit)|0s + + + 'G' + 11 + enum('G', 'PG', 'PG-13', 'R', 'NC-17')|0e + + + 12 + set('Trailers', 'Commentaries', 'Deleted Scenes', 'Behind the Scenes')|0e + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 13 + timestamp|0s + + + language_id + cascade + language_id + language + + + original_language_id + cascade + language_id + language + + + film_id + btree + 1 + + + title + btree + + + language_id + btree + + + original_language_id + btree + + + 1 + 1 + PRIMARY + + + root@localhost + I + 125 + + + root@localhost + U + 310 + + + root@localhost + D + 66 + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + smallint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + actor_id + cascade + actor_id + actor + + + film_id + cascade + film_id + film + + + actor_id +film_id + btree + 1 + + + film_id + btree + + + 1 + 1 + PRIMARY + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + tinyint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + film_id + cascade + film_id + film + + + category_id + cascade + category_id + category + + + film_id +category_id + btree + 1 + + + category_id + btree + + + 1 + 1 + PRIMARY + + + 1 + 1 + smallint|0s + + + 1 + 2 + varchar(255)|0s + + + 3 + text|0s + + + film_id + btree + 1 + + + title +description + fulltext + + + 1 + 1 + PRIMARY + + + 4582 + 1 + 1 + mediumint unsigned|0s + + + 1 + 2 + smallint unsigned|0s + + + 1 + 3 + tinyint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 4 + timestamp|0s + + + film_id + cascade + film_id + film + + + store_id + cascade + store_id + store + + + inventory_id + btree + 1 + + + film_id + btree + + + store_id +film_id + btree + + + 1 + 1 + PRIMARY + + + 7 + 1 + 1 + tinyint unsigned|0s + + + 1 + 2 + char(20)|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + language_id + btree + 1 + + + 1 + 1 + PRIMARY + + + 16050 + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + smallint unsigned|0s + + + 1 + 3 + tinyint unsigned|0s + + + 4 + int|0s + + + 1 + 5 + decimal(5,2 digit)|0s + + + 1 + 6 + datetime|0s + + + CURRENT_TIMESTAMP + CURRENT_TIMESTAMP + 7 + timestamp|0s + + + customer_id + cascade + customer_id + customer + + + staff_id + cascade + staff_id + staff + + + rental_id + set-null + cascade + rental_id + rental + + + payment_id + btree + 1 + + + customer_id + btree + + + staff_id + btree + + + rental_id + btree + + + 1 + 1 + PRIMARY + + + root@localhost + I + 28 + before-row + + + 16050 + 1 + 1 + int|0s + + + 1 + 2 + datetime|0s + + + 1 + 3 + mediumint unsigned|0s + + + 1 + 4 + smallint unsigned|0s + + + 5 + datetime|0s + + + 1 + 6 + tinyint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 7 + timestamp|0s + + + inventory_id + cascade + inventory_id + inventory + + + customer_id + cascade + customer_id + customer + + + staff_id + cascade + staff_id + staff + + + rental_id + btree + 1 + + + rental_date +inventory_id +customer_id + btree + 1 + + + inventory_id + btree + + + customer_id + btree + + + staff_id + btree + + + 1 + 1 + PRIMARY + + + rental_date + + + root@localhost + I + 27 + before-row + + + 3 + 1 + 1 + tinyint unsigned|0s + + + 1 + 2 + varchar(45)|0s + + + 1 + 3 + varchar(45)|0s + + + 1 + 4 + smallint unsigned|0s + + + 5 + blob|0s + + + 6 + varchar(50)|0s + + + 1 + 7 + tinyint unsigned|0s + + + 1 + 1 + 8 + tinyint(1)|0s + + + 1 + 9 + varchar(16)|0s + + + 10 + varchar(40)|0s + utf8mb4_bin + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 11 + timestamp|0s + + + address_id + cascade + address_id + address + + + store_id + cascade + store_id + store + + + staff_id + btree + 1 + + + address_id + btree + + + store_id + btree + + + 1 + 1 + PRIMARY + + + 3 + 1 + 1 + tinyint unsigned|0s + + + 1 + 2 + tinyint unsigned|0s + + + 1 + 3 + smallint unsigned|0s + + + CURRENT_TIMESTAMP + 1 + CURRENT_TIMESTAMP + 4 + timestamp|0s + + + manager_staff_id + cascade + staff_id + staff + + + address_id + cascade + address_id + address + + + store_id + btree + 1 + + + manager_staff_id + btree + 1 + + + address_id + btree + + + 1 + 1 + PRIMARY + + + idx_unique_manager + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(45)|0s + + + 1 + 3 + varchar(45)|0s + + + 4 + text|0s + + + 1 + 1 + smallint unsigned|0s + + + 2 + varchar(91)|0s + + + 1 + 3 + varchar(50)|0s + + + 4 + varchar(10)|0s + + + 1 + 5 + varchar(20)|0s + + + 1 + 6 + varchar(50)|0s + + + 1 + 7 + varchar(50)|0s + + + 1 + 8 + varchar(6)|0s + + + 1 + 9 + tinyint unsigned|0s + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 3 + text|0s + + + 4 + varchar(25)|0s + + + 1 + 5 + decimal(4,2 digit)|0s + + + 6 + smallint unsigned|0s + + + 7 + enum('G', 'PG', 'PG-13', 'R', 'NC-17')|0e + + + 8 + text|0s + + + 1 + 1 + smallint unsigned|0s + + + 1 + 2 + varchar(128)|0s + + + 3 + text|0s + + + 4 + varchar(25)|0s + + + 1 + 5 + decimal(4,2 digit)|0s + + + 6 + smallint unsigned|0s + + + 7 + enum('G', 'PG', 'PG-13', 'R', 'NC-17')|0e + + + 8 + text|0s + + + 1 + 1 + varchar(25)|0s + + + 2 + decimal(27,2 digit)|0s + + + 1 + varchar(101)|0s + + + 2 + varchar(91)|0s + + + 3 + decimal(27,2 digit)|0s + + + 1 + 1 + tinyint unsigned|0s + + + 2 + varchar(91)|0s + + + 1 + 3 + varchar(50)|0s + + + 4 + varchar(10)|0s + + + 1 + 5 + varchar(20)|0s + + + 1 + 6 + varchar(50)|0s + + + 1 + 7 + varchar(50)|0s + + + 1 + 8 + tinyint unsigned|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + int unsigned|0s + + + 2 + int unsigned|0s + + + 3 + enum('current', 'medium', 'full')|0e + + + 1 + longtext|0s + + + R + varchar(64)|0s + + + 1 + varchar(512)|0s + + + R + varchar(64)|0s + + + 1 + varchar(512)|0s + + + R + text|0s + + + 1 + text|0s + + + R + varchar(512)|0s + + + 1 + varchar(512)|0s + + + R + longtext|0s + + + 1 + longtext|0s + + + R + text|0s + + + 1 + text|0s + + + R + text|0s + + + 1 + text|0s + + + 2 + text|0s + + + R + text|0s + + + 1 + text|0s + + + 2 + text|0s + + + R + enum('YES', 'NO')|0e + + + 1 + varchar(255)|0s + + + 2 + varchar(32)|0s + + + R + enum('YES', 'NO')|0e + + + 1 + varchar(64)|0s + + + R + enum('YES', 'NO')|0e + + + 1 + varchar(128)|0s + + + R + enum('YES', 'NO')|0e + + + 1 + varchar(128)|0s + + + R + enum('YES', 'NO', 'UNKNOWN')|0e + + + 1 + bigint unsigned|0s + + + 1 + varchar(128)|0s + + + 1 + varchar(128)|0s + + + 1 + bigint|0s + + + 1 + varchar(128)|0s + + + 1 + varchar(128)|0s + + + 1 + bigint|0s + + + 1 + tinyint(1)|0s + + + 1 + int|0s + + + 1 + tinyint(1)|0s + + + 2 + tinyint(1)|0s + + + 1 + tinyint(1)|0s + + + 2 + tinyint(1)|0s + + + R + text|0s + + + 1 + bigint unsigned|0s + + + R + bigint unsigned|0s + + + 1 + bigint unsigned|0s + + + R + longtext|0s + + + 1 + bigint unsigned|0s + + + 2 + tinyint(1)|0s + + + R + longtext|0s + + + 1 + bigint unsigned|0s + + + 1 + varchar(64)|0s + + + 2 + int|0s + + + 3 + decimal(2,2 digit)|0s + + + 4 + tinyint(1)|0s + + + 5 + tinyint(1)|0s + + + 1 + bigint unsigned|0s + + + 2 + varchar(255)|0s + + + 3 + decimal(20,2 digit)|0s + + + 4 + decimal(20,2 digit)|0s + + + 5 + tinyint(1)|0s + + + 6 + tinyint(1)|0s + + + 7 + tinyint(1)|0s + + + 1 + tinyint(1)|0s + + + R + text|0s + + + 1 + text|0s + + + 1 + enum('snapshot', 'overall', 'delta', 'create_table', 'create_tmp', 'save', 'cleanup')|0e + + + 2 + varchar(129)|0s + + + 3 + set('with_runtimes_in_95th_percentile', 'analysis', 'with_errors_or_warnings', 'with_full_table_scans', 'with_sorting', 'with_temp_tables', 'custom')|0e + + + R + varchar(128)|0s + + + 1 + varchar(128)|0s + + + 2 + varchar(128)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + O + 3 + enum('', 'BASE TABLE', 'VIEW', 'TEMPORARY')|0e + + + R + tinyint unsigned|0s + + + R + tinyint unsigned|0s + + + R + tinyint unsigned|0s + + + 1 + 1 + varchar(128)|0s + + + 2 + varchar(128)|0s + + + CURRENT_TIMESTAMP + CURRENT_TIMESTAMP + 3 + timestamp|0s + + + 4 + varchar(128)|0s + + + variable + btree + 1 + + + 1 + 1 + PRIMARY + + + mysql.sys@localhost + I + 129 + before-row + + + mysql.sys@localhost + U + 129 + before-row + + + 1 + varchar(255)|0s + + + 2 + decimal(64)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + decimal(65)|0s + + + 6 + decimal(64)|0s + + + 7 + varchar(11)|0s + + + 8 + decimal(41)|0s + + + 9 + decimal(41)|0s + + + 1 + 10 + bigint|0s + + + 11 + varchar(11)|0s + + + 12 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + decimal(42)|0s + + + 8 + decimal(42)|0s + + + 9 + decimal(42)|0s + + + 10 + decimal(43)|0s + + + 1 + varchar(255)|0s + + + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + text|0s + + + 2 + varchar(11)|0s + + + 3 + varchar(11)|0s + + + 1 + 4 + bigint|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 7 + decimal(45)|0s + + + 1 + text|0s + + + 2 + text|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + bigint|0s + + + 8 + decimal(45)|0s + + + 1 + datetime|0s + + + 2 + time|0s + + + 3 + bigint|0s + + + 4 + mediumtext|0s + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 7 + varchar(64)|0s + + + 8 + varchar(64)|0s + + + 9 + varchar(64)|0s + + + 1 + 10 + varchar(32)|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + datetime|0s + + + 13 + time|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 17 + longtext|0s + + + 1 + 18 + varchar(128)|0s + + + 1 + 19 + varchar(32)|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 22 + longtext|0s + + + 1 + 23 + varchar(128)|0s + + + 1 + 24 + varchar(32)|0s + + + 1 + 25 + datetime|0s + + + 26 + time|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + varchar(33)|0s + + + 1 + 30 + varchar(27)|0s + + + 1 + varchar(288)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 1 + varchar(512)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint unsigned|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 8 + varchar(11)|0s + + + 1 + 9 + decimal(26,2 digit)|0s + + + 1 + varchar(512)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(11)|0s + + + 1 + 4 + bigint unsigned|0s + + + 5 + varchar(11)|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + varchar(11)|0s + + + 1 + 8 + bigint unsigned|0s + + + 9 + varchar(11)|0s + + + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + 7 + bigint unsigned|0s + + + 8 + varchar(11)|0s + + + 9 + varchar(11)|0s + + + 1 + 10 + bigint unsigned|0s + + + 11 + varchar(11)|0s + + + 12 + varchar(11)|0s + + + 13 + varchar(11)|0s + + + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 8 + varchar(11)|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + varchar(11)|0s + + + 11 + varchar(11)|0s + + + 1 + 12 + bigint unsigned|0s + + + 13 + varchar(11)|0s + + + 14 + varchar(11)|0s + + + 1 + varchar(317)|0s + + + 2 + varchar(512)|0s + + + 3 + varchar(11)|0s + + + 1 + 4 + varchar(32)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(41)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + varchar(288)|0s + + + 3 + decimal(41)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(41)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 1 + varchar(11)|0s + + + 1 + 1 + varchar(193)|0s + + + 2 + text|0s + + + 1 + 3 + varchar(210)|0s + + + 1 + 4 + varchar(7)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + bigint unsigned|0s + + + 3 + varchar(288)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(16)|0s + + + 6 + varchar(64)|0s + + + 7 + bigint|0s + + + 8 + longtext|0s + + + 9 + enum('PRIMARY', 'SECONDARY')|0e + + + 10 + varchar(11)|0s + + + 11 + decimal(26,2 digit)|0s + + + 12 + varchar(11)|0s + + + 13 + varchar(11)|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + bigint unsigned|0s + + + 17 + bigint unsigned|0s + + + 18 + bigint unsigned|0s + + + 1 + 19 + varchar(3)|0s + + + 20 + longtext|0s + + + 21 + varchar(11)|0s + + + 22 + varchar(11)|0s + + + 23 + varchar(128)|0s + + + 24 + varchar(13)|0s + + + 25 + varchar(64)|0s + + + 26 + varchar(11)|0s + + + 27 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 28 + enum('YES', 'NO')|0e + + + 29 + varchar(1024)|0s + + + 30 + varchar(1024)|0s + + + 1 + 1 + varchar(64)|0s + + + 2 + varchar(1024)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + longtext|0s + + + 1 + 5 + mediumtext|0s + + + 1 + 6 + int|0s + + + 1 + 7 + int|0s + + + 8 + bigint unsigned|0s + + + 9 + bigint unsigned|0s + + + 10 + decimal(25,4 digit) unsigned|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 5 + varchar(11)|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + varchar(11)|0s + + + 1 + 8 + bigint unsigned|0s + + + 9 + varchar(11)|0s + + + 1 + 10 + bigint unsigned|0s + + + 11 + varchar(11)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(19)|0s + + + 1 + 3 + bigint|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + text|0s + + + 5 + int|0s + + + 6 + varchar(64)|0s + + + 7 + text|0s + + + 8 + int|0s + + + 1 + 9 + int|0s + + + 10 + varchar(223)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + bigint unsigned|0s + + + 5 + text|0s + + + 1 + 6 + varchar(32)|0s + + + 1 + 7 + varchar(32)|0s + + + 8 + longtext|0s + + + 9 + bigint|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 13 + bigint unsigned|0s + + + 14 + text|0s + + + 1 + 15 + varchar(32)|0s + + + 1 + 16 + varchar(32)|0s + + + 17 + varchar(31)|0s + + + 18 + varchar(25)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(11)|0s + + + 1 + 4 + bigint unsigned|0s + + + 5 + varchar(11)|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + varchar(11)|0s + + + 1 + 8 + bigint unsigned|0s + + + 9 + varchar(11)|0s + + + 1 + 10 + bigint unsigned|0s + + + 11 + varchar(11)|0s + + + 12 + decimal(42)|0s + + + 13 + varchar(11)|0s + + + 14 + varchar(11)|0s + + + 15 + decimal(42)|0s + + + 16 + varchar(11)|0s + + + 17 + varchar(11)|0s + + + 18 + decimal(42)|0s + + + 19 + varchar(11)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint unsigned|0s + + + 6 + varchar(11)|0s + + + 1 + 7 + bigint unsigned|0s + + + 8 + varchar(11)|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + varchar(11)|0s + + + 11 + decimal(42)|0s + + + 12 + varchar(11)|0s + + + 13 + varchar(11)|0s + + + 14 + decimal(42)|0s + + + 15 + varchar(11)|0s + + + 16 + varchar(11)|0s + + + 17 + decimal(42)|0s + + + 18 + varchar(11)|0s + + + 19 + varchar(11)|0s + + + 20 + varchar(11)|0s + + + 21 + varchar(11)|0s + + + 22 + bigint|0s + + + 23 + bigint|0s + + + 24 + bigint|0s + + + 25 + decimal(45)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + bigint unsigned|0s + + + 3 + varchar(288)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(16)|0s + + + 6 + varchar(64)|0s + + + 7 + bigint|0s + + + 8 + longtext|0s + + + 9 + enum('PRIMARY', 'SECONDARY')|0e + + + 10 + varchar(11)|0s + + + 11 + decimal(26,2 digit)|0s + + + 12 + varchar(11)|0s + + + 13 + varchar(11)|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + bigint unsigned|0s + + + 17 + bigint unsigned|0s + + + 18 + bigint unsigned|0s + + + 1 + 19 + varchar(3)|0s + + + 20 + longtext|0s + + + 21 + varchar(11)|0s + + + 22 + varchar(11)|0s + + + 23 + varchar(128)|0s + + + 24 + varchar(13)|0s + + + 25 + varchar(64)|0s + + + 26 + varchar(11)|0s + + + 27 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 28 + enum('YES', 'NO')|0e + + + 29 + varchar(1024)|0s + + + 30 + varchar(1024)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + varchar(1024)|0s + + + 3 + varchar(1024)|0s + + + 4 + varchar(1024)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(1)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + varchar(11)|0s + + + 8 + varchar(11)|0s + + + 9 + varchar(11)|0s + + + 10 + varchar(11)|0s + + + 11 + varchar(11)|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + decimal(21)|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + decimal(21)|0s + + + 1 + 16 + bigint unsigned|0s + + + 1 + 17 + decimal(21)|0s + + + 1 + 18 + bigint unsigned|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 22 + varchar(11)|0s + + + 23 + varchar(11)|0s + + + 24 + varchar(64)|0s + + + 1 + 25 + timestamp(6)|0s + + + 1 + 26 + timestamp(6)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + decimal(27,4 digit)|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(27,4 digit)|0s + + + 1 + 8 + timestamp(6)|0s + + + 1 + 9 + timestamp(6)|0s + + + 10 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(24)|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + decimal(21)|0s + + + 11 + decimal(21)|0s + + + 1 + 12 + timestamp(6)|0s + + + 1 + 13 + timestamp(6)|0s + + + 14 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(1)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 7 + varchar(11)|0s + + + 8 + varchar(11)|0s + + + 9 + varchar(11)|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + decimal(21)|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + decimal(21)|0s + + + 1 + 14 + timestamp(6)|0s + + + 1 + 15 + timestamp(6)|0s + + + 16 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + decimal(21)|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + decimal(21)|0s + + + 1 + 11 + timestamp(6)|0s + + + 1 + 12 + timestamp(6)|0s + + + 13 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(21)|0s + + + 1 + 8 + decimal(24)|0s + + + 1 + 9 + timestamp(6)|0s + + + 1 + 10 + timestamp(6)|0s + + + 11 + varchar(64)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(64)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + decimal(65)|0s + + + 6 + decimal(64)|0s + + + 7 + varchar(11)|0s + + + 8 + decimal(41)|0s + + + 9 + decimal(41)|0s + + + 1 + 10 + bigint|0s + + + 11 + varchar(11)|0s + + + 12 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + decimal(42)|0s + + + 8 + decimal(42)|0s + + + 9 + decimal(42)|0s + + + 10 + decimal(43)|0s + + + 1 + varchar(32)|0s + + + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 7 + varchar(11)|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 1 + varchar(5)|0s + + + 1 + 2 + varchar(5)|0s + + + 1 + varchar(128)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + varchar(128)|0s + + + 2 + decimal(42)|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 6 + varchar(11)|0s + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 3 + varchar(11)|0s + + + 4 + varchar(11)|0s + + + 5 + varchar(11)|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(64)|0s + + + 3 + decimal(64)|0s + + + 4 + decimal(65,4 digit)|0s + + + 5 + decimal(65)|0s + + + 6 + decimal(64)|0s + + + 7 + decimal(64)|0s + + + 8 + decimal(41)|0s + + + 9 + decimal(41)|0s + + + 1 + 10 + bigint|0s + + + 11 + decimal(63)|0s + + + 12 + decimal(64)|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 4 + bigint unsigned|0s + + + 5 + decimal(42)|0s + + + 6 + decimal(42)|0s + + + 7 + decimal(42)|0s + + + 8 + decimal(42)|0s + + + 9 + decimal(42)|0s + + + 10 + decimal(43)|0s + + + 1 + varchar(255)|0s + + + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + text|0s + + + 2 + decimal(44)|0s + + + 3 + decimal(44)|0s + + + 1 + 4 + bigint|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + decimal(45)|0s + + + 1 + text|0s + + + 2 + text|0s + + + 3 + decimal(44)|0s + + + 4 + decimal(44)|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + bigint|0s + + + 1 + 8 + decimal(45)|0s + + + 1 + datetime|0s + + + 2 + time|0s + + + 3 + bigint|0s + + + 4 + mediumtext|0s + + + 5 + varchar(64)|0s + + + 6 + varchar(64)|0s + + + 7 + varchar(64)|0s + + + 8 + varchar(64)|0s + + + 9 + varchar(64)|0s + + + 1 + 10 + varchar(32)|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + datetime|0s + + + 13 + time|0s + + + 1 + 14 + bigint unsigned|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + bigint unsigned|0s + + + 17 + varchar(1024)|0s + + + 1 + 18 + varchar(128)|0s + + + 1 + 19 + varchar(32)|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 22 + varchar(1024)|0s + + + 1 + 23 + varchar(128)|0s + + + 1 + 24 + varchar(32)|0s + + + 1 + 25 + datetime|0s + + + 26 + time|0s + + + 1 + 27 + bigint unsigned|0s + + + 1 + 28 + bigint unsigned|0s + + + 1 + 29 + varchar(33)|0s + + + 1 + 30 + varchar(27)|0s + + + 1 + varchar(288)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 4 + bigint unsigned|0s + + + 5 + decimal(24,4 digit)|0s + + + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 8 + bigint unsigned|0s + + + 1 + 1 + varchar(512)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint|0s + + + 1 + 4 + decimal(23,4 digit)|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + decimal(23,4 digit)|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + decimal(26,2 digit)|0s + + + 1 + 1 + varchar(512)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint|0s + + + 1 + 9 + decimal(23,4 digit)|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint|0s + + + 1 + 12 + decimal(23,4 digit)|0s + + + 1 + 13 + bigint|0s + + + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint|0s + + + 1 + 11 + decimal(23,4 digit)|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint|0s + + + 1 + 14 + decimal(23,4 digit)|0s + + + 1 + varchar(317)|0s + + + 2 + varchar(512)|0s + + + 3 + bigint unsigned|0s + + + 1 + 4 + varchar(32)|0s + + + 5 + bigint|0s + + + 1 + varchar(255)|0s + + + 2 + decimal(41)|0s + + + 3 + decimal(41)|0s + + + 1 + 4 + decimal(45,4 digit)|0s + + + 5 + bigint|0s + + + 6 + decimal(42)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + varchar(288)|0s + + + 3 + decimal(41)|0s + + + 4 + decimal(41)|0s + + + 1 + 5 + decimal(45,4 digit)|0s + + + 6 + bigint|0s + + + 7 + decimal(42)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(41)|0s + + + 3 + decimal(41)|0s + + + 1 + 4 + decimal(45,4 digit)|0s + + + 5 + bigint|0s + + + 6 + decimal(42)|0s + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint|0s + + + 1 + 3 + bigint|0s + + + 1 + 4 + decimal(23,4 digit)|0s + + + 1 + 5 + bigint|0s + + + 1 + 6 + bigint|0s + + + 1 + 7 + decimal(23,4 digit)|0s + + + 1 + decimal(41)|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + bigint unsigned|0s + + + 3 + varchar(288)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(16)|0s + + + 6 + varchar(64)|0s + + + 7 + bigint|0s + + + 8 + longtext|0s + + + 9 + enum('PRIMARY', 'SECONDARY')|0e + + + 10 + bigint unsigned|0s + + + 11 + decimal(26,2 digit)|0s + + + 12 + bigint unsigned|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + bigint unsigned|0s + + + 17 + bigint unsigned|0s + + + 18 + bigint unsigned|0s + + + 1 + 19 + varchar(3)|0s + + + 20 + longtext|0s + + + 21 + bigint unsigned|0s + + + 22 + decimal(41)|0s + + + 23 + varchar(128)|0s + + + 24 + varchar(20)|0s + + + 25 + varchar(64)|0s + + + 26 + bigint unsigned|0s + + + 27 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 28 + enum('YES', 'NO')|0e + + + 29 + varchar(1024)|0s + + + 30 + varchar(1024)|0s + + + 1 + decimal(21)|0s + + + 1 + 2 + decimal(46,4 digit)|0s + + + 1 + 1 + bigint|0s + + + 2 + decimal(21)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + decimal(42)|0s + + + 4 + decimal(41)|0s + + + 5 + decimal(42)|0s + + + 6 + decimal(42)|0s + + + 7 + decimal(41)|0s + + + 8 + decimal(42)|0s + + + 9 + decimal(42)|0s + + + 10 + decimal(42)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 4 + int|0s + + + 5 + bigint|0s + + + 6 + text|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 3 + varchar(64)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 4 + bigint unsigned|0s + + + 5 + text|0s + + + 1 + 6 + varchar(32)|0s + + + 1 + 7 + varchar(32)|0s + + + 8 + longtext|0s + + + 9 + bigint|0s + + + 10 + bigint unsigned|0s + + + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 13 + bigint unsigned|0s + + + 14 + text|0s + + + 1 + 15 + varchar(32)|0s + + + 1 + 16 + varchar(32)|0s + + + 17 + varchar(31)|0s + + + 18 + varchar(25)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 12 + decimal(42)|0s + + + 13 + decimal(41)|0s + + + 14 + decimal(42)|0s + + + 15 + decimal(42)|0s + + + 16 + decimal(41)|0s + + + 17 + decimal(42)|0s + + + 18 + decimal(42)|0s + + + 19 + decimal(42)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 11 + decimal(42)|0s + + + 12 + decimal(41)|0s + + + 13 + decimal(42)|0s + + + 14 + decimal(42)|0s + + + 15 + decimal(41)|0s + + + 16 + decimal(42)|0s + + + 17 + decimal(42)|0s + + + 18 + decimal(42)|0s + + + 19 + decimal(44)|0s + + + 20 + decimal(44)|0s + + + 21 + decimal(45)|0s + + + 22 + bigint|0s + + + 23 + bigint|0s + + + 24 + bigint|0s + + + 25 + decimal(45)|0s + + + 1 + varchar(64)|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 1 + bigint unsigned|0s + + + 2 + bigint unsigned|0s + + + 3 + varchar(288)|0s + + + 4 + varchar(64)|0s + + + 5 + varchar(16)|0s + + + 6 + varchar(64)|0s + + + 7 + bigint|0s + + + 8 + longtext|0s + + + 9 + enum('PRIMARY', 'SECONDARY')|0e + + + 10 + bigint unsigned|0s + + + 11 + decimal(26,2 digit)|0s + + + 12 + bigint unsigned|0s + + + 13 + bigint unsigned|0s + + + 14 + bigint unsigned|0s + + + 15 + bigint unsigned|0s + + + 16 + bigint unsigned|0s + + + 17 + bigint unsigned|0s + + + 18 + bigint unsigned|0s + + + 1 + 19 + varchar(3)|0s + + + 20 + longtext|0s + + + 21 + bigint unsigned|0s + + + 22 + decimal(41)|0s + + + 23 + varchar(128)|0s + + + 24 + varchar(20)|0s + + + 25 + varchar(64)|0s + + + 26 + bigint unsigned|0s + + + 27 + enum('ACTIVE', 'COMMITTED', 'ROLLED BACK')|0e + + + 28 + enum('YES', 'NO')|0e + + + 29 + varchar(1024)|0s + + + 30 + varchar(1024)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(1)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + bigint unsigned|0s + + + 1 + 14 + decimal(21)|0s + + + 1 + 15 + bigint unsigned|0s + + + 1 + 16 + decimal(21)|0s + + + 1 + 17 + bigint unsigned|0s + + + 1 + 18 + decimal(21)|0s + + + 1 + 19 + bigint unsigned|0s + + + 1 + 20 + bigint unsigned|0s + + + 1 + 21 + bigint unsigned|0s + + + 1 + 22 + bigint unsigned|0s + + + 1 + 23 + bigint unsigned|0s + + + 1 + 24 + bigint unsigned|0s + + + 25 + varchar(64)|0s + + + 1 + 26 + timestamp(6)|0s + + + 1 + 27 + timestamp(6)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + decimal(27,4 digit)|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(27,4 digit)|0s + + + 1 + 8 + timestamp(6)|0s + + + 1 + 9 + timestamp(6)|0s + + + 10 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(24)|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 10 + decimal(21)|0s + + + 11 + decimal(21)|0s + + + 1 + 12 + timestamp(6)|0s + + + 1 + 13 + timestamp(6)|0s + + + 14 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + varchar(1)|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + decimal(21)|0s + + + 1 + 12 + bigint unsigned|0s + + + 1 + 13 + decimal(21)|0s + + + 1 + 14 + timestamp(6)|0s + + + 1 + 15 + timestamp(6)|0s + + + 16 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + decimal(21)|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + decimal(21)|0s + + + 1 + 11 + timestamp(6)|0s + + + 1 + 12 + timestamp(6)|0s + + + 13 + varchar(64)|0s + + + 1 + longtext|0s + + + 2 + varchar(64)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + decimal(21)|0s + + + 1 + 8 + decimal(24)|0s + + + 1 + 9 + timestamp(6)|0s + + + 1 + 10 + timestamp(6)|0s + + + 11 + varchar(64)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(64)|0s + + + 3 + decimal(64)|0s + + + 1 + 4 + decimal(65,4 digit)|0s + + + 5 + decimal(65)|0s + + + 6 + decimal(64)|0s + + + 7 + decimal(64)|0s + + + 8 + decimal(41)|0s + + + 9 + decimal(41)|0s + + + 1 + 10 + bigint|0s + + + 11 + decimal(63)|0s + + + 12 + decimal(64)|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + varchar(32)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 4 + decimal(42)|0s + + + 5 + decimal(42)|0s + + + 6 + decimal(42)|0s + + + 7 + decimal(42)|0s + + + 8 + decimal(42)|0s + + + 9 + decimal(42)|0s + + + 10 + decimal(43)|0s + + + 1 + varchar(32)|0s + + + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 7 + bigint unsigned|0s + + + 1 + 8 + bigint unsigned|0s + + + 1 + 9 + bigint unsigned|0s + + + 1 + 10 + bigint unsigned|0s + + + 1 + 11 + bigint unsigned|0s + + + 1 + varchar(128)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 4 + bigint unsigned|0s + + + 1 + 5 + decimal(46,4 digit)|0s + + + 6 + bigint unsigned|0s + + + 1 + varchar(128)|0s + + + 2 + decimal(42)|0s + + + 3 + decimal(42)|0s + + + 4 + bigint unsigned|0s + + + 1 + 5 + decimal(46,4 digit)|0s + + + 6 + bigint unsigned|0s + + + 1 + varchar(255)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + varchar(32)|0s + + + 1 + 2 + varchar(128)|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 1 + 6 + bigint unsigned|0s + + + 1 + 1 + varchar(128)|0s + + + 1 + 2 + bigint unsigned|0s + + + 1 + 3 + bigint unsigned|0s + + + 1 + 4 + bigint unsigned|0s + + + 1 + 5 + bigint unsigned|0s + + + 4080 + 1 + 1 + int|0s + + + '' + 1 + 2 + char(35)|0s + + + '' + 1 + 3 + char(3)|0s + + + '' + 1 + 4 + char(20)|0s + + + 0 + 1 + 5 + int|0s + + + CountryCode + Code + country + + + ID + btree + 1 + + + CountryCode + btree + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(3)|0s + + + '' + 1 + 2 + char(52)|0s + + + 'Asia' + 1 + 3 + enum('Asia', 'Europe', 'North America', 'Africa', 'Oceania', 'Antarctica', 'South America')|0e + + + '' + 1 + 4 + char(26)|0s + + + 0.00 + 1 + 5 + decimal(10,2 digit)|0s + + + 6 + smallint|0s + + + 0 + 1 + 7 + int|0s + + + 8 + decimal(3,1 digit)|0s + + + 9 + decimal(10,2 digit)|0s + + + 10 + decimal(10,2 digit)|0s + + + '' + 1 + 11 + char(45)|0s + + + '' + 1 + 12 + char(45)|0s + + + 13 + char(60)|0s + + + 14 + int|0s + + + '' + 1 + 15 + char(2)|0s + + + Code + btree + 1 + + + 1 + 1 + PRIMARY + + + '' + 1 + 1 + char(3)|0s + + + '' + 1 + 2 + char(30)|0s + + + 'F' + 1 + 3 + enum('T', 'F')|0e + + + 0.0 + 1 + 4 + decimal(4,1 digit)|0s + + + CountryCode + Code + country + + + CountryCode +Language + btree + 1 + + + CountryCode + btree + + + 1 + 1 + PRIMARY + +
+
\ No newline at end of file diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.meta new file mode 100644 index 0000000..c9edf9f --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.meta @@ -0,0 +1,2 @@ +#n:dormitory +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.zip b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/dormitory.pX3iQw.zip new file mode 100644 index 0000000000000000000000000000000000000000..8ee87fdddafbaadc0655ead1d4d16f38bd09ff55 GIT binary patch literal 14161 zcmcIrU2J1V6;2Cnmz0*jQi^~wOAE1E=dSH*J9f8QHM{m^(Yv=5}S_10S56z~?3R`;VNu<>`Mv4u50$0+b^c+s@t*&mXj$ zp5N>=Jg?o`?pw9&!kLFoTV2O*+||3!?4CS)f4B7jS?>)xofOH~>6~3G*`;iXtmkJ^ z1dBZbzj&2@96B~qq?{tBX?+wL((vEolPel?3%5)?v3K3X1eU`ine#4mny%CE9nx~P z+dao6$B5hS`ww>d%|_>3-}4DBj+oq&hBxUs9jED&O>fiMtg*$bu>x-*@+6e7<;Z6IVc<=(l@B>!&Jru)DcQ`aP0J(3MgqP$I{$ z!(vRq?_@H0bkfk;U*CN2jwWaeOHyiWYtZhr+P$4_quukJUZdA^D6-0HXD&4N1hOKi zbbuAp=}fj*Kv=C8aw&o(pAM>-xcGW)d!>8@u!SWNm(#c~i&%<^wk?q4aV{4HZc0<2 z?=H};I=hXwTW@pJp~97>FxnNz_4++PT|mp5!l=t&-t7)3KcE&(I(f}+_yeHhPe9H) zIP!Gp34tKEw!*L{aN4H$Yi$Z!V=y#@1xRe^@&ho2AX)*O>oogr3+L~O!P(e2P+3?B zhdBydZ3~0?!?*h{ZUS(yd>1KHY;!*MxukfluPF_GjM=U4)Y_eC5!R0i|?l3b?|6 zbnn(*zPAm^!E%pO5_i^(X0zYz_FE0V-S1H_J+#(ZD@&&tMWzF4I#VoU^VwplP(n!M z0a8$MCGeuO%BRzDA$9uAqi?(maKaLJ_$W3k&TU*+MUA6EYiOTFt=8nm9q1nkwQX7< zGT9H)o(#*Xo4Z-{kpw#e(gU+f7)j_DcOfCw97?k1NT0=(Q-5SEXDLZ%| z9NfbhTQtaHyLiaprU`I&%seIzpvndZH3b+3^ru_r4?O|^$8x6$^bL&9tc6Es+8aB< zQ*sf|E*;R>bg`JuXEM0`ujg%u0ifh;aFM)O#r2ccZbkz!dkc<(3r%NC8AHZgX5G#;b_EsG8DvD@kP-vl2Z*Y_@>&x zLI%wTOKvCkAS8C8B3Vs*$4GPFx^Q;c7u$XyRODVHi1cs`V^Sww}#^25DuZ1LBo9dW=-#qrbfM)jqfzEO)DFG?^4@7+ZPfK!M77aBL;&x{1{0 z4n3t36ofQq<|4+ZP zSnLBVWo#&pSag6)aYPIOMh(2li8|py2q9f7IQpiBo7pKhq=O%5wH_9N;bz9hWWVWD z)O!u<3SAwyFy*$jkQ zw6bZ2k5&b7h!}~&=YIN+|DFQ`VxdPK;l;yQ6zdopeBr|dnA10~tGKCyJ4EI?rCao9 z_Jk;MR(8#`mGUg?nxPve#ZIkKmyl!lV%|>mVJYyPn4wX&RQ#!6Z~R^N{#(Ctp$&M$ zGNs}UtecPK9p9(E**e~=oi59GX_!FZ%>-CBozEAFGvMdI%VDg9#V$Zx&#OY*FzLA$ zcHij%varz1j6l~gGlJW(ku^M2fGV-Wm_d>0#ym@ELUBo+g*zTPB;Lz5K&n3klV^#& zP&PF!C3TE%QcdtSWoSu9bHqrf=8WlZ)aMD65{4S;>FAK)<(lZ_Jd6IMuB$2jRuHE4 zGlUA6g!{Fg|MlP847kGb8N`?0*y=dqD#Ek6OJ`TN zuf#cZq|1DEefwXB0MJ;f@9**?_@ggRxYP)9sB(j0o@Tkn;!O@4ii5_s50@}ZnzR8@ z2SRW3_jcbUc;5lnG<)$}Abkxzp!9F`)wK$3WqYb*i{i3cIiv2qWVTus7A5;R$MbN` z2#fm;|Lzx8J_)kMLJu1Zmcv

++>yZ%#VBVFDeh_TN{Z9l)4a9)rT+KKvRV*8r^u z6BK#@Uj|WYt?GBTB|EHfx03c+@@O7LqT9>OZ~guU7hqg0m^|e6680h=TUyMn z>s*A4PshGIiat6Uxv?5rxr z4P2gl{^dWt0Y-x5?6q3w7*?{vgtx?nCqT0g2Q1asZ#jT_$8h#x%DI}2lq)9|XCWoz zTxxp|9q(*3`-7g3$pD5u`YuQFiRHCwJ#kNxr3&;nC|zXUiS{zUOWzOH#H^F2#Q9Fa zV`$uC6b`_Y_4&vHB(2+WZGNsgyGUxM7i)D4=cjUTy^@|{rd+AjX6Gs!^~%{gS}|vW zv^~=3zy}PieaIMl?VX;}B7UDVhy<)PHQENhUB5zak?$Y(H9mdSz{&?<{rPg>dOOk9Ily?*fHX)p#Xi|^-x#xR1# z{?4p=XLEu|h5{*UXV9b=XKzrFULo_q>?9$fnj*`cmNdh8_=pA)p4xB59bS#{5x2Bx{#}!uHRn#BKP!_L z@n1CXm`wxfW^%rh$6&YorLU%&kxEEvn?wO;rb7-i9l1cC@+SPox9 zm4aI)bJ_qAjVAjTxaARxm=gjCIugb!%gyFsx6$)41rhu`O)``sEZi{Q7(^J?U4Pp| z^apDn1r-F(=+DB#-<$>GKM&JfeSFZ?sNv0zqcBurPwjd!{MP7C zr6Neo#h4#B1+)Dp?rgB8n3I_w!`voTHu1m>VrkOoBR-7@>o*r=e$W!k^S4;@z>4Bb zV}6oxhg{A#ZW7Dk+ScsG{6Hg$#$1;9QAIFc{!rZc0ss!NWKL&Z#D7>WZx@VB!}-v) zJYN!RH^(*a(t~ktfXq(xxB=^-!Q&q*(r_G@H)jDK?;d~;kjuf?Ft318LK+jVd_oZiiwJ6L z!xNkIzPLz1Ttrad;)kw+Oi-BjHvtou!6QqHjF^JoN`VL>2x9SI-bs8~3gVvI6&{8Y z^&;nwLI~*%*S>kD5X|;gyxEw-xkBV+N%&-DIvn-@{(KX5hN~pUxpRihxE|P;xpDmJ zfIWYR98jiE24iN* z;}U$2I6A9H^{7Qx{GenC#!Oh^|6RkLpTwF-ie_{+QcYiurZyQhGmZhH-~D_Xi5!4Y zP~Z4`nwc%|x%~Mf#ABm1C;1FdVX1kpa0*j!W@aj2=!YP~_l+SCRy=;plnj1V!JZQM z(lPjn@Qy55pkZH4(8Pbs6r`C_2^i19mD@FCTsjhYBorPpWVI^`H{6H [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/information_schema.FNRwLQ.zip b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/information_schema.FNRwLQ.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f7c4c83b8466621b7a3bb436eec36d7d81959ea GIT binary patch literal 146284 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 literal 0 HcmV?d00001 diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/mysql.osA4Bg.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/mysql.osA4Bg.meta new file mode 100644 index 0000000..ada747c --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/mysql.osA4Bg.meta @@ -0,0 +1,2 @@ +#n:mysql +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/performance_schema.kIw0nw.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/performance_schema.kIw0nw.meta new file mode 100644 index 0000000..25ecd53 --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/performance_schema.kIw0nw.meta @@ -0,0 +1,2 @@ +#n:performance_schema +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.meta new file mode 100644 index 0000000..9ef2d61 --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.meta @@ -0,0 +1,2 @@ +#n:sakila +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.zip b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sakila.oXLGyQ.zip new file mode 100644 index 0000000000000000000000000000000000000000..d9aa220c2092cfced0526d5534b0e8f7944d8f1e GIT binary patch literal 24593 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 literal 0 HcmV?d00001 diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.meta new file mode 100644 index 0000000..240e69d --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.meta @@ -0,0 +1,2 @@ +#n:sys +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.zip b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/sys.zb4BAA.zip new file mode 100644 index 0000000000000000000000000000000000000000..0968a555a7582aed171f11e8f7b711377d443a5a GIT binary patch literal 503236 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%0ASCedV~WJNTvtWi2+5j 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 b^vW@?X@~q7M({TM+Bla>(y058YnJ{43TB){ literal 0 HcmV?d00001 diff --git a/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/world.khvBBg.meta b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/world.khvBBg.meta new file mode 100644 index 0000000..f8d2144 --- /dev/null +++ b/database/database/.idea/dataSources/b17b4acc-8ddf-4336-a9b5-af14c1e96c6f/storage_v2/_src_/schema/world.khvBBg.meta @@ -0,0 +1,2 @@ +#n:world +! [0, 0, null, null, -2147483648, -2147483648] diff --git a/database/database/.idea/encodings.xml b/database/database/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/database/database/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/database/database/.idea/jpa.xml b/database/database/.idea/jpa.xml new file mode 100644 index 0000000..29e7fa8 --- /dev/null +++ b/database/database/.idea/jpa.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/database/database/.idea/misc.xml b/database/database/.idea/misc.xml new file mode 100644 index 0000000..132404b --- /dev/null +++ b/database/database/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/database/database/.idea/vcs.xml b/database/database/.idea/vcs.xml new file mode 100644 index 0000000..d843f34 --- /dev/null +++ b/database/database/.idea/vcs.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/database/database/pom.xml b/database/database/pom.xml new file mode 100644 index 0000000..7de9035 --- /dev/null +++ b/database/database/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + + com.studentmanagement + student-management + 0.0.1-SNAPSHOT + student-management + Student Management Application + jar + + + org.springframework.boot + spring-boot-starter-parent + 2.7.5 + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + mysql + mysql-connector-java + 8.0.28 + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.springframework.boot + spring-boot-starter-logging + + + + + org.projectlombok + lombok + 1.18.24 + provided + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + + 1.8 + + + diff --git a/database/database/src/main/java/com/studentmanagement/AccommodationRecordsRepository.java b/database/database/src/main/java/com/studentmanagement/AccommodationRecordsRepository.java new file mode 100644 index 0000000..55682c3 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/AccommodationRecordsRepository.java @@ -0,0 +1,24 @@ +package com.studentmanagement; + +import com.studentmanagement.model.accommodationRecords; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface AccommodationRecordsRepository extends JpaRepository { + + // 根据学生ID查询住宿记录 + List findByStudentID(int studentID); + + // 根据宿舍ID查询住宿记录 + List findByDormitoryID(int dormitoryID); + + // 根据状态查询住宿记录 + List findByStatus(boolean status); + + // 根据学生ID和宿舍ID查询住宿记录 + List findByStudentIDAndDormitoryID(int studentID, int dormitoryID); + +} diff --git a/database/database/src/main/java/com/studentmanagement/BuildingsRepository.java b/database/database/src/main/java/com/studentmanagement/BuildingsRepository.java new file mode 100644 index 0000000..0b81db9 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/BuildingsRepository.java @@ -0,0 +1,18 @@ +package com.studentmanagement; + +import com.studentmanagement.model.buildings; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface BuildingsRepository extends JpaRepository { + + // 根据建筑物ID查询 + Optional findById(Integer id); + + // 查询所有建筑物 + List findAll(); +} diff --git a/database/database/src/main/java/com/studentmanagement/ClassesRepository.java b/database/database/src/main/java/com/studentmanagement/ClassesRepository.java new file mode 100644 index 0000000..8965879 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/ClassesRepository.java @@ -0,0 +1,18 @@ +package com.studentmanagement; + +import com.studentmanagement.model.classes; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +@Repository +public interface ClassesRepository extends JpaRepository { + + // 根据班级名称查询 + Optional findByName(String name); + + // 根据班级ID查询 + Optional findById(Integer id); +} + diff --git a/database/database/src/main/java/com/studentmanagement/DormitoryRepository.java b/database/database/src/main/java/com/studentmanagement/DormitoryRepository.java new file mode 100644 index 0000000..28254ae --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/DormitoryRepository.java @@ -0,0 +1,24 @@ +package com.studentmanagement; + +import com.studentmanagement.model.dormitory; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface DormitoryRepository extends JpaRepository { + + // 根据宿舍ID查询 + Optional findById(Integer id); + + // 根据建筑ID查询宿舍 + List findByBuildingID(int buildingID); + + // 根据班级ID查询宿舍 + List findByClassID(int classID); + + // 根据人数查询宿舍 + List findByOccupantsGreaterThan(int occupants); +} diff --git a/database/database/src/main/java/com/studentmanagement/EnergyConsumptionsRepository.java b/database/database/src/main/java/com/studentmanagement/EnergyConsumptionsRepository.java new file mode 100644 index 0000000..be7cd5a --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/EnergyConsumptionsRepository.java @@ -0,0 +1,21 @@ +package com.studentmanagement; + +import com.studentmanagement.model.EnergyConsumptions; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface EnergyConsumptionsRepository extends JpaRepository { + + // 根据宿舍ID查询能源消耗记录 + List findByDormitoryID(int dormitoryID); + + // 查询水电费大于某个值的记录 + List findByWaterBillGreaterThan(double waterBill); + + // 查询电费大于某个值的记录 + List findByElectricityBillGreaterThan(double electricityBill); +} diff --git a/database/database/src/main/java/com/studentmanagement/HealthInspectionsRepository.java b/database/database/src/main/java/com/studentmanagement/HealthInspectionsRepository.java new file mode 100644 index 0000000..dc2ac35 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/HealthInspectionsRepository.java @@ -0,0 +1,20 @@ +package com.studentmanagement; + +import com.studentmanagement.model.HealthInspections; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface HealthInspectionsRepository extends JpaRepository { + + // 根据宿舍ID查询健康检查记录 + List findByDormitoryID(int dormitoryID); + + // 根据健康评分查询 + List findByRating(int rating); + + // 根据检查时间范围查询 + List findByInspectionTimeBetween(String startTime, String endTime); +} diff --git a/database/database/src/main/java/com/studentmanagement/MaintenanceRecordsRepository.java b/database/database/src/main/java/com/studentmanagement/MaintenanceRecordsRepository.java new file mode 100644 index 0000000..cf9f7a0 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/MaintenanceRecordsRepository.java @@ -0,0 +1,20 @@ +package com.studentmanagement; + +import com.studentmanagement.model.MaintenanceRecords; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface MaintenanceRecordsRepository extends JpaRepository { + + // 根据宿舍ID查询维修记录 + List findByDormitoryID(int dormitoryID); + + // 根据维修人员查询 + List findByRepairPerson(String repairPerson); + + // 根据维修时间范围查询 + List findByRepairTimeBetween(String startTime, String endTime); +} diff --git a/database/database/src/main/java/com/studentmanagement/SafetyInspectionsRepository.java b/database/database/src/main/java/com/studentmanagement/SafetyInspectionsRepository.java new file mode 100644 index 0000000..6d6a262 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/SafetyInspectionsRepository.java @@ -0,0 +1,20 @@ +package com.studentmanagement; + +import com.studentmanagement.model.SafetyInspections; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface SafetyInspectionsRepository extends JpaRepository { + + // 根据宿舍ID查询安全检查记录 + List findByDormitoryID(int dormitoryID); + + // 根据检查人查询 + List findByInspector(String inspector); + + // 根据检查时间范围查询 + List findByInspectionTimeBetween(String startTime, String endTime); +} diff --git a/database/database/src/main/java/com/studentmanagement/StudentRepository.java b/database/database/src/main/java/com/studentmanagement/StudentRepository.java new file mode 100644 index 0000000..06948b9 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/StudentRepository.java @@ -0,0 +1,27 @@ +package com.studentmanagement; + +import com.studentmanagement.model.student; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +@org.springframework.stereotype.Repository +public interface StudentRepository extends JpaRepository { + + + // 根据学生姓名查询学生 + List findByName(String name); + + // 根据班级ID查询学生 + List findByClassID(int classID); + + // 根据性别查询学生 + List findByGender(char gender); + + // 根据学生ID查询学生 + Optional findById(Integer id); + + // 删除学生记录(可以通过继承 JpaRepository 默认方法) + void deleteById(Integer id); +} diff --git a/database/database/src/main/java/com/studentmanagement/TakeoutsRepository.java b/database/database/src/main/java/com/studentmanagement/TakeoutsRepository.java new file mode 100644 index 0000000..30bd3eb --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/TakeoutsRepository.java @@ -0,0 +1,24 @@ +package com.studentmanagement; + +import com.studentmanagement.model.Takeouts; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface TakeoutsRepository extends JpaRepository { + + // 根据宿舍ID查询外卖记录 + List findByDormitoryID(int dormitoryID); + + // 根据外卖状态查询外卖记录 + List findByStatus(boolean status); + + // 根据外卖送达时间查询 + List findByDeliveryTimeBetween(String startTime, String endTime); + + // 根据外卖取餐时间查询 + List findByPickupTimeBetween(String startTime, String endTime); +} diff --git a/database/database/src/main/java/com/studentmanagement/model/EnergyConsumptions.java b/database/database/src/main/java/com/studentmanagement/model/EnergyConsumptions.java new file mode 100644 index 0000000..4fd1bae --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/EnergyConsumptions.java @@ -0,0 +1,53 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "energy_consumptions") +public class EnergyConsumptions { + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Column(name = "water_bill") + private double waterBill; + + @Column(name = "electricity_bill") + private double electricityBill; + + // Constructors, Getters and Setters + public EnergyConsumptions() {} + + public EnergyConsumptions(int dormitory_id, double waterBill, double electricityBill) { + this.dormitory_id = dormitory_id; + this.waterBill = waterBill; + this.electricityBill = electricityBill; + } + + // Getters and Setters + public int getDormitory() { + return dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } + + public double getWaterBill() { + return waterBill; + } + + public void setWaterBill(double waterBill) { + this.waterBill = waterBill; + } + + public double getElectricityBill() { + return electricityBill; + } + + public void setElectricityBill(double electricityBill) { + this.electricityBill = electricityBill; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/HealthInspections.java b/database/database/src/main/java/com/studentmanagement/model/HealthInspections.java new file mode 100644 index 0000000..31675e0 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/HealthInspections.java @@ -0,0 +1,55 @@ +package com.studentmanagement.model; + +import javax.persistence.*; +import java.sql.Timestamp; + +@Entity +@Table(name = "health_inspections") +public class HealthInspections { + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Id + @Column(name = "inspection_time") + private Timestamp inspectionTime; + + @Column(name = "rating") + private int rating; + + // Constructors, Getters and Setters + public HealthInspections() {} + + public HealthInspections(int dormitory_id, Timestamp inspectionTime, int rating) { + this.dormitory_id = dormitory_id; + this.inspectionTime = inspectionTime; + this.rating = rating; + } + + // Getters and Setters + public int getDormitory() { + return dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } + + public Timestamp getInspectionTime() { + return inspectionTime; + } + + public void setInspectionTime(Timestamp inspectionTime) { + this.inspectionTime = inspectionTime; + } + + public int getRating() { + return rating; + } + + public void setRating(int rating) { + this.rating = rating; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/MaintenanceRecords.java b/database/database/src/main/java/com/studentmanagement/model/MaintenanceRecords.java new file mode 100644 index 0000000..703ea73 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/MaintenanceRecords.java @@ -0,0 +1,78 @@ +package com.studentmanagement.model; + +import javax.persistence.*; +import java.sql.Timestamp; + +@Entity +@Table(name = "maintenance_records") +public class MaintenanceRecords { + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Column(name = "repair_time") + private Timestamp repairTime; + + @Column(name = "repair_person") + private String repairPerson; + + @Column(name = "repair_details") + private String repairDetails; + + @Column(name = "status") + private boolean status; + + // Constructors, Getters and Setters + public MaintenanceRecords() {} + + public MaintenanceRecords(int dormitory_id, Timestamp repairTime, String repairPerson, String repairDetails, boolean status) { + this.dormitory_id = dormitory_id; + this.repairTime = repairTime; + this.repairPerson = repairPerson; + this.repairDetails = repairDetails; + this.status = status; + } + + // Getters and Setters + public int getDormitory() { + return dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } + + public Timestamp getRepairTime() { + return repairTime; + } + + public void setRepairTime(Timestamp repairTime) { + this.repairTime = repairTime; + } + + public String getRepairPerson() { + return repairPerson; + } + + public void setRepairPerson(String repairPerson) { + this.repairPerson = repairPerson; + } + + public String getRepairDetails() { + return repairDetails; + } + + public void setRepairDetails(String repairDetails) { + this.repairDetails = repairDetails; + } + + public boolean isStatus() { + return status; + } + + public void setStatus(boolean status) { + this.status = status; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/SafetyInspections.java b/database/database/src/main/java/com/studentmanagement/model/SafetyInspections.java new file mode 100644 index 0000000..074ae2a --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/SafetyInspections.java @@ -0,0 +1,67 @@ +package com.studentmanagement.model; + +import javax.persistence.*; +import java.sql.Timestamp; + +@Entity +@Table(name = "safety_inspections") +public class SafetyInspections { + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Id + @Column(name = "inspection_time") + private Timestamp inspectionTime; + + @Column(name = "inspector") + private String inspector; + + @Column(name = "issues") + private String issues; + + // Constructors, Getters and Setters + public SafetyInspections() {} + + public SafetyInspections(int dormitory_id, Timestamp inspectionTime, String inspector, String issues) { + this.dormitory_id = dormitory_id; + this.inspectionTime = inspectionTime; + this.inspector = inspector; + this.issues = issues; + } + + // Getters and Setters + public int getDormitory() { + return dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } + + public Timestamp getInspectionTime() { + return inspectionTime; + } + + public void setInspectionTime(Timestamp inspectionTime) { + this.inspectionTime = inspectionTime; + } + + public String getInspector() { + return inspector; + } + + public void setInspector(String inspector) { + this.inspector = inspector; + } + + public String getIssues() { + return issues; + } + + public void setIssues(String issues) { + this.issues = issues; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/Takeouts.java b/database/database/src/main/java/com/studentmanagement/model/Takeouts.java new file mode 100644 index 0000000..31cf018 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/Takeouts.java @@ -0,0 +1,67 @@ +package com.studentmanagement.model; + +import javax.persistence.*; +import java.sql.Timestamp; + +@Entity +@Table(name = "takeouts") +public class Takeouts { + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Id + @Column(name = "delivery_time") + private Timestamp deliveryTime; + + @Column(name = "pickup_time") + private Timestamp pickupTime; + + @Column(name = "status") + private boolean status; + + // Constructors, Getters and Setters + public Takeouts() {} + + public Takeouts(int dormitory_id, Timestamp deliveryTime, Timestamp pickupTime, boolean status) { + this.dormitory_id = dormitory_id; + this.deliveryTime = deliveryTime; + this.pickupTime = pickupTime; + this.status = status; + } + + // Getters and Setters + public int getDormitory() { + return dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } + + public Timestamp getDeliveryTime() { + return deliveryTime; + } + + public void setDeliveryTime(Timestamp deliveryTime) { + this.deliveryTime = deliveryTime; + } + + public Timestamp getPickupTime() { + return pickupTime; + } + + public void setPickupTime(Timestamp pickupTime) { + this.pickupTime = pickupTime; + } + + public boolean isStatus() { + return status; + } + + public void setStatus(boolean status) { + this.status = status; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/accommodationRecords.java b/database/database/src/main/java/com/studentmanagement/model/accommodationRecords.java new file mode 100644 index 0000000..e2913ea --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/accommodationRecords.java @@ -0,0 +1,47 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "accommodation_records") +public class accommodationRecords { + + @Id + @ManyToOne + @JoinColumn(name = "student_id") + private int student_id; + + @Id + @ManyToOne + @JoinColumn(name = "dormitory_id") + private int dormitory_id; + + @Column(name = "status") + private boolean status; + + // Constructors, Getters and Setters + public accommodationRecords() {} + + public accommodationRecords(int student_id, int dormitory_id, boolean status) { + this.student_id = student_id; + this.dormitory_id = dormitory_id; + this.status = status; + } + + // Getters and Setters + public int getStudent() { + return this.student_id; + } + + public void setStudent(int student_id) { + this.student_id = student_id; + } + + public int getDormitory() { + return this.dormitory_id; + } + + public void setDormitory(int dormitory_id) { + this.dormitory_id = dormitory_id; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/buildings.java b/database/database/src/main/java/com/studentmanagement/model/buildings.java new file mode 100644 index 0000000..4e43137 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/buildings.java @@ -0,0 +1,29 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "buildings") +public class buildings { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "building_id") + private int buildingID; + + // Constructors, Getters and Setters + public buildings() {} + + public buildings(int buildingID) { + this.buildingID = buildingID; + } + + // Getters and Setters + public int getBuildingID() { + return buildingID; + } + + public void setBuildingID(int buildingID) { + this.buildingID = buildingID; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/classes.java b/database/database/src/main/java/com/studentmanagement/model/classes.java new file mode 100644 index 0000000..13721a3 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/classes.java @@ -0,0 +1,52 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "classes") +public class classes { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "class_id") + private int classID; + + @Column(name = "teacher_name") + private String teacherName; + + @Column(name = "teacher_phone") + private String teacherPhone; + + // Constructors, Getters and Setters + public classes() {} + + public classes(String teacherName, String teacherPhone) { + this.teacherName = teacherName; + this.teacherPhone = teacherPhone; + } + + // Getters and Setters + public int getClassID() { + return classID; + } + + public void setClassID(int classID) { + this.classID = classID; + } + + public String getTeacherName() { + return teacherName; + } + + public void setTeacherName(String teacherName) { + this.teacherName = teacherName; + } + + public String getTeacherPhone() { + return teacherPhone; + } + + public void setTeacherPhone(String teacherPhone) { + this.teacherPhone = teacherPhone; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/dormitory.java b/database/database/src/main/java/com/studentmanagement/model/dormitory.java new file mode 100644 index 0000000..e8e5b66 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/dormitory.java @@ -0,0 +1,76 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "dormitories") +public class dormitory { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "dormitory_id") + private int dormitoryID; + + @Column(name = "building_id") + private int buildingID; + + @Column(name = "class_id") + private int classID; + + @Column(name = "occupants") + private int occupants; + + @Column(name = "room_count") + private int roomCount; + + // Constructors, Getters and Setters + public dormitory() {} + + public dormitory(int buildingID, int classID, int occupants, int roomCount) { + this.buildingID = buildingID; + this.classID = classID; + this.occupants = occupants; + this.roomCount = roomCount; + } + + // Getters and Setters + public int getDormitoryID() { + return dormitoryID; + } + + public void setDormitoryID(int dormitoryID) { + this.dormitoryID = dormitoryID; + } + + public int getBuildingID() { + return buildingID; + } + + public void setBuildingID(int buildingID) { + this.buildingID = buildingID; + } + + public int getClassID() { + return classID; + } + + public void setClassID(int classID) { + this.classID = classID; + } + + public int getOccupants() { + return occupants; + } + + public void setOccupants(int occupants) { + this.occupants = occupants; + } + + public int getRoomCount() { + return roomCount; + } + + public void setRoomCount(int roomCount) { + this.roomCount = roomCount; + } +} diff --git a/database/database/src/main/java/com/studentmanagement/model/student.java b/database/database/src/main/java/com/studentmanagement/model/student.java new file mode 100644 index 0000000..3564aec --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/model/student.java @@ -0,0 +1,57 @@ +package com.studentmanagement.model; + +import javax.persistence.*; + +@Entity +@Table(name = "students") +public class student { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "student_id") + private int studentID; + + @Column(name = "name") + private String name; + + @Column(name = "gender") + private char gender; + + @Column(name = "class_id") + private int classID; + + @Column(name = "dormitory_id") + private int dormitoryID; + + // Constructors, Getters and Setters + public student() {} + + public student(String name, char gender, int classID, int dormitoryID) { + this.name = name; + this.gender = gender; + this.classID = classID; + this.dormitoryID = dormitoryID; + } + + public Object getStudentID() { + return studentID; + } + + public Object getName() { + return name; + } + + public Object getGender() { + return gender; + } + + public Object getDormitoryID() { + return dormitoryID; + } + + public Object getClassID() { + return classID; + } + + // Getters and Setters +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/AccommodationRecordController.java b/database/database/src/main/java/com/studentmanagement/operation/AccommodationRecordController.java new file mode 100644 index 0000000..6d393be --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/AccommodationRecordController.java @@ -0,0 +1,36 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.accommodationRecords; +import com.studentmanagement.service.AccommodationRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/accommodation-records") +public class AccommodationRecordController { + + @Autowired + private AccommodationRecordService accommodationRecordService; + + // 获取所有住宿记录 + @GetMapping + public List getAllAccommodationRecords() { + return accommodationRecordService.getAllAccommodationRecords(); + } + + // 根据学生ID和宿舍ID获取住宿记录 + @GetMapping("/student/{studentID}/dormitory/{dormitoryID}") + public List getAccommodationRecordByStudentAndDormitory( + @PathVariable int studentID, @PathVariable int dormitoryID) { + return accommodationRecordService.getAccommodationRecordByStudentAndDormitory(dormitoryID); + } + + // 创建或更新住宿记录 + @PostMapping + public accommodationRecords saveAccommodationRecord(@RequestBody accommodationRecords accommodationRecord) { + return accommodationRecordService.saveAccommodationRecord(accommodationRecord); + } + +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/BuildingController.java b/database/database/src/main/java/com/studentmanagement/operation/BuildingController.java new file mode 100644 index 0000000..164f857 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/BuildingController.java @@ -0,0 +1,41 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.buildings; +import com.studentmanagement.service.BuildingService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/buildings") +public class BuildingController { + + @Autowired + private BuildingService buildingService; + + // 获取所有宿舍楼 + @GetMapping + public List getAllBuildings() { + return buildingService.getAllBuildings(); + } + + // 根据宿舍楼ID获取宿舍楼 + @GetMapping("/{buildingID}") + public Optional getBuildingById(@PathVariable int buildingID) { + return buildingService.getBuildingById(buildingID); + } + + // 创建或更新宿舍楼 + @PostMapping + public buildings saveBuilding(@RequestBody buildings building) { + return buildingService.saveBuilding(building); + } + + // 删除宿舍楼 + @DeleteMapping("/{buildingID}") + public void deleteBuilding(@PathVariable int buildingID) { + buildingService.deleteBuildingById(buildingID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/ClassController.java b/database/database/src/main/java/com/studentmanagement/operation/ClassController.java new file mode 100644 index 0000000..a9bc876 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/ClassController.java @@ -0,0 +1,36 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.classes; +import com.studentmanagement.service.ClassService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/classes") +public class ClassController { + + @Autowired + private ClassService classService; + + // 获取所有班级 + @GetMapping + public List getAllClasses() { + return classService.getAllClasses(); + } + + // 根据班级ID获取班级 + @GetMapping("/{classID}") + public Optional getClassById(@PathVariable int classID) { + return classService.getClassById(classID); + } + + // 创建或更新班级 + @PostMapping + public classes saveClass(@RequestBody classes classObj) { + return classService.saveClass(classObj); + } + +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/DormitoryController.java b/database/database/src/main/java/com/studentmanagement/operation/DormitoryController.java new file mode 100644 index 0000000..26ee93c --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/DormitoryController.java @@ -0,0 +1,41 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.dormitory; +import com.studentmanagement.service.DormitoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/dormitories") +public class DormitoryController { + + @Autowired + private DormitoryService dormitoryService; + + // 获取所有宿舍 + @GetMapping + public List getAllDormitories() { + return dormitoryService.getAllDormitories(); + } + + // 根据宿舍ID获取宿舍 + @GetMapping("/{dormitoryID}") + public Optional getDormitoryById(@PathVariable int dormitoryID) { + return dormitoryService.getDormitoryById(dormitoryID); + } + + // 创建或更新宿舍 + @PostMapping + public dormitory saveDormitory(@RequestBody dormitory dormitory) { + return dormitoryService.saveDormitory(dormitory); + } + + // 删除宿舍 + @DeleteMapping("/{dormitoryID}") + public void deleteDormitory(@PathVariable int dormitoryID) { + dormitoryService.deleteDormitoryById(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/EnergyConsumptionController.java b/database/database/src/main/java/com/studentmanagement/operation/EnergyConsumptionController.java new file mode 100644 index 0000000..b8b6df9 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/EnergyConsumptionController.java @@ -0,0 +1,34 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.EnergyConsumptions; +import com.studentmanagement.service.EnergyConsumptionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/energy-consumptions") +public class EnergyConsumptionController { + + @Autowired + private EnergyConsumptionService energyConsumptionService; + + // 根据宿舍ID获取能源消耗记录 + @GetMapping("/dormitory/{dormitoryID}") + public List getEnergyConsumptionByDormitoryID(@PathVariable int dormitoryID) { + return energyConsumptionService.getAllEnergyConsumptions(dormitoryID); + } + + // 创建或更新能源消耗记录 + @PostMapping + public EnergyConsumptions saveEnergyConsumption(@RequestBody EnergyConsumptions energyConsumption) { + return energyConsumptionService.saveEnergyConsumption(energyConsumption); + } + + // 删除能源消耗记录 + @DeleteMapping("/{dormitoryID}") + public void deleteEnergyConsumption(@PathVariable int dormitoryID) { + energyConsumptionService.deleteEnergyConsumptionByDormitoryID(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/HealthInspectionController.java b/database/database/src/main/java/com/studentmanagement/operation/HealthInspectionController.java new file mode 100644 index 0000000..36acaff --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/HealthInspectionController.java @@ -0,0 +1,35 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.HealthInspections; +import com.studentmanagement.service.HealthInspectionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/health-inspections") +public class HealthInspectionController { + + @Autowired + private HealthInspectionService healthInspectionService; + + // 获取所有卫生检查记录 + @GetMapping + public List getAllHealthInspections() { + return healthInspectionService.getAllHealthInspections(); + } + + // 根据宿舍ID获取卫生检查记录 + @GetMapping("/dormitory/{dormitoryID}") + public List getHealthInspectionsByDormitoryID(@PathVariable int dormitoryID) { + return healthInspectionService.getHealthInspectionsByDormitoryID(dormitoryID); + } + + // 创建或更新卫生检查记录 + @PostMapping + public HealthInspections saveHealthInspection(@RequestBody HealthInspections healthInspection) { + return healthInspectionService.saveHealthInspection(healthInspection); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/MaintenanceRecordController.java b/database/database/src/main/java/com/studentmanagement/operation/MaintenanceRecordController.java new file mode 100644 index 0000000..af0b67e --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/MaintenanceRecordController.java @@ -0,0 +1,43 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.MaintenanceRecords; +import com.studentmanagement.service.MaintenanceRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/maintenance-records") +public class MaintenanceRecordController { + + @Autowired + private MaintenanceRecordService maintenanceRecordService; + + // 获取所有维修记录 + @GetMapping + public List getAllMaintenanceRecords() { + return maintenanceRecordService.getAllMaintenanceRecords(); + } + + // 根据维修记录ID获取维修记录 + @GetMapping("/{dormitoryID}/{repairTime}") + public Optional getMaintenanceRecordById( + @PathVariable int dormitoryID) { + return maintenanceRecordService.getMaintenanceRecordById(dormitoryID); + } + + // 创建或更新维修记录 + @PostMapping + public MaintenanceRecords saveMaintenanceRecord(@RequestBody MaintenanceRecords maintenanceRecord) { + return maintenanceRecordService.saveMaintenanceRecord(maintenanceRecord); + } + + // 删除维修记录 + @DeleteMapping("/{dormitoryID}/{repairTime}") + public void deleteMaintenanceRecord( + @PathVariable int dormitoryID) { + maintenanceRecordService.deleteMaintenanceRecordById(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/SafetyInspectionController.java b/database/database/src/main/java/com/studentmanagement/operation/SafetyInspectionController.java new file mode 100644 index 0000000..a18ab43 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/SafetyInspectionController.java @@ -0,0 +1,35 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.SafetyInspections; +import com.studentmanagement.service.SafetyInspectionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/safety-inspections") +public class SafetyInspectionController { + + @Autowired + private SafetyInspectionService safetyInspectionService; + + // 获取所有安全检查记录 + @GetMapping + public List getAllSafetyInspections() { + return safetyInspectionService.getAllSafetyInspections(); + } + + // 根据宿舍ID获取安全检查记录 + @GetMapping("/dormitory/{dormitoryID}") + public List getSafetyInspectionsByDormitoryID(@PathVariable int dormitoryID) { + return safetyInspectionService.getSafetyInspectionsByDormitoryID(dormitoryID); + } + + // 创建或更新安全检查记录 + @PostMapping + public SafetyInspections saveSafetyInspection(@RequestBody SafetyInspections safetyInspection) { + return safetyInspectionService.saveSafetyInspection(safetyInspection); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/SimpleDormitoryManagement.java b/database/database/src/main/java/com/studentmanagement/operation/SimpleDormitoryManagement.java new file mode 100644 index 0000000..32a4d3a --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/SimpleDormitoryManagement.java @@ -0,0 +1,225 @@ +package com.studentmanagement.operation; + +import javax.swing.*; +import javax.swing.table.DefaultTableModel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.*; +import java.util.Vector; + +public class SimpleDormitoryManagement { + private static Connection connection; + + public static void main(String[] args) { + // 连接数据库 + connectToDatabase(); + + // 创建主窗口 + JFrame frame = new JFrame("宿舍管理系统"); + frame.setSize(800, 600); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + // 表格展示区域 + JTable table = new JTable(); + JScrollPane scrollPane = new JScrollPane(table); + frame.add(scrollPane, BorderLayout.CENTER); + + // 按钮操作区域 + JPanel buttonPanel = new JPanel(); + JButton addButton = new JButton("添加"); + JButton updateButton = new JButton("修改"); + JButton deleteButton = new JButton("删除"); + JButton refreshButton = new JButton("刷新"); + + buttonPanel.add(addButton); + buttonPanel.add(updateButton); + buttonPanel.add(deleteButton); + buttonPanel.add(refreshButton); + frame.add(buttonPanel, BorderLayout.SOUTH); + + // 刷新表格数据 + refreshTableData(table); + + // 添加按钮功能 + addButton.addActionListener(e -> showAddDialog(frame, table)); + + // 修改按钮功能 + updateButton.addActionListener(e -> showUpdateDialog(frame, table)); + + // 删除按钮功能 + deleteButton.addActionListener(e -> deleteSelectedRow(frame, table)); + + // 刷新按钮功能 + refreshButton.addActionListener(e -> refreshTableData(table)); + + // 显示窗口 + frame.setVisible(true); + } + + private static void connectToDatabase() { + try { + // 使用你的数据库配置 + String url = "jdbc:mysql://localhost:3306/dormitory"; // 数据库 URL + String user = "zbl"; // 数据库用户名 + String password = "123456"; // 数据库密码 + connection = DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(null, "无法连接到数据库!", "错误", JOptionPane.ERROR_MESSAGE); + System.exit(1); + } + } + + private static void refreshTableData(JTable table) { + try { + String query = "SELECT * FROM students"; // 假设要显示的表是 students + Statement statement = connection.createStatement(); + ResultSet resultSet = statement.executeQuery(query); + + // 获取元数据 + ResultSetMetaData metaData = resultSet.getMetaData(); + int columnCount = metaData.getColumnCount(); + + // 构建表头 + Vector columnNames = new Vector<>(); + for (int i = 1; i <= columnCount; i++) { + columnNames.add(metaData.getColumnName(i)); + } + + // 构建数据 + Vector> data = new Vector<>(); + while (resultSet.next()) { + Vector row = new Vector<>(); + for (int i = 1; i <= columnCount; i++) { + row.add(resultSet.getObject(i)); + } + data.add(row); + } + + // 设置表模型 + DefaultTableModel model = new DefaultTableModel(data, columnNames); + table.setModel(model); + + } catch (SQLException e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(null, "无法加载数据!", "错误", JOptionPane.ERROR_MESSAGE); + } + } + + private static void showAddDialog(JFrame parent, JTable table) { + JTextField nameField = new JTextField(40); + JTextField genderField = new JTextField(40); + JTextField classIDField = new JTextField(40); + JTextField dormitoryIDField = new JTextField(40); + JTextField StudentIDField = new JTextField(40); + JPanel panel = new JPanel(new GridLayout(5, 2)); + panel.add(new JLabel("学号:")); + panel.add(StudentIDField); + panel.add(new JLabel("姓名:")); + panel.add(nameField); + panel.add(new JLabel("性别:")); + panel.add(genderField); + panel.add(new JLabel("班级ID:")); + panel.add(classIDField); + panel.add(new JLabel("宿舍ID:")); + panel.add(dormitoryIDField); + + + int result = JOptionPane.showConfirmDialog(parent, panel, "添加学生", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); + if (result == JOptionPane.OK_OPTION) { + try { + String query = "INSERT INTO students (StudentID,Name, Gender, ClassID, DormitoryID) VALUES (?, ?, ?, ?, ?)"; + PreparedStatement statement = connection.prepareStatement(query); + statement.setString(1, StudentIDField.getText()); + statement.setString(2, nameField.getText()); + statement.setString(3, genderField.getText()); + statement.setInt(4, Integer.parseInt(classIDField.getText())); + statement.setInt(5, Integer.parseInt(dormitoryIDField.getText())); + statement.executeUpdate(); + + refreshTableData(table); + JOptionPane.showMessageDialog(parent, "添加成功!"); + } catch (SQLException e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(parent, "添加失败!", "错误", JOptionPane.ERROR_MESSAGE); + } + } + } + + private static void showUpdateDialog(JFrame parent, JTable table) { + int selectedRow = table.getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog(parent, "请先选择一行!", "错误", JOptionPane.WARNING_MESSAGE); + return; + } + + int studentID = (int) table.getValueAt(selectedRow, 0); + String name = (String) table.getValueAt(selectedRow, 1); + String gender = (String) table.getValueAt(selectedRow, 2); + int classID = (int) table.getValueAt(selectedRow, 3); + int dormitoryID = (int) table.getValueAt(selectedRow, 4); + + JTextField StudentIDField = new JTextField(studentID); + JTextField nameField = new JTextField(name, 20); + JTextField genderField = new JTextField(gender, 5); + JTextField classIDField = new JTextField(String.valueOf(classID), 5); + JTextField dormitoryIDField = new JTextField(String.valueOf(dormitoryID), 5); + + JPanel panel = new JPanel(new GridLayout(5, 2)); + panel.add(new JLabel("姓名:")); + panel.add(nameField); + panel.add(new JLabel("性别:")); + panel.add(genderField); + panel.add(new JLabel("班级ID:")); + panel.add(classIDField); + panel.add(new JLabel("宿舍ID:")); + panel.add(dormitoryIDField); + + int result = JOptionPane.showConfirmDialog(parent, panel, "修改学生", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); + if (result == JOptionPane.OK_OPTION) { + try { + String query = "UPDATE students SET Name = ?, Gender = ?, ClassID = ?, DormitoryID = ? WHERE StudentID = ?"; + PreparedStatement statement = connection.prepareStatement(query); + statement.setString(1, nameField.getText()); + statement.setString(2, genderField.getText()); + statement.setInt(3, Integer.parseInt(classIDField.getText())); + statement.setInt(4, Integer.parseInt(dormitoryIDField.getText())); + statement.setInt(5, studentID); + statement.executeUpdate(); + + refreshTableData(table); + JOptionPane.showMessageDialog(parent, "修改成功!"); + } catch (SQLException e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(parent, "修改失败!", "错误", JOptionPane.ERROR_MESSAGE); + } + } + } + + private static void deleteSelectedRow(JFrame parent, JTable table) { + int selectedRow = table.getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog(parent, "请先选择一行!", "错误", JOptionPane.WARNING_MESSAGE); + return; + } + + int studentID = (int) table.getValueAt(selectedRow, 0); + + int result = JOptionPane.showConfirmDialog(parent, "确定要删除选中的学生吗?", "删除学生", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); + if (result == JOptionPane.YES_OPTION) { + try { + String query = "DELETE FROM students WHERE StudentID = ?"; + PreparedStatement statement = connection.prepareStatement(query); + statement.setInt(1, studentID); + statement.executeUpdate(); + + refreshTableData(table); + JOptionPane.showMessageDialog(parent, "删除成功!"); + } catch (SQLException e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(parent, "删除失败!", "错误", JOptionPane.ERROR_MESSAGE); + } + } + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/StudentController.java b/database/database/src/main/java/com/studentmanagement/operation/StudentController.java new file mode 100644 index 0000000..25bed6a --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/StudentController.java @@ -0,0 +1,53 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.student; +import com.studentmanagement.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/students") +public class StudentController { + + @Autowired + private StudentService studentService; + + // 获取所有学生 + @GetMapping + public List getAllStudents() { + return studentService.getAllStudents(); + } + + // 根据班级ID获取学生 + @GetMapping("/class/{classID}") + public List getStudentsByClassID(@PathVariable int classID) { + return studentService.getStudentsByClassID(classID); + } + + // 根据性别获取学生 + @GetMapping("/gender/{gender}") + public List getStudentsByGender(@PathVariable char gender) { + return studentService.getStudentsByGender(gender); + } + + // 根据学生ID获取学生 + @GetMapping("/{studentID}") + public Optional getStudentById(@PathVariable int studentID) { + return studentService.getStudentById(studentID); + } + + // 创建或更新学生 + @PostMapping + public student saveStudent(@RequestBody student student) { + return studentService.saveStudent(student); + } + + // 删除学生 + @DeleteMapping("/{studentID}") + public void deleteStudent(@PathVariable int studentID) { + studentService.deleteStudentById(studentID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/operation/TakeoutController.java b/database/database/src/main/java/com/studentmanagement/operation/TakeoutController.java new file mode 100644 index 0000000..ada864b --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/operation/TakeoutController.java @@ -0,0 +1,36 @@ +package com.studentmanagement.operation; + +import com.studentmanagement.model.Takeouts; +import com.studentmanagement.service.TakeoutsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/takeouts") +public class TakeoutController { + + @Autowired + private TakeoutsService takeoutService; + + // 获取所有外卖记录 + @GetMapping + public List getAllTakeouts() { + return takeoutService.getAllTakeouts(); + } + + // 根据宿舍ID获取外卖记录 + @GetMapping("/dormitory/{dormitoryID}") + public List getTakeoutsByDormitoryID(@PathVariable int dormitoryID) { + return takeoutService.getTakeoutsByDormitoryID(dormitoryID); + } + + // 创建或更新外卖记录 + @PostMapping + public Takeouts saveTakeout(@RequestBody Takeouts takeout) { + return takeoutService.saveTakeout(takeout); + } +} + diff --git a/database/database/src/main/java/com/studentmanagement/service/AccommodationRecordService.java b/database/database/src/main/java/com/studentmanagement/service/AccommodationRecordService.java new file mode 100644 index 0000000..80672c1 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/AccommodationRecordService.java @@ -0,0 +1,44 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.accommodationRecords; +import com.studentmanagement.AccommodationRecordsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class AccommodationRecordService { + + @Autowired + private AccommodationRecordsRepository accommodationRecordRepository; + + // 保存或更新住宿记录 + public accommodationRecords saveAccommodationRecord(accommodationRecords accommodationRecord) { + return accommodationRecordRepository.save(accommodationRecord); + } + + // 获取所有住宿记录 + public List getAllAccommodationRecords() { + return accommodationRecordRepository.findAll(); + } + + // 根据学生ID查询住宿记录 + public List getAccommodationRecordsByStudentID(int studentID) { + return accommodationRecordRepository.findByStudentID(studentID); + } + + // 根据宿舍ID查询住宿记录 + public List getAccommodationRecordsByDormitoryID(int dormitoryID) { + return accommodationRecordRepository.findByDormitoryID(dormitoryID); + } + + // 根据状态查询住宿记录 + public List getAccommodationRecordsByStatus(boolean status) { + return accommodationRecordRepository.findByStatus(status); + } + + public List getAccommodationRecordByStudentAndDormitory(int dormitoryID) { + return accommodationRecordRepository.findByDormitoryID(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/BuildingService.java b/database/database/src/main/java/com/studentmanagement/service/BuildingService.java new file mode 100644 index 0000000..a577308 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/BuildingService.java @@ -0,0 +1,37 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.buildings; +import com.studentmanagement.BuildingsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class BuildingService { + + @Autowired + private BuildingsRepository buildingRepository; + + // 保存或更新建筑物 + public buildings saveBuilding(buildings building) { + return buildingRepository.save(building); + } + + // 获取所有建筑物 + public List getAllBuildings() { + return buildingRepository.findAll(); + } + + // 根据建筑物ID查询 + public Optional getBuildingById(int buildingID) { + return buildingRepository.findById(buildingID); + } + + // 删除建筑物 + public void deleteBuildingById(int buildingID) { + buildingRepository.deleteById(buildingID); + } +} + diff --git a/database/database/src/main/java/com/studentmanagement/service/ClassService.java b/database/database/src/main/java/com/studentmanagement/service/ClassService.java new file mode 100644 index 0000000..76faccd --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/ClassService.java @@ -0,0 +1,37 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.classes; +import com.studentmanagement.ClassesRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class ClassService { + + @Autowired + private ClassesRepository classesRepository; + + // 保存或更新班级 + public classes saveClass(classes aClass) { + return classesRepository.save(aClass); + } + + // 获取所有班级 + public List getAllClasses() { + return classesRepository.findAll(); + } + + // 根据班级ID查询班级 + public Optional getClassById(int classID) { + return classesRepository.findById(classID); + } + + // 根据班级名称查询 + public Optional getClassByName(String name) { + return classesRepository.findByName(name); + } + +} diff --git a/database/database/src/main/java/com/studentmanagement/service/DormitoryService.java b/database/database/src/main/java/com/studentmanagement/service/DormitoryService.java new file mode 100644 index 0000000..d440be8 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/DormitoryService.java @@ -0,0 +1,51 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.dormitory; +import com.studentmanagement.DormitoryRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class DormitoryService { + + @Autowired + private DormitoryRepository dormitoryRepository; + + // 保存或更新宿舍 + public dormitory saveDormitory(dormitory dormitory) { + return dormitoryRepository.save(dormitory); + } + + // 获取所有宿舍 + public List getAllDormitories() { + return dormitoryRepository.findAll(); + } + + // 根据宿舍ID查询宿舍 + public Optional getDormitoryById(int dormitoryID) { + return dormitoryRepository.findById(dormitoryID); + } + + // 根据建筑ID查询宿舍 + public List getDormitoriesByBuildingID(int buildingID) { + return dormitoryRepository.findByBuildingID(buildingID); + } + + // 根据班级ID查询宿舍 + public List getDormitoriesByClassID(int classID) { + return dormitoryRepository.findByClassID(classID); + } + + // 根据宿舍人数查询 + public List getDormitoriesByOccupants(int occupants) { + return dormitoryRepository.findByOccupantsGreaterThan(occupants); + } + + // 删除宿舍 + public void deleteDormitoryById(int dormitoryID) { + dormitoryRepository.deleteById(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/EnergyConsumptionService.java b/database/database/src/main/java/com/studentmanagement/service/EnergyConsumptionService.java new file mode 100644 index 0000000..2a3c7b8 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/EnergyConsumptionService.java @@ -0,0 +1,35 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.EnergyConsumptions; +import com.studentmanagement.EnergyConsumptionsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class EnergyConsumptionService { + + @Autowired + private EnergyConsumptionsRepository energyConsumptionRepository; + + // 保存或更新能源消耗记录 + public EnergyConsumptions saveEnergyConsumption(EnergyConsumptions energyConsumption) { + return energyConsumptionRepository.save(energyConsumption); + } + + // 获取所有能源消耗记录 + public List getAllEnergyConsumptions(int dormitoryID) { + return energyConsumptionRepository.findAll(); + } + + // 根据宿舍ID查询能源消耗记录 + public List getEnergyConsumptionsByDormitoryID(int dormitoryID) { + return energyConsumptionRepository.findByDormitoryID(dormitoryID); + } + + // 删除能源消耗记录 + public void deleteEnergyConsumptionByDormitoryID(int dormitoryID) { + energyConsumptionRepository.deleteById(dormitoryID); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/HealthInspectionService.java b/database/database/src/main/java/com/studentmanagement/service/HealthInspectionService.java new file mode 100644 index 0000000..8609bba --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/HealthInspectionService.java @@ -0,0 +1,35 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.HealthInspections; +import com.studentmanagement.HealthInspectionsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class HealthInspectionService { + + @Autowired + private HealthInspectionsRepository healthInspectionRepository; + + // 保存或更新健康检查记录 + public HealthInspections saveHealthInspection(HealthInspections healthInspection) { + return healthInspectionRepository.save(healthInspection); + } + + // 获取所有健康检查记录 + public List getAllHealthInspections() { + return healthInspectionRepository.findAll(); + } + + // 根据宿舍ID查询健康检查记录 + public List getHealthInspectionsByDormitoryID(int dormitoryID) { + return healthInspectionRepository.findByDormitoryID(dormitoryID); + } + + // 根据评分查询健康检查记录 + public List getHealthInspectionsByRating(int rating) { + return healthInspectionRepository.findByRating(rating); + } +} \ No newline at end of file diff --git a/database/database/src/main/java/com/studentmanagement/service/MaintenanceRecordService.java b/database/database/src/main/java/com/studentmanagement/service/MaintenanceRecordService.java new file mode 100644 index 0000000..af4cd73 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/MaintenanceRecordService.java @@ -0,0 +1,41 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.MaintenanceRecords; +import com.studentmanagement.MaintenanceRecordsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class MaintenanceRecordService { + + @Autowired + private MaintenanceRecordsRepository maintenanceRecordRepository; + + // 保存或更新维修记录 + public MaintenanceRecords saveMaintenanceRecord(MaintenanceRecords maintenanceRecord) { + return maintenanceRecordRepository.save(maintenanceRecord); + } + + // 获取所有维修记录 + public List getAllMaintenanceRecords() { + return maintenanceRecordRepository.findAll(); + } + + // 根据维修记录ID查询维修记录 + public Optional getMaintenanceRecordById(int dormitoryID) { + return maintenanceRecordRepository.findById(dormitoryID); + } + + // 根据宿舍ID删除维修记录 + public void deleteMaintenanceRecordById(int dormitoryID) { + maintenanceRecordRepository.deleteById(dormitoryID); + } + + // 删除维修记录 + public void deleteMaintenanceRecord(MaintenanceRecords maintenanceRecord) { + maintenanceRecordRepository.delete(maintenanceRecord); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/SafetyInspectionService.java b/database/database/src/main/java/com/studentmanagement/service/SafetyInspectionService.java new file mode 100644 index 0000000..487cee9 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/SafetyInspectionService.java @@ -0,0 +1,35 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.SafetyInspections; +import com.studentmanagement.SafetyInspectionsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class SafetyInspectionService { + + @Autowired + private SafetyInspectionsRepository safetyInspectionRepository; + + // 保存或更新安全检查记录 + public SafetyInspections saveSafetyInspection(SafetyInspections safetyInspection) { + return safetyInspectionRepository.save(safetyInspection); + } + + // 获取所有安全检查记录 + public List getAllSafetyInspections() { + return safetyInspectionRepository.findAll(); + } + + // 根据宿舍ID查询安全检查记录 + public List getSafetyInspectionsByDormitoryID(int dormitoryID) { + return safetyInspectionRepository.findByDormitoryID(dormitoryID); + } + + // 根据检查员查询安全检查记录 + public List getSafetyInspectionsByInspector(String inspector) { + return safetyInspectionRepository.findByInspector(inspector); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/StudentService.java b/database/database/src/main/java/com/studentmanagement/service/StudentService.java new file mode 100644 index 0000000..5887bc0 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/StudentService.java @@ -0,0 +1,58 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.student; +import com.studentmanagement.StudentRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class StudentService { + + @Autowired + private StudentRepository studentRepository; + + // 保存或更新学生 + public student saveStudent(student student) { + return (com.studentmanagement.model.student) studentRepository.save(student); + } + + // 获取所有学生 + public List getAllStudents() { + return studentRepository.findAll(); + } + + // 根据班级ID查询学生 + public List getStudentsByClassID(int classID) { + return studentRepository.findByClassID(classID); + } + + // 根据性别查询学生 + public List getStudentsByGender(char gender) { + return studentRepository.findByGender(gender); + } + + // 根据学生ID查询学生 + public Optional getStudentById(int studentID) { + return studentRepository.findById(studentID); + } + + // 删除学生 + public void deleteStudentById(int studentID) { + studentRepository.deleteById(studentID); + } + + public List getAllStudentAsObject() { + return studentRepository.findAll(); + } + + public void addStudent(student student) { + studentRepository.save(student); + } + + public List getstudentByname(String nameText) { + return studentRepository.findByName(nameText); + } +} diff --git a/database/database/src/main/java/com/studentmanagement/service/TakeoutsService.java b/database/database/src/main/java/com/studentmanagement/service/TakeoutsService.java new file mode 100644 index 0000000..fd33188 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/service/TakeoutsService.java @@ -0,0 +1,41 @@ +package com.studentmanagement.service; + +import com.studentmanagement.model.Takeouts; +import com.studentmanagement.TakeoutsRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class TakeoutsService { + + @Autowired + private TakeoutsRepository takeoutRepository; + + // 保存或更新外卖记录 + public Takeouts saveTakeout(Takeouts takeout) { + return takeoutRepository.save(takeout); + } + + // 获取所有外卖记录 + public List getAllTakeouts() { + return takeoutRepository.findAll(); + } + + // 根据宿舍ID查询外卖记录 + public List getTakeoutsByDormitoryID(int dormitoryID) { + return takeoutRepository.findByDormitoryID(dormitoryID); + } + + // 根据外卖状态查询外卖记录 + public List getTakeoutsByStatus(boolean status) { + return takeoutRepository.findByStatus(status); + } + + // 根据送达时间查询外卖记录 + public List getTakeoutsByDeliveryTimeBetween(String startTime, String endTime) { + return takeoutRepository.findByDeliveryTimeBetween(startTime, endTime); + } + +} diff --git a/database/database/src/main/java/com/studentmanagement/util/HibernateUtil.java b/database/database/src/main/java/com/studentmanagement/util/HibernateUtil.java new file mode 100644 index 0000000..1e11777 --- /dev/null +++ b/database/database/src/main/java/com/studentmanagement/util/HibernateUtil.java @@ -0,0 +1,37 @@ +package com.studentmanagement.util; + +import com.studentmanagement.model.*; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; + +public class HibernateUtil { + + private static final SessionFactory sessionFactory; + + static { + try { + sessionFactory = new Configuration() + .configure("hibernate.cfg.xml") // 配置文件路径 + .addAnnotatedClass(student.class) // 添加实体类 + .addAnnotatedClass(classes.class) + .addAnnotatedClass(dormitory.class) + .addAnnotatedClass(Takeouts.class) + .addAnnotatedClass(SafetyInspections.class) + .addAnnotatedClass(MaintenanceRecords.class) + .addAnnotatedClass(HealthInspections.class) + .addAnnotatedClass(EnergyConsumptions.class) + // 添加所有的实体类 + .buildSessionFactory(); + } catch (Throwable ex) { + throw new ExceptionInInitializerError(ex); + } + } + + public static SessionFactory getSessionFactory() { + return sessionFactory; + } + + public static void shutdown() { + getSessionFactory().close(); + } +} diff --git a/database/database/src/main/resources/application.properties b/database/database/src/main/resources/application.properties new file mode 100644 index 0000000..553d7fe --- /dev/null +++ b/database/database/src/main/resources/application.properties @@ -0,0 +1,13 @@ +# ??????? +spring.datasource.url=jdbc:mysql://localhost:3306/dormitory?useSSL=false&serverTimezone=UTC +spring.datasource.username=zbl +spring.datasource.password=123456 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +# JPA ?? +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect + +# Spring Boot ?? +server.port=8080 diff --git a/database/database/src/main/resources/hibernate.cfg.xml b/database/database/src/main/resources/hibernate.cfg.xml new file mode 100644 index 0000000..ccefb1a --- /dev/null +++ b/database/database/src/main/resources/hibernate.cfg.xml @@ -0,0 +1,25 @@ + + + + + jdbc:mysql://localhost:3306/zbl?useSSL=false&serverTimezone=UTC + com.mysql.cj.jdbc.Driver + root + your_password + + + org.hibernate.dialect.MySQL8Dialect + + + thread + + + true + + + update + + + org.hibernate.cache.NoCacheProvider + +