mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-17 17:27:57 +00:00
Merge pull request #59 from percona/pt-show-grants-sort-column-privileges-lp1523730
pt-show-grants - order output of column privileges - lp1523730
This commit is contained in:
@@ -2092,6 +2092,11 @@ sub split_grants {
|
|||||||
)
|
)
|
||||||
(?:,\s)? # Separted from the next grant, if any, by a comma
|
(?:,\s)? # Separted from the next grant, if any, by a comma
|
||||||
/xg;
|
/xg;
|
||||||
|
# sort columns in column-level permissions (bug lp-1523730)
|
||||||
|
@grants = map {
|
||||||
|
$_ =~ s/(INSERT|SELECT|UPDATE)\s\((.+?)\)/"$1 (" . join(', ',sort(split(', ',$2))) . ')'/me;
|
||||||
|
$_;
|
||||||
|
} @grants;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PTDEBUG && _d('Splitting grants on comma:', $grants);
|
PTDEBUG && _d('Splitting grants on comma:', $grants);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
-- Grants for 'sally'@'%'
|
-- Grants for 'sally'@'%'
|
||||||
GRANT INSERT (city), SELECT, SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT INSERT (city), SELECT, SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT SELECT (SANumber, DateCreated, PaymentStat, PckPrice) ON `test`.`t` TO 'sally'@'%';
|
GRANT SELECT (DateCreated, PaymentStat, PckPrice, SANumber) ON `test`.`t` TO 'sally'@'%';
|
||||||
GRANT USAGE ON *.* TO 'sally'@'%';
|
GRANT USAGE ON *.* TO 'sally'@'%';
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
-- Revoke statements for 'sally'@'%'
|
-- Revoke statements for 'sally'@'%'
|
||||||
REVOKE INSERT (city) ON `sakila`.`city` FROM 'sally'@'%';
|
REVOKE INSERT (city) ON `sakila`.`city` FROM 'sally'@'%';
|
||||||
REVOKE SELECT (SANumber, DateCreated, PaymentStat, PckPrice) ON `test`.`t` FROM 'sally'@'%';
|
REVOKE SELECT (DateCreated, PaymentStat, PckPrice, SANumber) ON `test`.`t` FROM 'sally'@'%';
|
||||||
REVOKE SELECT (city_id) ON `sakila`.`city` FROM 'sally'@'%';
|
REVOKE SELECT (city_id) ON `sakila`.`city` FROM 'sally'@'%';
|
||||||
REVOKE USAGE ON *.* FROM 'sally'@'%';
|
REVOKE USAGE ON *.* FROM 'sally'@'%';
|
||||||
-- Grants for 'sally'@'%'
|
-- Grants for 'sally'@'%'
|
||||||
GRANT INSERT (city) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT INSERT (city) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT SELECT (SANumber, DateCreated, PaymentStat, PckPrice) ON `test`.`t` TO 'sally'@'%';
|
GRANT SELECT (DateCreated, PaymentStat, PckPrice, SANumber) ON `test`.`t` TO 'sally'@'%';
|
||||||
GRANT SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT USAGE ON *.* TO 'sally'@'%';
|
GRANT USAGE ON *.* TO 'sally'@'%';
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
-- Grants for 'sally'@'%'
|
-- Grants for 'sally'@'%'
|
||||||
GRANT INSERT (city) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT INSERT (city) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT SELECT (SANumber, DateCreated, PaymentStat, PckPrice) ON `test`.`t` TO 'sally'@'%';
|
GRANT SELECT (DateCreated, PaymentStat, PckPrice, SANumber) ON `test`.`t` TO 'sally'@'%';
|
||||||
GRANT SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT USAGE ON *.* TO 'sally'@'%';
|
GRANT USAGE ON *.* TO 'sally'@'%';
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
-- Grants for 'sally'@'%'
|
-- Grants for 'sally'@'%'
|
||||||
GRANT INSERT (city), SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
GRANT INSERT (city), SELECT (city_id) ON `sakila`.`city` TO 'sally'@'%';
|
||||||
GRANT SELECT (SANumber, DateCreated, PaymentStat, PckPrice) ON `test`.`t` TO 'sally'@'%';
|
GRANT SELECT (DateCreated, PaymentStat, PckPrice, SANumber) ON `test`.`t` TO 'sally'@'%';
|
||||||
GRANT USAGE ON *.* TO 'sally'@'%';
|
GRANT USAGE ON *.* TO 'sally'@'%';
|
||||||
|
Reference in New Issue
Block a user