SUPER privilege used to allow various actions that were alternatively
allowed by one of BINLOG ADMIN, BINLOG MONITOR, BINLOG REPLAY,
CONNECTION ADMIN, FEDERATED ADMIN, REPL MASTER ADMIN, REPL SLAVE ADMIN,
SET USER, SLAVE MONITOR.
Now SUPER no longer does that, one has to grant one of the fine-grained
privileges above to be to perform corresponding actions.
On upgrade from MariaDB versions 10.11 and below all the privileges
above are granted automatically if the user has SUPER.
As a side-effect, such an upgrade will allow SUPER-user to run SHOW
BINLOG EVENTS, SHOW RELAYLOG EVENTS, SHOW SLAVE HOSTS, even if he wasn't
able to do it before the upgrade.
- Added missing information about database of corresponding table for various types of commands
- Update some typos
- Reviewed by: <vicentiu@mariadb.org>
Add a new privilege "SLAVE MONITOR" which will grant user the permission
to execute "SHOW SLAVE STATUS" and "SHOW RELAYLOG EVENTS" commands.
SHOW SLAVE STATUS requires either SLAVE MONITOR/SUPER
SHOW RELAYLOG EVENTS requires SLAVE MONITOR privilege.
This is similar to MysQL Worklog 3253, but with
a different implementation. The disk format and
SQL syntax is identical with MySQL 5.7.
Fetures supported:
- "Any" ammount of any trigger
- Supports FOLLOWS and PRECEDES to be
able to put triggers in a certain execution order.
Implementation details:
- Class Trigger added to hold information about a trigger.
Before this trigger information was stored in a set of lists in
Table_triggers_list and in Table_triggers_list::bodies
- Each Trigger has a next field that poinst to the next Trigger with the
same action and time.
- When accessing a trigger, we now always access all linked triggers
- The list are now only used to load and save trigger files.
- MySQL trigger test case (trigger_wl3253) added and we execute these
identically.
- Even more gracefully handling of wrong trigger files than before. This
is useful if a trigger file uses functions or syntax not provided by
the server.
- Each trigger now has a "Created" field that shows when the trigger was
created, with 2 decimals.
Other comments:
- Many of the changes in test files was done because of the new "Created"
field in the trigger file. This shows up in SHOW ... TRIGGER and when
using information_schema.trigger.
- Don't check if all memory is released if on uses --gdb; This is needed
to be able to get a list from safemalloc of not freed memory while
debugging.
- Added option to trim_whitespace() to know how many prefix characters
was skipped.
- Changed a few ulonglong sql_mode to sql_mode_t, to find some wrong usage
of sql_mode.
than an empty host '' is the same as any-host wildcard '%'.
Replace '' with '%' in the parser (for GRANT ... foo@'') and when loading grant tables.
Side effect: one cannot have foo@'' and foo@'%' both at the same time
(but one can have foo@'%' and foo@'%%')
* rename all debugging related command-line options
and variables to start from "debug-", and made them all
OFF by default.
* replace "MySQL" with "MariaDB" in error messages
* "Cast ... converted ... integer to it's ... complement"
is now a note, not a warning
* @@query_cache_strip_comments now has a session scope,
not global.
Bug#31408 funcs_1: <engine>_trig_03e test fail
Modification:
The TRIGGER PRIVILEGE is now needed for getting informations about TRIGGERs.
Therefore after REVOKE TRIGGER privilege the
- SHOW TRIGGERS
- SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
result sets are now empty.
mysql-test/suite/funcs_1/r/innodb_trig_03e.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_03e.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03e.result:
Updated results
mysql-test/suite/funcs_1/r/ndb_trig_03e.result:
Updated results
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Updated result file
mysql-test/suite/funcs_1/r/innodb_func_view.result:
Updated result file
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Updated result file
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Updated result file
mysql-test/suite/funcs_1/r/innodb_trig_03e.result:
Updated result file
mysql-test/suite/funcs_1/r/innodb_views.result:
Updated result file
mysql-test/suite/funcs_1/r/memory__datadict.result:
Updated result file
mysql-test/suite/funcs_1/r/memory_func_view.result:
Updated result file
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Updated result file
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Updated result file
mysql-test/suite/funcs_1/r/memory_trig_03e.result:
Updated result file
mysql-test/suite/funcs_1/r/memory_views.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam_func_view.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam_trig_03e.result:
Updated result file
mysql-test/suite/funcs_1/r/myisam_views.result:
Updated result file
mysql-test/suite/funcs_1/views/views_master.inc:
updated test file
BitKeeper/etc/ignore:
Added mysql-test/suite/funcs_1/r/innodb_views.warnings mysql-test/suite/funcs_1/r/memory_trig_03e.warnings mysql-test/suite/funcs_1/r/memory_views.warnings mysql-test/suite/funcs_1/r/myisam_trig_03e.warnings mysql-test/suite/funcs_1/r/myisam_views.warnings mysql-test/suite/funcs_1/r/ndb_trig_03e.warnings mysql-test/suite/funcs_1/r/ndb_views.warnings mysql-test/suite/partitions/r/diff mysql-test/suite/partitions/r/partition_bit_ndb.warnings mysql-test/suite/partitions/r/partition_special_innodb.warnings mysql-test/suite/partitions/r/partition_special_myisam.warnings storage/archive/archive_reader mysql-test/suite/funcs_1/r/innodb_trig_03e.warnings to the ignore list
mysql-test/suite/funcs_2/include/check_charset.inc:
inserted newline at the end of file.
mysql-test/suite/objects/include/drop_all.inc:
inserted newline at the end of file.
mysql-test/suite/partitions/include/partition_key_32col.inc:
inserted newline at the end of file.
mysql-test/suite/rpl/data/rpl_mixed.dat:
inserted newline at the end of file.
mysql-test/suite/rpl/include/rpl_mixed_check_event.inc:
inserted newline at the end of file.
mysql-test/suite/rpl/include/rpl_mixed_check_select.inc:
inserted newline at the end of file.
mysql-test/suite/rpl/include/rpl_mixed_check_user.inc:
inserted newline at the end of file.
mysql-test/suite/rpl/include/rpl_mixed_check_view.inc:
inserted newline at the end of file.