MySQL Test Run or MTR for short, is a MySQL test program. It was developed to ensure that the MySQL server’s operation is as expected whether it be in terms of testing the functionality of new features or integrity of the old.…
In the MySQL team, one of our focuses over the last few releases has been improving the usability of the MySQL Server for operations teams. The results can be seen in a number of areas:
- Our continued investment in Performance Schema.
In 8.0 we have introduced another bunch of parser refactoring worklogs:
In a previous post, I explained the architecture and design for the transactional data dictionary in MySQL 8.0. In this post I intend to summarize the status of this work in the 8.0.0 Milestone Release.
Storing all dictionary information in InnoDB tables
The MySQL 8.0.0 now stores dictionary data in InnoDB tables. …
In MySQL 8.0, we are making large changes to the way the MySQL server stores meta data with the introduction of our native data dictionary. As part of these improvements, we have also made changes to the way the server bootstraps.…
Test cases that do not perform a proper cleanup turn out to be a nightmare for test engineers or anyone who is tasked with the job of monitoring regression test results. It leads to test failures that are difficult to analyse and fix.…
Starting with MySQL 8.0, we will drop libmysqld (aka “embedded server”). This change will affect only a handful of users, but for context let me start with an introduction.
libmysqld (also referred to as “the embedded server”) is a way of using MySQL without the client server protocol.…
This blog post elaborates on the architecture and design of the transactional data dictionary that will be part of MySQL 8.0. Some descriptions of architecture will be implemented in later versions. See MySQL 8.0 Data Dictionary: Background and motivation.
The MySQL Data Dictionary Schema
Dictionary tables and system tables store data and meta data needed by the MySQL server.…
Inside the recursive CTE definition (the part in AS (…)), some syntax constraints must be respected […]
- a recursive SELECT mustn’t contain GROUP BY, aggregate functions
(like SUM), ORDER BY, LIMIT, DISTINCT (this rule doesn’t apply to the non-recursive/anchor/seed SELECT)
- a recursive SELECT must reference the CTE only once and only in its
FROM clause, not in any subquery.