пятница, 25 сентября 2020 г.

ТО о SD 5.1.1.361

Отчёт о тестировании SQLDetective 5.1.1.361, опубликованном 23 сентября 2020 года, основан на Release Notes. Предыдущий билд был полгода назад, текущий не сменил даже номер релиза, поэтому значительных новшеств ждать от него не стоит, а только исправления накопившихся багов. Количество пунктов RNs говорит о том, что продукт не пользуется особой популярностью, что доказывает финансовый отчёт о компании ООО "Конквест Девелопмент Рус", сменившей свою локацию с США на Россию. Оценка проведена, как и прежде, в баллах и процентах готовности билда к передаче пользователю.

IMPROVEMENTS 1+0.8+0.5+0.9+0.9+0.3+0.5=4.9 баллов из 2+1+1+1+1+1+1=8 возможных, за баги -2
Object Navigator 0.7+0.3=1 из 2 возможных, за баги -2
Connected sessions in the Object Navigator are now colored according to the selected database type.
Подключенные сессии в Навигаторе Объектов теперь подкрашены в соответствии с выбранным типом базы.
Отсутствие единственного слова (tree) в тексте RNs превращают его в проблему для пользователя. Подсветка схем - это продуктовая фича, настраиваемая в опциях подключения к базе (Session / New Session.. / Options / Database Type / Name). Цвет этой подложки давно используется в комбобоксе главного тулбара приложения и в строке состояния Навигатора Объектов в режиме отображения всего содержимого окна. Теперь же эта подложка идентична для верхней ноды дерева объектов. Дерево Навигатора Объектов позволяет наличие нескольких подключений, но ветка лишь одного может быть развёрнута и считается текущей рабочей. Если курсор размещён на верхней ноде подключения, то подсветка теряет свой выбранный цвет, что нивелирует фичу до нуля. Более полезным было бы подсветить всё развёрнутое дерево в выбранный цвет. Исходя из этих замечаний могу дать новшеству лишь 0.7 балла.
If a database connection password expires soon or has already expired, both cases are now indicated in the "Change password" window.
Если пароль подключения к базе заканчивает свой срок или уже перестал быть действительным, то оба случая отображаются в окне для смены пароля.
Мне, как знатоку продукта с первых дней его создания, очень странно читать изменения функции коннекта к базе в блоке модуля Навигатора Объектов, поскольку эта самостоятельная фича доступна в первую очередь через главное меню, из окна коннектов и в редакторе SQL Editor. Эта оплошность тех.писательницы, составлявшей RNs, будет учтена при подсчёте баллов. Для проверки новшества рекомендую создать тестового юзера базы с правами на подключение:
CREATE USER test_user IDENTIFIED BY &pwd
/
GRANT CONNECT TO test_user
/
GRANT RESOURCE TO test_user
/
Это вполне быстро и просто можно сделать не в SQL Editor, а в Мастере Объекта (Object / Create Object.. / Non-Schema Objects / User), где и переключать режим окончания действия пароля (ALTER USER test_user PASSWORD EXPIRE), а также сам пароль (ALTER USER test_user IDENTIFIED BY &new_pwd), поскольку функция назначения нового пароля через вышеозначенную форму давно не работает. Но при этом список коннектов в SQL Editor, даже не открывавшемся перед сменой пароля и попытками подключения, пополняется с каждой попыткой назначения пароля через обновлённую форму. Кстати, этот список никак не увеличивает нумерацию коннектов, что усиливает серьёзность обнаруженного бага. Если юзера будете создавать на основе профиля с предопределённым лимитом времени действия пароля, то постарайтесь ограничиться своим триальным периодом SD (а не стандартом Oracle в 180 дней), чтобы не испортить триальный ключ переключением дат на локальном компе. Окно назначения нового пароля через основную форму подключения к базе изменилось незначительно: только в строке состояния маленький красный прямоугольник растянут в подпись. 
Диалоги подтверждения нового пароля
В остальном форма ничем не стала удобнее: не добавлено ни имя пользователя, которому присваивается новый пароль, ни имя базы, в которой этот юзер существует, ни даты, с которой пароль перестал действовать. Окно назначения нового пароля через коннект в SQL Editor имеет кардинально иной интерфейс и абсолютно не изменилось по сравнению с предыдущим билдом. В общей сложности новшество могу оценить лишь в 0.3 балла, а за выявленный старый баг сниму два балла.
Find Objects 0.8 из 1 возможного
Removed Public schemas from the system schema list, so the Public schemas now remain visible when the "Hide system schemas" check box is enabled.
Убраны общие схемы из списка системных схем, теперь общие схемы остаются видны, когда галка скрытия системных схем включена.
В первую очередь хотелось бы уточнить термин "общие схемы", которые не являются системными. Полагаю, что это наборы объектов из числа примеров (HR, SCOTT, APEX_...) и ещё некоторые другие без "SYS" в имени, но имеющиеся в стандартной нулевой установке базы. В дереве Навигатора Объектов в ветке схем можно найти ноду Public, в которой всегда только два типа объектов - синонимы и связи к сторонним базам, но одноимённый юзер никогда не бывает в ветке Users. Для проверки новшества откроем "Tools / Find Objects / Schemas" в прошлом и текущем билдах, включим опцию прятания системных схем и сравним списки. Оказывается, что изменение всего лишь оставляет в списке схем само значение схемы Public, то есть не причисляет к схемным общие синонимы и связи к базам. Это значит, что тех.писательница ошибочно использовала множественное число в тексте RNs, тем самым показав своё невежество в знании базы Oracle. Опечатка снижает балл.
Compare Schemas 0.5 из 1 возможного
Optimized the memory usage for schema comparison with a large number of objects in each.
Оптимизировано использование памяти при сравнении схем с большим количеством объектов в каждой.
Данное новшество следует проверять в рамках нагрузочного тестирования, для которого необходимо иметь соответствующие тестовые данные (схемы с большим количеством объектов всех типов - от тысячи и выше), операционные системы различных версий (от Win7 и выше) и сочетания оперативной памяти (до 3Гб для 32-битной и 2-16Гб для 64-битной ОС). Если вы обладаете такими различными наборами, то смело проводите тесты производительности и замеряйте используемое пространство оперативной памяти на всех этапах сравнения схем, которые по условиям новшества могут размещаться на едином сервере данных и даже в одной и той же базе и табличном пространстве. Поскольку у меня нет ничего для тестов, то даю полбалла, поверив на слово программисту.
Profile Wizard 0.9 из 1 возможного
Introduced the support for INACTIVE_ACCOUNT_TIME in the Profile Wizard and DDL.
Введена поддержка параметра неактивного времени аккаунта в Мастере Профиля и его DDL.
В последних версиях базы Oracle для профиля пользователя появился параметр пароля о времени его неактивности. Для тестирования вам необходимо иметь базу соответствующей версии и юзера в ней с правами на создание и редактирование профилей пользователя. Интерфейсный компонент ищите на странице "Password parameters" мастера профиля (Object / Create Object.. / Non-Schema Objects / Profile). Перед тестированием подробно изучите статьи по созданию и редактированию профилей пользователя в документации Oracle, из которых выясните ограничения на параметр по версиям баз, правам доступа и значениям. Интерфейс новой опции проверяйте по чит-листу. Согласно внутренним правилам ConquestSS, параметры объекта должны быть доступны для редактирования в соответствии с версией базы, то есть этот новый параметр вы можете видеть пустым и неактивным элементом на форме в ранних версиях базы и полноценно редактировать в последних с достаточным набором грантов. Экспорт DDL и пересоздание объекта по выгруженному коду (не только через мастер объекта) является обязательным функциональным тестом поддержки нового объекта или его части в SD. Не забудьте, что структуру объекта можно посмотреть в множестве мест: мастер объекта, навигатор объектов, сравнение баз, некоторые утилиты администратора базы (Fast Copier не поддерживает профиль, DB Examiner перечисляет параметры, экспорт схем только со схемными объектами работает). К сожалению, тех.писательница не уточнила версию базы, поэтому и мне для тестов не удалось получить необходимую. Полную проверку новшества проделать не удалось, а значит и пункт RNs не получает полный балл.
Synonym Wizard 0.9 из 1 возможного
The object name is now automatically specified in the Synonym Wizard if the synonym is created from the Synonyms’ sub-folder.
Имя объекта теперь автоматически определяется в мастере синонима, если он создаётся из подпапки синонимов.
Скорее всего имеется ввиду подпапка синонимов у объекта в дереве Навигатора Объектов, а не подпапка всех синонимов выбранной схемы. Для создания синонима существует множество способов в SD:
- через главное меню "Object / Create Object.. / Schema Objects / Synonym" мастер синонима откроется с пустыми значениями родительского объекта и нового синонима в текущей схеме. При этом нет никакой разницы, какая нода активной схемы подсвечена курсором в Навигаторе Объектов;
- через контекстное меню "Create Synonym" объекта в дереве Навигатора Объектов мастер нового синонима заполнит владельца синонима схемой Public, а имя родительского объекта и его владельца заполнятся текущими значениями;
- если в дереве Навигатора Объектов курсор стоит на ноде синонимов объекта, как его подпапке, то мастер нового синонима можно открыть либо по главному меню "Object / Create", либо из контекстного меню "Create". При этом новый мастер отработает одинаково: владелец синонима - Public, владелец родительского объекта - активная схема, имя родительского объекта в прошлом билде пустое, в новом - текущий объект.
Исходя из вышеописанных вариантов могу заключить, что это не улучшение, а исправление недоделки, которую заметили ещё четыре года назад, но только сейчас поправили. Путанное описание и сомнительное размещение в списке RNs не позволяет моей совести дать полный балл.
Export and Import Wizards 0.3 из 1 возможного
Improved the layout of the UI elements in the Export and Import Wizards.
Изменён внешний вид интерфейсных элементов в мастерах экспорта и импорта.
Стоит пояснить, что имеются ввиду мастера работы с данными, а не объектами базы. Несколько раз давно в моих отчётах были замечания по некоторым страницам этих форм. Так что, если это не кардинальные изменения, то пункт RNs должен быть в группе исправленных багов. Проверять придётся оба мастера и на всех шагах, то есть сравнению будут подвержены 2(мастера)*7(шагов)*9(типов)=126 скриншотов из каждого билда. Если для тестирования мастера экспорта достаточно лишь иметь в любой базе данных любую таблицу или вьювер с данными, то для тестирования мастера импорта данных придётся создать файлы с соответствующими тестовыми данными. Поэтому рекомендую начать с мастера экспорта и создать файлы всех типов для последующих тестов мастера импорта, в котором нет особой необходимости выполнять сам импорт на последнем шаге. Когда в ConquestSS внутренняя WiKi создавалась в Confluence, то первоначально она наполнилась моими наработками в виде чит-листов. А после проведения акции LFT внутренние стандарты для интерфейсных компонентов приобрели более жёсткие лимиты, утверждённые руководством. Среди таких параметров - минимальный и максимальный размеры рабочих окон, которые не должны позволять юзеру свободно работать со всеми элементами. Точные размеры вписаны были из расчёта минимальных технических характеристик популярных мониторов. Например, минимальная высота окна не должна быть больше 768 пикселей, а расстояние между элементами 4-6 пикселей. Мои тесты показали, что к обоим окнам применены параметры по расположению элементов, то есть учтены интервалы пустот. Но с минимальным размером в обоих окнах проблемы. Окно экспорта имеет слишком большую высоту даже на шагах с максимальным количеством элементов, из-за чего функциональные кнопки для перемещения по шагам прячутся за пределами рабочей области программы. А окно импорта данных наоборот не получило новую минимальную высоту, из-за чего некоторые элементы получаются обрезаны и даже не появляется ползунок вертикальной прокрутки. Оба эти бага считаются критичными для новшества об интерфейсе. Поэтому пункт RNs зарабатывает лишь 0.3 балла.
Tray Notifications 0.5 из 1 возможного
Users are now reminded about the upcoming subscription renewal.
Пользователи теперь оповещаются о приближающемся обновлении подписки.
Следует пояснить, что речь идёт о лицензии продукта. Много лет назад CEO придумал вариант аренды продуктов ConquestSS на месяц, квартал или полгода. Но после одного года поддержки такого типа лицензирования финансисты исключили этот способ выманивания денег из пользователей. Программисты же функционал в продукте и на сервере не удалили, а лишь заремарили. Поэтому маркетолог, выудивший у меня идею возврата к лицензиям аренды, упростил её до месячной подписки и довольно быстро внедрил, как свою, даже не сказав мне за это "спасибо". Поскольку система предупреждений для триалов, AMS и пакетных лицензий была написана после закрытия аренды, то это новшество программист копи-пастил в систему подписки. Полагаю, что предупреждение должно появляться один раз за неделю до окончания и каждый раз за 3-5 дней до срока очередной оплаты, но при этом не спамить юзера многопользовательской лицензии. В CS и CDB против спама была введена опция в Preferences, но в SD её так и не дописали. Для тестирования новшества необходимо купить подписку, а также запускать SD с компа, имеющего доступ к Интернету. В надежде, что программист скопировал код в достаточной мере, считаю новшество сделанным, но поскольку не имею возможности его проверить, а также за счёт пространного текста от тех.писательницы даю лишь полбалла.

