Моят личен и професионален живот

2021-01-25

Излезе MySQL 8.0.23

Миналия понеделник (2021-01-18), Oracle пусна следващата версия по поддръжката MySQL 8.0.23, която следва тримесечния цикъл на освобождаване. Фокусът на тази версия е функцията за невидими колони, но ето нещата които грабнаха вниманието ми след преглед на бележките към версията, публикации и някои експерименти:

  • Невидими колони. Ако сте запознати с Oracle База данни невидимите колони се появиха в Oracle 12.1 който беше пуснат някъде през Юли 2013. Изпълнението им в MySQL е почти същото. Идеята е, че правите колона, но я скривате от SELECT * заявки. Една невидима колона разбира се е достъпна ако се обърнете към нея явно в SELECT, но ще предизвика грешка при INSERT когато е указана NOT NULL и не е предоставена стойност дори когато не е в списъка с колони. Функцията улеснява миграцията на приложения и поддръжката на версии (напр. добавяне на първичен ключ към съществуваща таблица или преминаване към решение за висока наличност).
  • Атрибути на заявки. В основата си метаданни, които могат да бъдат задавани за всяка отделна заявка и след това четени с нов UDF функция mysql_query_attribute_string. Жоро Кодинов ще говори за тях след 11 дни на FOSDEM 2021 Online, така че не изпускайте представянето му.
  • Поддръжка на CIDR за хост частта от имена на потребители. Тази малка промяна на беше спомената в бележките към версията, но смятам, че е по-лесно и по-удобно да се указват хостовете от където потребител може да се свърже като например 192.168.100.0/24, вместо 192.168.100.0/255.255.255.0, нали?
Имах проблем с MySQL Workbench под MacOS и го докладвах като бъг #102364, но бързо се оказа двойник, въпреки че търсих преди да го докладвам. Графичното приложение разбира се не поддържа новите функционалности на езика, така че трябва да докладвам още бъгове в следващите дни.