1# Tests for WL#12217 2 3# Because of transaction_write_set_extraction not being settable 4# with other binlog formats. 5--source include/have_binlog_format_row.inc 6 7# Save the initial number of concurrent sessions 8--source include/count_sessions.inc 9 10 11--echo # Testing FR2 12 13--echo Must have SESSION_VARIABLES_ADMIN with grant option 14SHOW GRANTS FOR root@localhost; 15 16--echo # Testing FR1 17 18CREATE USER wl12217@localhost; 19CREATE DATABASE wl12217; 20GRANT ALL PRIVILEGES ON wl12217.* TO wl12217@localhost; 21 22--echo # Must work 23GRANT SESSION_VARIABLES_ADMIN ON *.* TO wl12217@localhost; 24--echo # Must work again 25GRANT SESSION_VARIABLES_ADMIN ON *.* TO wl12217@localhost; 26--echo # Must fail 27--error ER_ILLEGAL_PRIVILEGE_LEVEL 28GRANT SESSION_VARIABLES_ADMIN ON mysql.* TO wl12217@localhost; 29 30--echo # Cleanup 31DROP DATABASE wl12217; 32DROP USER wl12217@localhost; 33 34 35--echo # Testing FR3, FR4 36 37CREATE USER wl12217@localhost; 38CREATE DATABASE wl12217; 39GRANT ALL PRIVILEGES ON wl12217.* TO wl12217@localhost; 40--echo # Switch to wl12217@localhost 41connect(confr3,localhost,wl12217,,wl12217); 42 43--echo # Must fail 44--error ER_SPECIFIC_ACCESS_DENIED_ERROR 45SET SESSION binlog_direct_non_transactional_updates = DEFAULT; 46--error ER_SPECIFIC_ACCESS_DENIED_ERROR 47SET SESSION binlog_format = DEFAULT; 48--error ER_SPECIFIC_ACCESS_DENIED_ERROR 49SET SESSION binlog_row_image = DEFAULT; 50--error ER_SPECIFIC_ACCESS_DENIED_ERROR 51SET SESSION binlog_row_value_options = DEFAULT; 52--error ER_SPECIFIC_ACCESS_DENIED_ERROR 53SET SESSION binlog_rows_query_log_events = DEFAULT; 54--error ER_SPECIFIC_ACCESS_DENIED_ERROR 55SET SESSION bulk_insert_buffer_size = DEFAULT; 56--error ER_SPECIFIC_ACCESS_DENIED_ERROR 57SET SESSION character_set_database = DEFAULT; 58--error ER_SPECIFIC_ACCESS_DENIED_ERROR 59SET SESSION character_set_filesystem = DEFAULT; 60--error ER_SPECIFIC_ACCESS_DENIED_ERROR 61SET SESSION pseudo_slave_mode = DEFAULT; 62--error ER_SPECIFIC_ACCESS_DENIED_ERROR 63SET SESSION pseudo_thread_id = DEFAULT; 64--error ER_SPECIFIC_ACCESS_DENIED_ERROR 65SET SESSION transaction_write_set_extraction = DEFAULT; 66--error ER_SPECIFIC_ACCESS_DENIED_ERROR 67SET SESSION histogram_generation_max_mem_size = DEFAULT; 68--error ER_SPECIFIC_ACCESS_DENIED_ERROR 69SET SESSION sql_log_off = DEFAULT; 70--error ER_SPECIFIC_ACCESS_DENIED_ERROR 71SET SESSION original_commit_timestamp = DEFAULT; 72--error ER_SPECIFIC_ACCESS_DENIED_ERROR 73SET SESSION sql_log_bin = DEFAULT; 74 75--echo # Back to default connection 76connection default; 77disconnect confr3; 78GRANT SESSION_VARIABLES_ADMIN ON *.* TO wl12217@localhost; 79--echo # Back to wl12217@localhost 80connect(confr3,localhost,wl12217,,wl12217); 81 82--echo # Must pass 83SET SESSION auto_increment_increment = DEFAULT; 84SET SESSION auto_increment_offset = DEFAULT; 85SET SESSION binlog_direct_non_transactional_updates = DEFAULT; 86SET SESSION binlog_format = DEFAULT; 87SET SESSION binlog_row_image = DEFAULT; 88SET SESSION binlog_row_value_options = DEFAULT; 89SET SESSION binlog_rows_query_log_events = DEFAULT; 90SET SESSION bulk_insert_buffer_size = DEFAULT; 91SET SESSION character_set_database = DEFAULT; 92SET SESSION character_set_filesystem = DEFAULT; 93SET SESSION collation_database = DEFAULT; 94SET SESSION pseudo_slave_mode = DEFAULT; 95SET SESSION pseudo_thread_id = DEFAULT; 96SET SESSION transaction_write_set_extraction = DEFAULT; 97SET SESSION histogram_generation_max_mem_size = DEFAULT; 98SET SESSION sql_log_off = DEFAULT; 99SET SESSION original_commit_timestamp = DEFAULT; 100SET SESSION default_collation_for_utf8mb4 = DEFAULT; 101SET SESSION explicit_defaults_for_timestamp = DEFAULT; 102SET SESSION sql_log_bin = DEFAULT; 103SET SESSION rbr_exec_mode = DEFAULT; 104 105--echo # Back to default connection 106connection default; 107disconnect confr3; 108 109--echo # Cleanup 110DROP DATABASE wl12217; 111DROP USER wl12217@localhost; 112 113 114--echo # Testing FR5 115 116CREATE USER wl12217@localhost; 117CREATE DATABASE wl12217; 118GRANT ALL PRIVILEGES ON wl12217.* TO wl12217@localhost; 119GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO wl12217@localhost; 120 121--echo # Switch to wl12217@localhost 122connect(confr5,localhost,wl12217,,wl12217); 123 124--echo # Must pass 125SET SESSION auto_increment_increment = DEFAULT; 126SET SESSION auto_increment_offset = DEFAULT; 127SET SESSION binlog_direct_non_transactional_updates = DEFAULT; 128SET SESSION binlog_format = DEFAULT; 129SET SESSION binlog_row_image = DEFAULT; 130SET SESSION binlog_row_value_options = DEFAULT; 131SET SESSION binlog_rows_query_log_events = DEFAULT; 132SET SESSION bulk_insert_buffer_size = DEFAULT; 133SET SESSION character_set_database = DEFAULT; 134SET SESSION character_set_filesystem = DEFAULT; 135SET SESSION collation_database = DEFAULT; 136SET SESSION pseudo_slave_mode = DEFAULT; 137SET SESSION pseudo_thread_id = DEFAULT; 138SET SESSION transaction_write_set_extraction = DEFAULT; 139SET SESSION histogram_generation_max_mem_size = DEFAULT; 140SET SESSION sql_log_off = DEFAULT; 141SET SESSION original_commit_timestamp = DEFAULT; 142SET SESSION default_collation_for_utf8mb4 = DEFAULT; 143SET SESSION explicit_defaults_for_timestamp = DEFAULT; 144SET SESSION sql_log_bin = DEFAULT; 145SET SESSION rbr_exec_mode = DEFAULT; 146 147--echo # Back to default connection 148connection default; 149disconnect confr5; 150 151--echo # Cleanup 152DROP DATABASE wl12217; 153DROP USER wl12217@localhost; 154 155 156--echo # Testing FR6 157 158CREATE USER wl12217@localhost; 159CREATE DATABASE wl12217; 160GRANT ALL PRIVILEGES ON wl12217.* TO wl12217@localhost; 161GRANT SUPER ON *.* TO wl12217@localhost; 162 163--echo # Switch to wl12217@localhost 164connect(confr5,localhost,wl12217,,wl12217); 165 166--echo # Must pass 167SET SESSION auto_increment_increment = DEFAULT; 168SET SESSION auto_increment_offset = DEFAULT; 169SET SESSION binlog_direct_non_transactional_updates = DEFAULT; 170SET SESSION binlog_format = DEFAULT; 171SET SESSION binlog_row_image = DEFAULT; 172SET SESSION binlog_row_value_options = DEFAULT; 173SET SESSION binlog_rows_query_log_events = DEFAULT; 174SET SESSION bulk_insert_buffer_size = DEFAULT; 175SET SESSION character_set_database = DEFAULT; 176SET SESSION character_set_filesystem = DEFAULT; 177SET SESSION collation_database = DEFAULT; 178SET SESSION pseudo_slave_mode = DEFAULT; 179SET SESSION pseudo_thread_id = DEFAULT; 180SET SESSION transaction_write_set_extraction = DEFAULT; 181SET SESSION histogram_generation_max_mem_size = DEFAULT; 182SET SESSION sql_log_off = DEFAULT; 183SET SESSION original_commit_timestamp = DEFAULT; 184SET SESSION default_collation_for_utf8mb4 = DEFAULT; 185SET SESSION explicit_defaults_for_timestamp = DEFAULT; 186SET SESSION sql_log_bin = DEFAULT; 187SET SESSION rbr_exec_mode = DEFAULT; 188 189--echo # Back to default connection 190connection default; 191disconnect confr5; 192 193--echo # Cleanup 194DROP DATABASE wl12217; 195DROP USER wl12217@localhost; 196 197 198--echo # Testing FR7 199 200--echo # Must have SESSION_VARIABLES_ADMIN 201SHOW GRANTS for "mysql.session"@localhost; 202 203 204--echo # 205--echo # End of 8.0 tests 206--echo # 207 208 209# Wait till all disconnects are completed 210--source include/wait_until_count_sessions.inc 211 212