BUGS FIXED 0.6+2.8+0+0+0.8+0-1+0.9+0+0+0+0.7+0.8+0.9+1+1+1=9.5 баллов из 1+5+1+1+1+1+2+1+1+1+1+1+2+1+1+1+1=23 возможных , -1-2-1-0.5=-4.5 за баги
Core 0.6 из 1 возможного, -1 за баг
When the corresponding options are enabled for the current database type, the user is now prompted to confirm the execution of the following statements:
- GRANT, ADMINISTER KEY MANAGEMENT in the SQL Editor.
- PURGE in the Object Navigator.
- GRANT, REVOKE in the Object Privileges module.

Когда соответствующие опции включены для текущего типа базы данных, юзер теперь оповещается о подтверждении выполнения следующих команд:
- грантование и администрирование ключей в SQL Editor;
- очистка в Навигаторе Объектов;
- выдача и отнимание грантов в модуле объектных привилегий.

Этот баг, как явная недоделка фичи о конфирмации DDL команд, давно был в моих отчётах о тестировании, но лишь сейчас у программиста дошли до него руки. К сожалению, тех.писательница никак не намекнула, о каких опциях идёт речь. Поясню. Нигде в настройках приложения их вы не найдёте, потому что они спрятаны в опциях подключения к базе (Session / New Session.. / Options / Database Type / Confirm execution required for the following statements: DML, DDL). Какие из перечисленных команд в Oracle считаются DML или DDL, смотрите в моей таблице. Также вам стоит знать, что выставленные опции касаются только выбранного типа коннекта по градации приложения. Здесь всё ещё не исправлен баг о смене опций для уже подключенного коннекта, например, подключиться к базе каким-нибудь типом без включенных опций на подтверждение исполнения DML и DDL, сразу же откройте окно подключений к базе ещё раз и в его опциях включите их с сохранением настроек, но без повторного подключения к базе, а в имеющейся сессии разверните ноду таблиц в Навигаторе Объектов. DML не сможет выполниться и папка окажется пустой.
Перед тестированием фикса вам стоит внимательно изучить статьи документации Oracle о вышеперечисленных командах, чтобы у тестового пользователя было достаточно прав в базе на их исполнение. Для тестирования SQL Editor возьмите тексты примеров из этой документации и подправьте имена юзеров и объектов на свои, либо экспортните в редактор команды из модуля объектных привилегий. Здесь можно отметить баг о нераспознавании некоторых служебных слов в редакторе кода, то есть они не подсвечиваются должным образом. Также стоит вам знать, что команда про администрирование ключей появилась в последних версиях базы Oracle. Для тестирования в Навигаторе Объектов используйте главное меню "Object / Drop" или контекстное меню "Drop" некоторых объектов, для которых актуальна команда Purge, например, ненужные таблицы с ненужными данными, и самостоятельную команду Purge контекстного меню для объектов из корзины (папка "Recycle Bin"). Здесь вы обнаружите, что очищение корзины, как опция при удалении объекта, не считается в SD отдельной DDL командой и исполняется без подтверждения, что является недоделкой. Для тестирования модуля привилегий позаботьтесь о достаточности прав самого подключенного юзера на выдачу и отнимание грантов. Здесь будьте внимательны к галке о выключении опции. Во-первых, она всегда включена, что автоматически отключает все последующие конфирмации. Во-вторых, в наименовании опции значится, что её изменение можно сделать в Preferences, что является ложью, так как опция подтверждения устанавливается лишь в окне подключения к базе.
Итого, если баг разделить на три части по модулям, то из-за выявленных недоделок и сопутствующих багов могу дать лишь 0.6 балла и ещё сниму балл за баг при выставлении опций.
SQL Editor 1+1+0+0.8+0=2.8 из 5 возможных, -2 за баги
Formatting of scripts copied from the SQL Editor is now preserved when pasted in editors that support RTF format.
Форматирование скриптов, скопированных из SQL Editor, теперь сохраняется при вставке в редакторы, поддерживающие RTF формат.
К сожалению, тех.писательница не уточнила, из какого конкретно окна редактора надо копировать текст с особым форматированием. Дело в том, что весь модуль SQL Editor состоит из нескольких видов редакторов: кода, результатов исполнения, структура скрипта, история команд, подсказчик команд. Если же имелся ввиду только основной редактор кода, то аналогичную правку бага стоит проверить в Stored Program Editor и мастерах объектов, состоящих из интерфейсного компонента SynEdit. Исходный текст возьмите всех различных вариаций, настраиваемых в "View / Preferences / Code Editors / Color". В качестве приёмника вставки можно использовать общедоступные WordPad или MS Word редакторы. По результатам моих тестов могу дать балл, но с примечанием о неприменимости фикса к окнам с результатами исполнения скриптов.
Считаю уместным здесь пожаловаться на давнюю проблему текстов RNs для всех продуктов ConquestSS, которые не стоит в оригинале копировать из PDF и вставлять сразу в WordPad, поскольку последующее его дописывание на русском языке во многих местах при сохранении как-то неожиданно меняет кодирование на кракозябры. В качестве выхода из положения мне приходится форматированный текст из PDF копировать в Notepad, который снимает с текста всякие кривые фонты, и только потом из Notepad копировать чистый текст и вставлять его в удобный текстовый редактор, где приходится уже вручную форматировать, применяя красивые фонты. Полагаю, что причиной является безалаберное отношение оформителя текста к своим обязанностям по поддержанию единого стиля форматирования. За такую проблему можно с каждого билда снимать по баллу. А ещё при инсталляции и вообще в системных требованиях давно пора увеличить достаточное свободное пространство с 200Мб до 300-400Мб. 
If a session is disconnected while running a long query, the error message "Session [session_name] is busy" now shows a relevant session name.
Если сессия разъединена во время исполнения длинного запроса, сообщение об ошибке теперь показывает соответствующее имя сессии.
Для проведения теста вам понадобятся два-три коннекта к разным базам или разными юзерами, или одинаковыми, но проверьте нумерацию коннектов. Откройте SQL Editor, в котором запустите запрос на длинное исполнение в одной из сессий. Обычно я делаю в SQL Output полную выборку из системного вьювера со всеми объектами и объединяю её с аналогичной несколько раз. Пока он исполняется, попробуйте отключить обе сессии сразу или одну с исполняемым запросом, либо закройте всё приложение. Существует ещё один способ отключения сессии - через её убивание (либо вручную командой Kill, либо в Session Navigator). В прошлом билде баг был заметен на двух одинаковых подключениях с различной нумерацией.
Select statements starting with parenthesis are now correctly executed in the "Data Output" tab.
Выражения выборки, начинающиеся с кавычек, теперь корректно выполняются в закладку данных.
К сожалению, в документации Oracle нет описания каких-то выборок, начинающихся с кавычек. Поэтому и о правильности их исполнения речи быть не может. Пункт RNs никак не могу учесть, в чём состоит полная вина тех.писательницы.
Modifying the vertical toolbar of the SQL Execution History by adding and/or removing icons in the Icon Dictionary now works correctly.
Изменение вертикального тулбара истории исполнений добавлением и/или удалением иконок в словаре иконок теперь работает корректно.
В нескольких прошлых билдах была замечена проблема интерфейса из-за пропавших всех иконок с тулбара истории исполнений. Теперь настройка восстановилась. Но странная величина тулбара по отношению к панелям и нижняя стрелка для какого-то сохранения оставляет юзера в непонимании. Поэтому фикс не получает полный балл. Также стоит обратить ваше внимание на использование термина correctly без отсылки к правилам.
В рамках этого фикса стоит отметить, что настройки главного тулбара различны в предыдущем и текущем билдах. Но этот факт не учтён в RNs, как усовершенствование. Из-за чего у юзера могут возникнуть позже проблемы при переносе настроек приложения с одного компа на другой (забудет скопировать какой-нибудь файл).
Executing the same statement several times no longer opens multiple pages in the Data Output tab.
Исполнение одного и того же выражения несколько раз больше не открывает несколько страниц в закладке с данными.
Для связи редактора и закладки с выходными данными существует несколько настроек на страницах установок приложения "View / Preferences / Code Editors / SQL Editor / Editor and Tab Handling", "View / Preferences / Code Editors / SQL Editor / Data Output" . Также на вывод данных влияет опция "Smart output" в самом редакторе. Одинаковый запрос может быть в разных закладках редактора, либо дублироваться в едином скрипте. Поэтому в сочетании опций и действий юзера всегда найдётся несуразица. В чём была конкретика текущего фикса - отгадать сложно, поэтому считаю его припиской и балла не дам.
Stored Program Editor 0 из 1 возможного
Undoing all changes in a stored object reverts the object’s state back to non-modified.
Возврат всех изменений в хранимом объекте возвращает статус объекта к немодифицированному.
Отдельной команды "возврат всех изменений" в редакторе не существует, так что будем иметь ввиду конечное применение общепринятой горячей клавиши "Ctrl+Z". Состояние объекта графически отображается в статусной строке разноцветными прямоугольниками. Тест состоит из следующих шагов: открыть любой код или файл в редакторе, добавить или удалить один символ текста, нажать горячую клавишу или кнопку на тулбаре для отката изменений до гашения стрелки "Возврат изменений", закрыть редактор. Если бы фикс был сделан, то никакого предложения о сохранении или компиляции модифицированного кода не предлагалось. Но диалог появляется, а также голубой индикатор правки горит, поэтому заключаю, что никакого фикса не сделано. То есть и балл билду не светит.
SQL Editor / Stored Program Editor 0 из 1 возможного
The code editor no longer flickers on moving the caret when a long script is open and the option "Cursor beyond EOL" is disabled.
Редактор кода больше не мерцает при движении курсора, когда длинный скрипт открыт и опция о конце строки и курсоре выключена.
Опция о курсоре и конце строки настраивается на странице "View / Preferences / Code Editors / General". Для теста нам понадобится код с длинными строками, не только больше правой границы "View / Preferences / Code Editors / Display / Margin and Gutter / Width", но и прячущаяся за правым краем окна редактора. Также длина скрипта должна определяться и количеством строк, уходящими глубоко за нижнюю границу редактора. В качестве движения курсора будем использовать кнопки стрелок, клики мышью и вставку пустых строк. Полагаю, что раньше было излишнее перерисовывание окна редактора, заметить которое можно при определённом техническом оснащении монитора и его видеокарты. Мои тесты не показали никакой разницы в работе курсора редакторов, поэтому не могу дать балл за фикс.
Object Navigator 0.8 из 1 возможного
Clicking "Create" from the Object Tree now correctly opens the relevant object wizard for triggers, clusters, and collections.
Клик по команде создания из Навигатора объектов теперь корректно открывает соответствующий мастер объекта для триггеров, кластеров и коллекций.
На самом деле команда создания объекта может быть вызвана не только из контекстного меню для нод дерева Объектного Навигатора, но и через главное меню "Object / Create ..". Этот баг несколько раз отмечался в моих отчётах тем, что перечисленные объекты невозможно было создать через мастер, но в дереве навигатора объектов при этом создавались пустые ноды соответствующих типов. Кроме этого, мастер коллекций был упразднён и код переведён в Stored Program Editor. Теперь же для новых объектов в дереве навигатора не формируется пустая нода, как это работает для староинтерфейсного мастера таблиц, всё ещё не отвязанного от дерева объектов. И перечисленные объекты открываются в своих мастерах. Эти мои примечания поясняют вам значение термина correctly. Поскольку этого не сделала тех.писательница, то полный балл за фикс дать не могу.
Dataset Manager 0 из 1 возможного
Filters created for a table no longer appear in the filter list of another table with a similar table name.
Созданные для таблицы фильтры больше не появляются в списке фильтров для другой похожей одноимённой таблицы.
Скорее всего здесь имелись ввиду одноимённые таблицы разных баз и схем, поэтому для теста нам понадобятся коннекты к разноимённым базам (это можно сделать через tns-файл, назвав по разному одну базу дважды) и одноимённые таблицы с одинаковым и различным наборами полей в разноимённых схемах. В качестве менеджера данных подойдёт список фильтров в SmartDataset или "Object Navigator / ContentSelector". К сожалению, в предыдущем билде мне не удалось выявить проблемы путанием фильтров и имён таблиц, поэтому считаю фикс припиской и не даю ни балла.
Code Insight -1+0=-1 из 2 возможных
The Code Insight window is now shown correctly from the first time when the "Include 'Code Assistant' data" option is enabled.
Окно подсказчика кода теперь показывается корректно с первого раза, когда включена опция добавления данных ассистента кодирования.
Напомню, что ассистент кодировщика - это самостоятельный модуль, который доступен из главного меню "View / Code Assistant" и предлагает упростить работу через вставку целых блоков стандартного кода, а помощник кодировщика - это сочетание структуры кода в редакторе с отображением списка соответствующих введённым символам наименований объектов, параметров или переменных. Опция включения данных ассистента в помощник кодирования настраивается в "View / Preferences / Code Editors / Code Insight". В чём заключается корректность правки придётся выяснять юзеру самому, поскольку тех.писательница не указала исходные правила. По сравнению с предыдущим билдом этот фикс могу считать только ухудшением, поскольку после набора двух символов SD зависает одинаково долго, а после этого курсор теряется и ввод последующих символов невозможен. Поэтому пункт RNs отнимает балл у билда.
Code suggestions shown in the Code Insight window are no longer corrupted and scrolling the window no longer causes an access violation error.
Предложения кода в окне помощника больше не портятся и прокрутка окна больше не вызывает ошибок доступа.
При тестировании предыдущего фикса мной не было замечено никаких проблем в текстах подсказок и при прокрутке. Поэтому пункт RNs, как приписка, не заслуживает балл.
Query by Example 0.9 из 1 возможного
The "Ignore case" option now works correctly for the CLOB columns.
Опция игнорирования регистра теперь корректно работает для CLOB колонок.
Для теста нам понадобится таблица с данными в CLOB поле, заполненном разнорегистровыми текстами. Нажав красный вопросик в левом верхнем углу грида или кнопку New в "Dataset Manager" или F7 в гриде, откроем редактор фильтра и введём значения для обозначенного поля. Смысл термина корректности заключается в том, что опция просто на просто теперь действительно применяется. Но, возможно, тех.писательница имела ввиду и что-то иное не описанное, поэтому не дам полного балла.
Code Analyzer 0 из 1 возможного
The rule "Specify full column list" now shows correct code analysis results.
Правило означения полного списка колонок теперь показывает правильные результаты анализа кода.
По-видимому, речь идёт о срабатывании правила кодирования "Specify a full column list (as opposed to using '*') in each DML statement and cursor", поэтому для теста будем использовать выражения выборки данных с использованием звёздочки вместо перечисления полей. Корректность отображения, опять же, не описана тех.писательницей, поэтому предположим, что либо правило совсем не срабатывало, либо номер строки не совпадал, либо в каком-то частном случае кода анализатор не распознавал звёздочку. Поскольку ничего конкретного нет в описании фикса, то протестируем простейший вариант - срабатывание правила для выражения "select * from my_table;". В предыдущем и текущем билдах не выявлено никаких различий в работе правила, поэтому не даю фиксу балл.
Rename Object 0 из 1 возможного
An index name that does not match its table name is no longer included in the script when the table is renamed.
Имя индекса, которое не совпадает с именем таблицы, больше не входит в скрипт, когда переименовывается таблица.
В одном из предыдущих билдов было добавлено автоматическое переименование индексов, совпадающих с именем таблицы. Никаких изменений в текущем билде нет, поэтому этот пункт RNs является пустышкой.
Find and Replace 0 из 1 возможного
When searching for a selected text occurrence, the search scope is no longer changed to "Selected text".
При обнаружении искомого текста найденное выражение больше не меняется на выделенное.
Описание фикса довольно мудрёное, поэтому остаётся только догадываться, что речь идёт о подсветке найденного выражения. Для теста настроим или запомним цветовые подложки "View / Preferences / Code Editors / Color / Elements / Selection / Color" и "View / Preferences / Code Editors / Color / Elements / Search match / Color". В любом редакторе приложения откроем какой-нибудь текст. Выполним одинарный поиск (Ctrl+F), повторный (F3) и в выделенном фрагменте одинарный, повторный. Во всех четырёх вариантах подмечаем раскраску. Никакой разницы с прошлым билдом не выявлено, поэтому можно заключить, что либо тех.писательница не описала конкретный частный случай, либо программист сделал нечто иное, либо ничего не исправлялось. Поэтому билд недополучает балл.
Object Wizards 0.7 из 1 возможного, -1 за баги
Fixed the highlighting of the nodes in the object tree.
Зафиксирована подсветка нод в дереве объектов.
Во-первых, в каждом мастере объекта нет дерева объектов, а есть только дерево страниц. Это опечатка тех.писательницы серьёзно может сбить с толку юзера. Во-вторых, не понятно, о каких конкретно мастерах, то есть типах объектов, идёт речь. Дело в том, что некоторые объекты до сих пор управляются через старые интерфейсы, например, таблицы. Но и новые мастера, не смотря на свою видимую схожесть, на самом деле не являются единым сквозным по всему приложению компонентом. Поэтому любые фиксы в одном мастере необходимо перепроверять во всех интерфейсах каждого типа объекта. Но есть и третий вариант, если компонент дерева переписан из Delphi-стандарта под ConquestSS нужды. В таком случае стоило баг разместить не в только группе мастеров объектов, а в глобальном модуле GUI. Тогда и проверять пришлось бы вдоль интерфейса всего приложения. Ещё одно упущение тех.писательницы в том, что не описан вариант кликанья или выделения нод в дереве, клавиатурой или мышью. В одном из моих прошлых отчётов был описан баг почернения подложки до цвета шрифта при повторном клике правой клавишей мыши в дереве новоинтерфейсных мастеров. В прошлом билде подложка нод дерева страниц староинтерфейсного мастера была серой, а в текущем - голубая. Потемнения подложки в староинтерфейсных мастерах не было и нет по клику правой кнопки мыши, а в новоинтерфейсных потемнение не происходит. Это даёт мне право прибавить лишь 0.7 балла.
В процессе тестирования выявились ещё пара багов. В староинтерфейсных мастерах по правой кнопке мыши в дереве страниц открывается контекстное меню с пунктами кнопки настроек мастера, а в новоинтерфейсных этой фичи нет. 
Пустая колонка и перекрытые наименования

