MySQL 8.0: Making User Management DDLs Atomic

With MySQL 8.0, we are bringing in an important change in the way user management DDLs are executed.

Background

User management DDLs cover following user management actions:

  • Creating user/role (CREATE USER [IF NOT EXISTS] / CREATE ROLE [IF NOT EXISTS])
  • Altering user account properties (ALTER USER [IF EXISTS])
  • Dropping user/role from database (DROP USER [IF EXISTS] / DROP ROLE [IF EXISTS])
  • Granting/Revoking privileges to/from a user/role (GRANT/REVOKE)

Each of these administrative action can handle multiple entities as a part of single command.…

MySQL 8.0 Labs: [Recursive] Common Table Expressions in MySQL (CTEs)

[Note: this is the first post in a series; there is also a second post].

The MySQL development team just published a Labs release of the MySQL Server (available under “MySQL Server 8.0.0 Optimizer”).
A prominent feature of this release, which I developed, is [Recursive] Common Table Expressions, also known as

  • [recursive] CTE,
  • [recursive] subquery factoring,
  • WITH [RECURSIVE] clause.

MySQL 8.0: Performance Schema Instrumentation of Server Errors

In MySQL 8.0.0, the Performance Schema can now instrument server errors. There are 5 new summary tables introduced:

As names suggest, statistics of errors in these tables are aggregated by error.…