Last Monday (2021-01-18), Oracle released the next maintenance release of MySQL 8.0.23, which follows the three months release cycle. The focus of this release is invisible columns feature, but here are all the features that caught my attention after reviewing release notes, blog posts and making some experiments:
- Invisible columns. If you are familiar with Oracle Database invisible columns appeared in Oracle 12.1 which was released somewhere in July 2013. MySQL's implementation is pretty much the same. The idea is you create a column, but you hide from SELECT * queries. An invisible column is of course accessible if explicitly referenced in SELECT, but would generate error on INSERT when NOT NULL is specified and no value is provided even when not in columns list. The feature simplifies application migrations and versioning (e.g. adding primary key to existing table or moving to HA solution).
- Query attributes. Basically metadata that could be set on per-query basis and then read with new UDF function mysql_query_attribute_string. Joro Kodinov would speak about them in 11 days on FOSDEM 2021 Online, so do not miss his presentation.
- CIDR support for host part of account names. This small change was not mentioned in the release notes or elsewhere, but I think it is easier and more convenient to specify the hosts from where a user could connect as for example 192.168.100.0/24, instead of 192.168.100.0/255.255.255.0, right?