Category Archives: MySQL

MySQL 8.0: Data Dictionary Architecture and Design

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
The Transactional Data Dictionary in 8.0 has a simplified and uniform handling of dictionary data

Dictionary  tables and system tables store data and meta data needed by the MySQL server.…

MySQL 8.0 Labs: [Recursive] Common Table Expressions in MySQL (CTEs), Part Two – how to generate series

Here is the second in a series of posts about CTEs, a new feature of MySQL 8.0, available in this Labs release. Here is the first post; there is also a third post. The first one ended with:

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.