На страницах индексов и триггеров мастера таблиц есть первая колонка без наименования. При первом открытии этих страниц без значений весь грид выглядит весьма нелепо: первая колонка не подписана, все остальные с обрезанными именами и перекрывающими их стрелками серверной сортировки. Это противоречит правилам видимости и понятности важной информации. Эти два бага не столь критичны, поэтому с билда сниму за них один балл.
Export Wizard 0.8+0=0.8 из 2 возможных, -0.5 за баг
The Export Wizard’s window is now restored correctly after restarting the application without the database connection.
Окно мастера экспорта теперь корректно восстанавливается после перезагрузки приложения без коннекта к базе.
Во-первых, стоит пояснить, что речь идёт о мастере экспорта данных, а не, например, схемы. Во-вторых, этот модуль имеет возможность смены коннекта, поэтому должен поддерживать автоопределение активной сессии при открытии окна и отключении коннекта. В-третьих, рабочая область SD должна быть настроена так, чтобы окно мастера автоматически открывалось при запуске приложения. Это устанавливается на странице "View / Preferences / General / Workspace" несколькими опциями. В прошлом билде автооткрытие окна без подключения к базе сопровождалось ошибкой доступа, в текущем же проблемы нет, то есть баг можно считать исправленным. Но полный балл ставить нельзя, так как тех.писательница забыла про конкретику.
В рамках теста всплыла недоделка главного меню и тулбара, которые не позволяют открыть эти сессионно-независимые окна при отсутствии коннекта к базе. Напомню, что сессионная независимость мастеров экспорта и импорта данных была введена не так давно, а вот их экшены до сих пор остаются неактивными. Это примечание снимает полбалла с билда.
If the "Change Owner To" option is empty when exporting a script, the original object owner is specified in the output file.
Если опция смены владельца пустая когда выгружается скрипт, то исходный владелец объекта подставляется в выходной файл.
Для тестирования фикса проведём по два экспорта из прежнего и текущего билдов. Один с включенной галкой о приписке владельца и другой с выключенной. Можно ещё варианты проверить, когда в редакторе имени владельца пробел или точка, которые по правилам наименования владельцев в рамках документации Oracle считаются пустыми наименованиями, но для SD их считаю частными случаями и предлагаю вам самостоятельно на таких примерах поискать баги модуля. Мои тесты ограничивались insert-скриптами, а имя владельца редактировалось лишь в режиме включения владельца в скрипт. При отключении галки оба билда не меняли содержимое редактора. Да и файлы экспорта ничем не отличаются. Так что ответственно заявляю, что фикса нет. То есть и балла нет.
Constraint / Table Wizard 0.9 из 1 возможного
When the check box "Exclude users with no objects from the Schema list" is selected, users with no objects are no longer shown in the list of constraints.
Когда чек-бокс для исключения юзеров без объектов из списка схем выбран, юзеры без объектов больше не показываются в списке констрейнтов.
Сначала попытаемся понять, в каком модуле сделан фикс. В мастерах таблиц и вьюверов есть страница с констрейнтами, а для ключей существует в SD самостоятельный мастер создания и их настройки. Тех.писательница этого не уточнила, поэтому придётся проверять оба места. Также не сказано, что опция о списке схем и юзеров настраивается в "View / Preferences / General / Session". Итак, тех.писательница не права в том, что в описании фикса упустила констрейнты вьюверов и возможность выбора объектов иных схем лишь для внешних ключей. Для теста переключаем опцию в настройках приложения и создаём внешний ключ для таблицы или вьювера. Предварительно в базе создадим пользователя без объектов, чтобы отследить отработку фильтра по значению вышеозначенной опции. Фикс сделан, но полного балла не дам из-за неполноты описания.
Table Wizard 1 из 1 возможного
The confirmation message is now shown on trying to truncate a partition from the wizard.
Сообщение подтверждения теперь показывается при попытке очистить партицию из мастера.
В одном из прошлых отчётов мной было подмечено, что диалог подтверждения о выполнении "опасной" операции не распространяется абсолютно на все места. Полагаю, что это именно тот фикс, вернее, его часть. Для тестирования необходимо переключать опцию "Session / New Session.. / Options / Database Type / Confirm execution required for the following statements: DML, DDL" и в таблице с партициями, но ненужными данными, исполнять очищение. Предупреждение появляется в текущем билде и приносит балл.
Job / View / Materialized View Wizards 1 из 1 возможного
Pressing the tab key no longer removes the cursor from the SQL statement editor.
Нажимание кнопки табуляции больше не убирает курсор из редактора sql выражения.
На некоторых страницах перечисленных мастеров есть редакторы для формирования и правки анонимного pl/sql блока или выражения выборки данных. Подобные окна есть и в иных мастерах объектов, например, шедулеров или триггеров. Поскольку окно редактора кода является частью интерфейса, по элементам которого обычно переходят кликом клавиши табуляции, а в редакторе текста табулятор должен вводить служебный символ, то описанный баг говорит о наличии коллизии экшенов. Текущий билд её исправил.
Online Support Desk 1 из 1 возможного
The "Reply to message" toolbar button is no longer active when an empty folder is selected.
Кнопка на тулбаре для ответа на сообщение больше не активируется, когда выбрана пустая папка.
Похоже, что это баг из моих отчётов после добавления фичи о формировании ответа на OSD сообщение из списка. Тогда это была регрессия. Теперь она поправлена.

Итого по билду: 4.9+9.5=14,4 баллов из 8+23=31 возможных дают 14.4/31=46% готовности к передаче билда пользователю, но за минусом -2-4.5=-6.5 баллов за баги.

Комментариев нет:

Отправить комментарий