Использование плагина ha_sequence в MySQL

0

Есть ли возможность использовать плагин 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):

Прежде чем Ive принял ответ, я также попытался скомпилировать исходный код плагина для MySQL. Я был полу успешным, потому что мне удалось скомпилировать его с некоторыми изменениями. Однако плагину нужны некоторые функции (функции) из классов MySQL, которых нет в источнике MySQL. Так что это не сработало. Добавление этих функций или реализация обходного пути непосредственно в плагин, или изменение источника MySQL в моих потребностях, обойдется мне очень долго. Я действительно не хотел вникать в исходные коды MySQL и/или MariaDB. Поэтому я сдался, и теперь я работаю с описанным выше запросом.

Теги:
plugins
mariadb

2 ответа

0
Лучший ответ

Нет, плагины MariaDB работают только с MariaDB.

0

Один раз, создайте себе таблицу из миллиона строк с номерами (и PRIMARY KEY).

Впредь JOIN к этой таблице, чтобы получить числа (и ограничьте их BETWEEN или что-то еще).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню