|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Александр, чтобы два раза не вставать, озвучу в одной теме известные мне баги, недоработки и неудобства. Исправлять их или нет - решайте сами. Это то, с чем я как пользователь IBExpert'а сталкиваюсь ежедневно и ежечасно в процессе обычной работы разработчика БД. Баги. Здесь опишу только один: 1. Самый главный баг, которому уже много лет. При нажатии Ctrl+Space не появляется выпадающий список. Лечится перезаходом в среду. Иногда достаточно сделать пару правок в запросе и список опять перестает появляться. В запущенных случаях приходится перезаходить в IBE каждую минуту. Учитывая открытых окон порядка сотни, постоянный процесс перезахода очень радует. Недоработки: 1. При раскомментировании ХП в "ленивом режиме", которая до этого была закомментирована в выключенном "ленивом" режиме, не раскомментируется секция декларации переменных. В итоге ХП не компилится, приходится выключать "ленивый" режим и снова раскомментировать. 2. При создании внешнего ключа, не проверяется заполнение таблицы, на которую ссылается ключ. После нажатия на "ОК" выдается Код: plaintext 1. 2. 3. 4.
3. IBExpert разрешает снять флаг NOT NULL у поля, входящего в ПК. 4. При создании таблицы или ХП, если хочешь скопировать в буфер обмена название и вместо Ctrl+C нажимается C, по уже никак нельзя вернуть старое название - Ctrl+Z очищает текст. Неудобства: 1. При создании ВК, нет возможности увидеть, сколько символов занимает имя. Приходится вручную считать количество символов. И так каждый раз, если имя таблицы достаточно длинное. 2. При создании ВК, не указывается, что имя ВК более 31 символа и оно никак не ограничено. Смотришь - вроде все норм, нажимаешь ОК и: Код: plaintext 1. 2.
4. Взаимодействие с стрелкой мыши. Пример: открыт редактор поля, стрелка находится под списком доменов на 40 пикселей ниже. Раскрываешь список по Alt+Down, и выбранным становится не текущий домен, а домен под стрелкой. 5. Список доступных слов по Ctrl+Space. Всякий мусор в виде имен триггеров, индексов и ключевых слов SQL-я (IN, ALL и прочая) вообще не нужен, либо нужен строго определенным лицам. Особенно радуют системные домены RDB$NNN в нем - кому вообще это надо? В списке нужны только: таблицы, представления, ХП, секвенции, UDF и встроенные функции. Всё. 6. Нет подсветки скобок при редактировании вычисляемого поля. В особо сложных случаях на попытку понять, какой не хватает, уходит куча времени. Там же нет выпадающего списка, как в SQL-редакторе. Часто приходится писать поле в редакторе, и потом уже переносить запрос в само поле. 7. При измененении флага события у триггера, нет предложения о переименовании триггера в связи с изменением его типа. 8. В закладке "Данные" таблицы, при открытии списка для ВК, первой строкой идет запись с выбранным кодом. Я не знаю, кто это придумал, но это очень неудобно. Мало того, что путает (идут ID: 4, 1, 2, 3), так и выбор следующего или предыдущего ID проблематичен. 9. В редакторе таблицы "колонка" показывает сумму NOT NULL у самого столбца и у домена. Это путает - непонятно, откуда пришел этот флаг - из домена или так объявлено у поля. По-хорошему тут должно быть два поля: FIELD NOT NULL и DOMAIN NOT NULL. 10. При Replace Text не указывается длина текста, на который заменяется искомый текст. Для новых имен таблицы и ХП это важно - снова приходится вручную пересчитывать длины, проверяя, сколько еще места осталось. 11. При каждом переименовании таблицы или ХП в редакторе скриптов, приходится сбрасывать галку "Promtp on replace" и "Selected text". Хотя тут очевидно - если выделен однострочный текст длиной в 15 символов, какой там Selected Text? 12. Предупреждение об отсутствии прав на таблицу/ХП. Создал разработчик таблицу и забыл дать права на нее. Об этом он узнает, только когда таблица придет в продакшн и пользователь обратится к ней. Если бы прямо на главной странице было написано: "У таблицы отсутствуют права для пользователей/ролей", это исключило бы вероятность ошибки. Новый функционал: 1. Шаблоны создания таблицы. Например, есть стандартный справочник. В нем поля ID, NAME, генератор для ID. Дополнительно может быть поле POS. Сейчас приходится или с нуля описывать таблицу, либо брать скрипт создания существующей, переименовывать и создавать генератор. 2. Шаблоны прав ролей. Например, есть две роли - одна только на чтение, вторая на правку таблицы. Сейчас надо при создании каждой таблицы справочника прописывать права ролям. Да, это недолго, несколько кликов. А когда ролей будет с два десятка? 3. Поддержка переименования ХП. 4. Перекомпиляции всех зависимых ХП. Переписал вот ХП, а она используется в ХП на пять уровнях выше. И ходишь пять минут по стеку зависимостей, перекомпилируешь их. 5. Открытие окон и комментирования всех зависимых ХП и триггеров. Обычная операция по изменению списка входных параметров ХП состоит из унылого клацанья по клаве и тыканья мышой. 6. Операция по изменению типа поля, которое требует создания временного поля (например, уменьшение длины строки с 50 до 25 символов). 7. Проверка права вызова для всего стека вызовов ХП для пользователя/роли. Например, SP1 вызывает SP2. У роли ROLE1 есть право вызова SP1, но нет права вызова SP2. Об этом я узнаю, только когда у пользователя произойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 07:55 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
CyberMax> 1. Самый главный баг, которому уже много лет. CyberMax> При нажатии Ctrl+Space не появляется выпадающий список. CyberMax> Лечится перезаходом в среду. Странно, не припомню такого часто. Может, пару раз разве что. А вот курсор (сама мерцалка) пропадал довольно часто, но я думаю это скорее виндовая бага, а не IBE. > 5. Открытие окон и комментирования всех зависимых ХП и триггеров. Поддерживаю. Хотя для этого можно свой блок забацать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 08:23 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамCyberMax> 1. Самый главный баг, которому уже много лет. CyberMax> При нажатии Ctrl+Space не появляется выпадающий список. CyberMax> Лечится перезаходом в среду. Странно, не припомню такого часто. Может, пару раз разве что. У меня - пару раз в неделю. В принципе не напрягает, но бага таки есть. Наверное, где-то внутрях компонента, отвечающего за раскраску текста или самого текстового редактора. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 09:43 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
CyberMaxIBExpert разрешает снять флаг NOT NULL у поля, входящего в ПК. Этим должна заниматься СУБД. 3.0 этим и занимается. В 2.5 официального способа изменять NOT NULL не было вовсе. Через системные таблицы это грязный хак коим пользовался IBE. В общем если и делать то только для <3.0 CyberMax5. Список доступных слов по Ctrl+Space. Всякий мусор в виде имен триггеров, индексов и ключевых слов SQL-я (IN, ALL и прочая) вообще не нужен, либо нужен строго определенным лицам. Особенно радуют системные домены RDB$NNN в нем - кому вообще это надо? А вот мне имена триггеров и индексов нужны. Я иногда DDL операторы пишу и не только в редакторе скриптов. Что касается "системных" доменов, то реально они вовсе не системные, хоть и создаются автоматом. Нету у них RDB$SYSTEM_FLAG = 1. Можно конечно попытаться фильтровать по префиксу ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 10:18 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Симонов ДенисВ общем если и делать то только для <3.0 Да. Симонов ДенисА вот мне имена триггеров и индексов нужны. Я иногда DDL операторы пишу и не только в редакторе скриптов. Ок. Тогда сделать настройку с доступными видами метаданных, потому что мне они за ни разу не понадобились, так как скрипт с DDL получаю другими средствами IBE. Симонов ДенисЧто касается "системных" доменов, то реально они вовсе не системные, хоть и создаются автоматом. Нету у них RDB$SYSTEM_FLAG = 1. Можно конечно попытаться фильтровать по префиксу Думаю, что есть 100% способ определить такие объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 10:32 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
CyberMax1. Шаблоны создания таблицы. Например, есть стандартный справочник. В нем поля ID, NAME, генератор для ID. Дополнительно может быть поле POS. Сейчас приходится или с нуля описывать таблицу, либо брать скрипт создания существующей, переименовывать и создавать генератор. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 21:07 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
ДокCyberMax1. Шаблоны создания таблицы. Например, есть стандартный справочник. В нем поля ID, NAME, генератор для ID. Дополнительно может быть поле POS. Сейчас приходится или с нуля описывать таблицу, либо брать скрипт создания существующей, переименовывать и создавать генератор. +1 Вот уж точно было бы здорово. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2016, 20:43 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Вы чего там, скрипты/блоки разучились писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 03:58 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамCyberMax> 1. Самый главный баг, которому уже много лет. CyberMax> При нажатии Ctrl+Space не появляется выпадающий список. CyberMax> Лечится перезаходом в среду. Странно, не припомню такого часто. Может, пару раз разве что. у меня при активной работе такого обычно не вылазит, но стоит ненадолго не трогать IBE, поработать в другом окне и вернуться, то очень часто проявляется. Эта проблема время от времени тут поднимается.. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 09:16 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
автор4. Перекомпиляции всех зависимых ХП. А не легче вообще все ХП перекомпилить? Добавлю: 1. Popup редакторы описания, вызываемые из грида, не перекодируют строку описания. Хотя отображается она нормально. 2. Окно Script executive, при закрытии окна постоянно выдается предложение сохранить скрипт. В случае получения скрипта из сравнения БД этот запрос, на мой взгляд, излишен. 3. При генерации Script executive пригодилась бы отключаемая опция Decode domains 4. Редактор описания имеет в контекстном меню излишние фичи, унаследованные от редактора кода: bookmarks (ООООчень вряд ли у кого-то в описаниях хранится Война и мир, хотя теоретически такое и возможно), (un)comment (я так и не понял смысла в этой фиче); Copy as RTF (описание все равно не подсвечивается); Format text (просто отделяет каждую букву пробелом); Load to script executive (правда, в теории описание может содержать sql); convert identifiers/keywords (все равно описание не парсится). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:04 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
IBExpertВы чего там, скрипты/блоки разучились писать? нет, конечно. Потому notepad ++ - "лучший друг и товарищ" (с) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 17:50 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Не надо все в кучу валить, я даже разбираться в этой помойке не буду. Есть конкретные баги - создавайте отдельную тему, с указанием версии эксперта и т.д. Есть хотелки - тоже отдельную тему. Желательно перед этим воспользоваться поиском по форуму. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:29 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
IBExpert, Я как раз и создал одну тему просто для ознакомления вместо тридцати, чтобы потом не было ответа, что лень просматривать и отвечать на десятки топиков. Разбивать пункты на отдельные темы не буду. Если у вас нет интереса даже прочитать текст, я ничего не могу и не буду с этим делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 10:33 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
CyberMax, решил немного прокомментировать твои хотелки. > 2. При создании ВК, не указывается, что имя ВК более 31 символа и оно никак не ограничено. Смотришь - вроде все норм, нажимаешь ОК и: не символа, а байт, с символами оно совпадает только если название на английском. В 4.0 будет уже 63 символа. > 5. Список доступных слов по Ctrl+Space. Всякий мусор в виде имен триггеров, индексов и ключевых слов SQL-я (IN, ALL и прочая) вообще не нужен, либо нужен строго определенным лицам. Особенно радуют системные домены RDB$NNN в нем - кому вообще это надо? В списке нужны только: таблицы, представления, ХП, секвенции, UDF и встроенные функции. Всё. А мне значительно больше. Единственное чего бы я видеть не хотел это автоматически создаваемые домены RDB$nnnn > 2. Шаблоны прав ролей. Например, есть две роли - одна только на чтение, вторая на правку таблицы. Сейчас надо при создании каждой таблицы справочника прописывать права ролям. Да, это недолго, несколько кликов. А когда ролей будет с два десятка? В 4.0 система прав много разнообразней и проще. Часть вещей с правами можно делать в 10 раз легче. > 3. Поддержка переименования ХП. ИХМО, поддержка переименования объектов метаданных должна поддерживаться на уровне Firebird. Сейчас оно есть только для доменов и столбцов таблиц. > 6. Операция по изменению типа поля, которое требует создания временного поля (например, уменьшение длины строки с 50 до 25 символов). с учётом зависимостей задача становится мало реальной > 7. Проверка права вызова для всего стека вызовов ХП для пользователя/роли. Например, SP1 вызывает SP2. У роли ROLE1 есть право вызова SP1, но нет права вызова SP2. Об этом я узнаю, только когда у пользователя произойдет Жди 4.0. Там это будет не так актуально. Теперь по поводу автоматической замены в имен в зависимостях при переименовании, не приведи господь к этому. Бездумно коцать тексты десятков ХП, которые в следствии таких замен могут ещё и не правильно работать. Ну его нафиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 10:57 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Симонов Денис> 2. При создании ВК, не указывается, что имя ВК более 31 символа и оно никак не ограничено. Смотришь - вроде все норм, нажимаешь ОК и: не символа, а байт, с символами оно совпадает только если название на английском. В 4.0 будет уже 63 символа. Речь не о максимальной длине, а о том, что нет ограничения. Отлично, в 4.0 будет 63 символа. А если дефолтная длина ВК будет 68 символов? Будет ровно та же самая ошибка. Симонов Денис> 5. Список доступных слов по Ctrl+Space. Всякий мусор в виде имен триггеров, индексов и ключевых слов SQL-я (IN, ALL и прочая) вообще не нужен, либо нужен строго определенным лицам. Особенно радуют системные домены RDB$NNN в нем - кому вообще это надо? В списке нужны только: таблицы, представления, ХП, секвенции, UDF и встроенные функции. Всё. А мне значительно больше. Единственное чего бы я видеть не хотел это автоматически создаваемые домены RDB$nnnn Настройка видов объектов в списке - идеальное решение. Симонов Денис> 2. Шаблоны прав ролей. Например, есть две роли - одна только на чтение, вторая на правку таблицы. Сейчас надо при создании каждой таблицы справочника прописывать права ролям. Да, это недолго, несколько кликов. А когда ролей будет с два десятка? В 4.0 система прав много разнообразней и проще. Часть вещей с правами можно делать в 10 раз легче. В том числе появится применение нескольких ролей одновременно, если я правильно помню. Поэтому буду делать не две роли, как сейчас, а реально по функциональному назначению. Вот тут шаблоны и пригодятся. Симонов Денис> 3. Поддержка переименования ХП. ИХМО, поддержка переименования объектов метаданных должна поддерживаться на уровне Firebird. Сейчас оно есть только для доменов и столбцов таблиц. Согласен. Но пока этого нет, решение проблемы через сторонний инструмент является выходом. Симонов Денис> 6. Операция по изменению типа поля, которое требует создания временного поля (например, уменьшение длины строки с 50 до 25 символов). с учётом зависимостей задача становится мало реальной Это не так. Достаточно проверить наличие отсутствия зависимостей перед операцией (правильно будет их зачистку возложить на разработчика) и можно начинать ее делать. Если что-то не получилось в процессе - ничего страшного не произойдет - почистить можно будет ручками. Симонов Денис> 7. Проверка права вызова для всего стека вызовов ХП для пользователя/роли. Например, SP1 вызывает SP2. У роли ROLE1 есть право вызова SP1, но нет права вызова SP2. Об этом я узнаю, только когда у пользователя произойдет Жди 4.0. Там это будет не так актуально. Ок. Симонов ДенисТеперь по поводу автоматической замены в имен в зависимостях при переименовании, не приведи господь к этому. Бездумно коцать тексты десятков ХП, которые в следствии таких замен могут ещё и не правильно работать. Ну его нафиг. Операция опасная. Но вот сходу не могу определить прямо совсем непоправимые последствия. Кстати, если брать тупую автозамену, то перекомпиляцию ХП и триггеров можно делать в рамках одной транзакции (по типу обычной перекомпиляции списка ХП) с откатом, если произошло исключение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 11:23 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
CyberMaxВ том числе появится применение нескольких ролей одновременно, если я правильно помню. Поэтому буду делать не две роли, как сейчас, а реально по функциональному назначению. Вот тут шаблоны и пригодятся. В 4.0 могут указываться явно при коннекте или меняться через SET ROLE (как сейчас) или их права могут применяться неявно, если они грантуются с ключевым словом DEFAULT. Грубо говоря в последнем случае роль становится аналогом группы. Кроме того появилась грантовать роли другим ролям. Чем тебе не создание шаблонов. Это уже сделано. CyberMax7. Проверка права вызова для всего стека вызовов ХП для пользователя/роли. Например, SP1 вызывает SP2. У роли ROLE1 есть право вызова SP1, но нет права вызова SP2. Об этом я узнаю, только когда у пользователя произойдет Решил уточнить если тебе интересно конечно. В 4.0 для ХП, функций, триггеров, пакетов и таблиц появится предложение SQL SECURITY {DEFINER | INVOKER} Соответственно при указании DEFINER на выдачу прав самой процедуре в большинстве случаев можно забить. Это тоже сделано, но в основную ветку ещё не перенесено. CyberMaxНо вот сходу не могу определить прямо совсем непоправимые последствия. Элементарно же. Замена может заменить одноимённый объект метаданных другого типа. Это даже может скомпилироваться, а вот будет ли правильно работать хз. Короче без ручного контроля может покинуть граблей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 11:37 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
Симонов ДенисЕдинственное чего бы я видеть не хотел это автоматически создаваемые домены RDB$nnnn Отключи их ветку в DB Explorer. Там они тебе тоже вряд ли нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 14:39 |
|
Список недоработок и неудобств в IBExpert
|
|||
---|---|---|---|
#18+
ДокIBExpertВы чего там, скрипты/блоки разучились писать? нет, конечно. Потому notepad ++ - "лучший друг и товарищ" (с) :) Можно и так, конечно. Фича "Copy object" в DB Explorer, которую можно заточить под себя, если что, и прочие Apply block to object - это для извращенцев. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2016, 14:51 |
|
|
start [/forum/topic.php?fid=42&fpage=22&tid=1599246]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
88ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 167ms |
0 / 0 |