[MDEV-30356] Optimizer trace requires ALL global privileges when query uses a view Created: 2023-01-06  Updated: 2023-11-28

Status: Open
Project: MariaDB Server
Component/s: Authentication and Privilege System, Optimizer, Views
Affects Version/s: 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Petrunia
Resolution: Unresolved Votes: 0
Labels: None


 Description   

To get optimizer trace for a query involving a view, the user has to have all global privileges. Removing any privilege, even completely irrelevant like REPLICATION SLAVE ADMIN or DELETE HISTORY, makes the optimizer trace remain empty. No errors or warnings are produced.

create table t (a int);
create view v as select * from t;
 
create user all_priv@localhost;
grant all on *.* to all_priv@localhost;
 
create user all_but_one@localhost;
grant all on *.* to all_but_one@localhost;
revoke DELETE HISTORY on *.* from all_but_one@localhost;
 
--connect(con_all_priv,localhost,all_priv,,test)
 
set optimizer_trace= 'enabled=on';
select * from t;
select query, length(trace) from information_schema.optimizer_trace;
select * from v;
select query, length(trace) from information_schema.optimizer_trace;
 
--connect(con_all_but_one,localhost,all_but_one,,test)
 
set optimizer_trace= 'enabled=on';
select * from t;
select query, length(trace) from information_schema.optimizer_trace;
select * from v;
select query, length(trace) from information_schema.optimizer_trace;
 
# Cleanup
--disconnect con_all_priv
--disconnect con_all_but_one
--connection default
drop user all_priv@localhost, all_but_one@localhost;
drop view v;
drop table t;

10.4 f97f6955

connect con_all_but_one,localhost,all_but_one,,test;
set optimizer_trace= 'enabled=on';
select * from t;
a
select query, length(trace) from information_schema.optimizer_trace;
query	length(trace)
select * from t	933
select * from v;
a
select query, length(trace) from information_schema.optimizer_trace;
query	length(trace)
	0


Generated at Thu Feb 08 10:15:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.