diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index 6bf6194f6..c1b4bec04 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -4385,6 +4385,16 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) { !strncmp("/*!40103 SET ", query_no_space, 13) || !strncmp("/*!40111 SET ", query_no_space, 13) || !strncmp("/*!80000 SET ", query_no_space, 13) || + !strncmp("/*!50503 SET ", query_no_space, 13) || + !strncmp("/*!50717 SET ", query_no_space, 13) || + !strncmp("/*!50717 SELECT ", query_no_space, strlen("/*!50717 SELECT ")) || + !strncmp("/*!50717 PREPARE ", query_no_space, strlen("/*!50717 PREPARE ")) || + !strncmp("/*!50717 EXECUTE ", query_no_space, strlen("/*!50717 EXECUTE ")) || + !strncmp("/*!50717 DEALLOCATE ", query_no_space, strlen("/*!50717 DEALLOCATE ")) || + !strncmp("/*!50112 SET ", query_no_space, strlen("/*!50112 SET ")) || + !strncmp("/*!50112 PREPARE ", query_no_space, strlen("/*!50112 PREPARE ")) || + !strncmp("/*!50112 EXECUTE ", query_no_space, strlen("/*!50112 EXECUTE ")) || + !strncmp("/*!50112 DEALLOCATE ", query_no_space, strlen("/*!50112 DEALLOCATE ")) || !strncmp("/*!40000 ALTER TABLE", query_no_space, strlen("/*!40000 ALTER TABLE")) || !strncmp("/*!40100 SET @@SQL_MODE='' */", query_no_space, strlen("/*!40100 SET @@SQL_MODE='' */")) @@ -4405,6 +4415,19 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) { run_query=false; goto __run_query; } + + if (!strncmp("SHOW STATUS LIKE 'binlog_snapshot_gtid_executed'", query_no_space, strlen("SHOW STATUS LIKE 'binlog_snapshot_gtid_executed'"))) { + l_free(query_length, query); + query = l_strdup("SELECT variable_name AS Variable_name, Variable_value AS Value FROM global_variables WHERE 1=0"); + query_length = strlen(query)+1; + goto __run_query; + } + if (!strncmp("SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$.\"number-of-buckets-specified\"') FROM information_schema.COLUMN_STATISTICS", query_no_space, strlen("SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$.\"number-of-buckets-specified\"') FROM information_schema.COLUMN_STATISTICS"))) { + l_free(query_length, query); + query = l_strdup("SELECT variable_name AS COLUMN_NAME, Variable_value AS 'JSON_EXTRACT(HISTOGRAM, ''$.\"number-of-buckets-specified\"'')' FROM global_variables WHERE 1=0"); + query_length = strlen(query)+1; + goto __run_query; + } if (!strncmp("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'performance_schema' AND table_name = 'session_variables'", query_no_space, strlen("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'performance_schema' AND table_name = 'session_variables'"))) { l_free(query_length,query); query=l_strdup("SELECT 0 as 'COUNT(*)'");