Есть ли возможность использовать плагин ha_sequence , предоставляемый MariaDB в MySQL (https://mariadb.com/kb/en/library/sequence-storage-engine/)? или существует аналогичный плагин для MySQL «Я хочу перечислить последовательность между двумя числами, но в одной простой строке без процедур, функций или таблиц. В настоящее время я использую этот запрос или обходной путь для своей последовательности, который я нашел здесь :
select (h*100+t*10+u+1) x from
(select 0 h union select 1 union select 2 union select 3 union select 4 union
select 5 union select 6 union select 7 union select 8 union select 9) A,
(select 0 t union select 1 union select 2 union select 3 union select 4 union
select 5 union select 6 union select 7 union select 8 union select 9) B,
(select 0 u union select 1 union select 2 union select 3 union select 4 union
select 5 union select 6 union select 7 union select 8 union select 9) C
where (h*100+t*10+u+1) between 1 and 366
order by x;
Я использую MySQL Community Server 5.7.23 в Debian 9. Я уже пытался скопировать файл плагина из MariaDB на мой сервер MySQL и установить его, но безуспешно. Я думаю, что это не совместимо с MySQL, так как это плагин для MariaDB. Вот команда, которую я попробовал:
mysql> install plugin sequence soname 'ha_sequence.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib/mysql/plugin/ha_sequence.so' (errno: 2 /usr/lib/mysql/plugin/ha_sequence.so: undefined symbol: _ZN7handler11print_errorEim)
Редактировать (2018-09-17):
Прежде чем я принял ответ, я также попытался скомпилировать исходный код плагина для MySQL. Я был полу успешным, потому что мне удалось собрать его с некоторыми изменениями. Однако, плагину нужны некоторые функции (функции) из классов в MySQL, которых нет в источнике MySQL. Так что это не сработало. Добавление этих функций или внедрение обходного пути непосредственно в плагин, или изменение источника MySQL для моих нужд, стоило бы мне много времени. Я действительно не хотел копаться в исходных кодах MySQL и / или MariaDB. Поэтому я сдался и теперь я работаю с вышеописанным запросом.