mirror of
https://github.com/MariaDB/server.git
synced 2025-09-19 07:35:28 +02:00
![]() Lots of different cases, SELECT, SELECT DEFAULT(), UPDATE t SET x=DEFAULT, prepares statements, opening of a table for the I_S, prelocking (so TL_WRITE), insert with subquery (so SQLCOM_SELECT), etc. Don't check NEXTVAL privileges in fix_fields() anymore, it cannot possibly handle all the cases correctly. Make a special method Item_func_nextval::check_access() for that and invoke it from * fix_fields on explicit SELECT NEXTVAL() (but not if NEXTVAL() is used in a DEFAULT clause) * when DEFAULT bareword in used in, say, UPDATE t SET x=DEFAULT (but not if DEFAULT() itself is used in a DEFAULT clause) * in CREATE TABLE * in ALTER TABLE ALGORITHM=INPLACE (that doesn't go CREATE TABLE path) * on INSERT helpers * Virtual_column_info::check_access() to walk the item tree and invoke Item::check_access() * TABLE::check_sequence_privileges() to iterate default expressions and invoke Virtual_column_info::check_access() also, single-table UPDATE in prepared statements now associates value items with fields just as multi-update already did, fixes the case of PREPARE s "UPDATE t SET x=?"; EXECUTE s USING DEFAULT. |
||
---|---|---|
.. | ||
alter.opt | ||
alter.result | ||
alter.test | ||
alter_notembedded.result | ||
alter_notembedded.test | ||
aria.result | ||
aria.test | ||
auto_increment.result | ||
auto_increment.test | ||
binlog.result | ||
binlog.test | ||
concurrent_create.result | ||
concurrent_create.test | ||
create.result | ||
create.test | ||
debug_sync.opt | ||
debug_sync.result | ||
debug_sync.test | ||
default.result | ||
default.test | ||
disabled.def | ||
grant.result | ||
grant.test | ||
gtid-master.opt | ||
gtid-slave.opt | ||
gtid.result | ||
gtid.test | ||
kill.result | ||
kill.test | ||
lock.result | ||
lock.test | ||
mysqldump.result | ||
mysqldump.test | ||
next.result | ||
next.test | ||
other.result | ||
other.test | ||
partition.result | ||
partition.test | ||
read_only.result | ||
read_only.test | ||
rebuild.result | ||
rebuild.test | ||
rename.result | ||
rename.test | ||
replication-master.opt | ||
replication-slave.opt | ||
replication.result | ||
replication.test | ||
replication_drop.result | ||
replication_drop.test | ||
replication_mixed.result | ||
replication_mixed.test | ||
setval.result | ||
setval.test | ||
slave_nextval.result | ||
slave_nextval.test | ||
temporary.result | ||
temporary.test | ||
view.result | ||
view.test |