mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
dcf0f346cf
- The table_priv column of table_privs table was altered to a enum type with fewer enums causing the SHOW/CREATE VIEW grants to be truncated. - Improved comments and moved all declarations for table_privs, column_privs and proc_privs to one section for each table making it easy to see hat alterations are performed on each table - Reduced the number of ALTER's slightly, but as this is an upgrade script we need to take all possibilites into account.
66 lines
1.7 KiB
Text
66 lines
1.7 KiB
Text
# Embedded server doesn't support external clients
|
|
--source include/not_embedded.inc
|
|
|
|
#
|
|
# This is the test for mysql_fix_privilege_tables
|
|
# It checks that a system tables from mysql 4.1.23
|
|
# can be upgraded to current system table format
|
|
#
|
|
# Note: If this test fails, don't be confused about the errors reported
|
|
# by mysql-test-run This shows warnings generated by
|
|
# mysql_fix_system_tables which should be ignored.
|
|
# Instead, concentrate on the errors in r/system_mysql_db.reject
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t1aa,t2aa;
|
|
--enable_warnings
|
|
|
|
#
|
|
# Bug #20589 Missing some table level privileges after upgrade
|
|
#
|
|
# Add some grants that should survive the "upgrade"
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS testdb;
|
|
--enable_warnings
|
|
CREATE DATABASE testdb;
|
|
CREATE TABLE testdb.t1 (
|
|
c1 INT,
|
|
c3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
|
|
|
CREATE VIEW testdb.v1 AS
|
|
SELECT * FROM testdb.t1;
|
|
|
|
GRANT CREATE VIEW, SHOW VIEW ON testdb.v1 TO 'show_view_tbl'@'localhost';
|
|
SHOW GRANTS FOR 'show_view_tbl'@'localhost';
|
|
echo;
|
|
|
|
# Some extra GRANTS for more complete test
|
|
GRANT SELECT(c1) on testdb.v1 to 'select_only_c1'@localhost;
|
|
SHOW GRANTS FOR 'select_only_c1'@'localhost';
|
|
echo;
|
|
|
|
-- disable_result_log
|
|
-- disable_query_log
|
|
|
|
# Run the mysql_fix_privilege_tables.sql using "mysql --force"
|
|
--exec $MYSQL --force mysql < $MYSQL_FIX_PRIVILEGE_TABLES > $MYSQLTEST_VARDIR/log/fix_priv_tables.log 2>&1
|
|
|
|
-- enable_query_log
|
|
-- enable_result_log
|
|
|
|
echo "after fix privs";
|
|
|
|
SHOW GRANTS FOR 'show_view_tbl'@'localhost';
|
|
echo;
|
|
SHOW GRANTS FOR 'select_only_c1'@'localhost';
|
|
echo;
|
|
|
|
DROP USER 'show_view_tbl'@'localhost';
|
|
DROP USER 'select_only_c1'@'localhost';
|
|
|
|
DROP VIEW testdb.v1;
|
|
DROP TABLE testdb.t1;
|
|
DROP DATABASE testdb;
|
|
|
|
# End of 4.1 tests
|