Сортировка таблиц

Обсуждение возникших проблем, предложений и ошибок dbForge для MySQL
Закрыто
SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Сортировка таблиц

Сообщение SergeyW » Сб 21 янв 2017 12:33

Есть таблица "test".
Переименовываем ее в "_test". Она становиться первой по списку.
Нажимает F5 (обновить). Она становиться последней по списку.
Вроде нелогично поведение прыгать из начала в конец?

Конечно это не является таким уж важным, но когда у тебя много таблиц - не комфортно.

Alexander

Re: Сортировка таблиц

Сообщение Alexander » Пн 23 янв 2017 12:48

Мы исправим данную проблему в одной из следующих сборок продукта.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Сортировка таблиц

Сообщение SergeyW » Пн 23 янв 2017 13:17

Спасибо!

Alexander

Re: Сортировка таблиц

Сообщение Alexander » Пн 23 янв 2017 13:28

Более детальное исследование проблемы показало, что сортировка БД и .NET отличается. Сперва dbForge устанавливают свою позицию, а затем, после обновления Проводника, база сама ставит таблицу в ту позицию, которую считает нужной.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Сортировка таблиц

Сообщение SergeyW » Пн 23 янв 2017 13:35

Я так понял, что ошибку удалось локализовать. Замечательно! Значит исправить дело техники?!

Alexander

Re: Сортировка таблиц

Сообщение Alexander » Пн 23 янв 2017 14:19

Нет, мы не сможем устранить данную проблему, так как это поведение самого MySQL сервера.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Сортировка таблиц

Сообщение SergeyW » Пн 23 янв 2017 15:19

Понятно, спасибо за участие. Согласен, что это больше проблема MySql. Сортировка странная. :(

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Сортировка таблиц

Сообщение SergeyW » Пн 23 янв 2017 15:35

Проверил в MySQL Workbench там все нормально - таблица сверху.
Значит проблема не в MySql!?

Команда

Код: Выделить всё

SHOW TABLES FROM test;
тоже дает правильную сортировку.
Склоняюсь к мысли, что проблема в dbForge for MySQL.

Alexander

Re: Сортировка таблиц

Сообщение Alexander » Пн 23 янв 2017 16:38

При обновлении дерева используется сортировка БД, именно тогда таблица ставится в место, определённое сервером. Вы можете выполнить следующий запрос, подставив нужную БД:

Код: Выделить всё

SELECT * FROM information_schema.tables AS t WHERE LOWER(t.table_schema) = LOWER('...') ORDER BY t.table_name
И эта сортировка является более важной для нас. Но для оптимизации мы иногда не посылаем запрос на сервер и делаем вставку в список программными средствами, это, к примеру, при переименовании или добавлении нового объекта.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Сортировка таблиц

Сообщение SergeyW » Пн 23 янв 2017 19:00

да, странная логика сортировки в MySql. Действительно так идет в конце списка.
но если использовать

Код: Выделить всё

... ORDER BY t.table_name COLLATE utf8_bin
, то все снова все нормально.
Как вам такой вариант?

Alexander

Re: Сортировка таблиц

Сообщение Alexander » Вт 24 янв 2017 15:04

Мы оставляем сортировку на усмотрение сервера.

Закрыто