ora90drv
Краткое описание :
Компилятор прямого SQL меняет функцию SubStr на значение NULL. Необходимо логирование подобных событийОписание :
Прямой SQLЧто измененно :
DSQL
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Сделать ошибкой использование неизвестных функций и вообще идентификаторов вместо того, чтобы заменять их молча на NULL
Как измененно :
Реализовано.
ora90drv
Краткое описание :
При докомпиляции базы с алфавитной сортировкой ошибки в ORA90DRV.LOGОписание :
ДокомпиляцияЧто измененно :
Драйвер ORACLE
----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
При докомпиляции базы с алфавитной сортировкой ошибки в ORA90DRV.LOG
Ошибки связаны с попыткой добавить уже существующий (в результате переименования) индекс
Как измененно :
Исправлено
ora90drv
Краткое описание :
Пустое поле при вставке копии записи таблицы, если это поле ограничено правами на поля.Описание :
ТаблицЧто измененно :
Protect
----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
Если есть отдельные права на поле таблицы, то при вставке это поле считается
недоступным для записи и заполняется значением по умолчанию.
Отдельного права на INSERT нет. Можно убрать отдельные права на это поле вообще,
тогда будет работать вставка. А вот комбинацию
"вставка и модификация разрешены, чтение нет" сейчас невозможно настроить...
Как измененно :
Отдельного права на INSERT для поля по-прежнему не будет,
при вставке будут смотреть право на UPDATE конкретного поля
(если нет права INSERT на таблицу, то, конечно, ничего не вставится)
ora90drv
Краткое описание :
Реализовать возможность выбора филиала для вставки записей в мультифилиальном режимеОписание :
Системные интерфейсы AtlantisЧто измененно :
Филиальность
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Реализовать возможность определения филиала в качестве текущего для всех последующих создаваемых записей в мультифилиальном режиме.
Как измененно :
Реализовано. При выборе филиалов на старте приложения или из соответствующего пункта меню предоставляется возможность установить текущий филиал для вставки.
ora90drv
Краткое описание :
DirectSQL. Не выдается ошибки в случае неправильного запросаОписание :
Прямой SQLЧто измененно :
DSQL
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
диагностировать неправильное использование алиаса поля внутри контекста
(по правилам алиас можно использовать только снаружи той подвыборки, где его присвоиили)
Как измененно :
Реализовано
ora90drv
Краткое описание :
Некорректно работает метод addCriteria объектного интерфейса IQueryОписание :
Прямой SQLЧто измененно :
DSQL
----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
Не работает AddCriteria объектного интерфейса IQuery
(не понимает, что поля из фильтра, это поля таблицы из основного запроса)
Как измененно :
Исправлено.
ora90drv
Краткое описание :
Неправильно отрабатывает прямой sqlОписание :
Прямой SQLЧто измененно :
DSQL
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Если во время Fetch не влез результат выборки в привязанное поле,
то для пользователя DSQL это выглядит так, будто просто конец выборки.
Надо сделать отдельный код ошибки.
Также желательно заранее проверять во время связывания, что тип результирующего поля подходящий.
Как измененно :
Реализовано.
При выполнении запроса проверяют типы и размеры связанных с колонками полей,
и пишут предупреждение в лог драйвера --
если включить параметр Database.DSQLShowOverflowWarning=WARNING
Если Database.DSQLShowOverflowWarning=ERROR,
то несоответствия будут вызывать ошибку 367
(ошибку вернет команда sqlExecute или подобная)
Всё это только когда несоответствие очень очевидное;
если тип выражения найден СУБД и не совпадает с принимающим полем --
не будет предупреждений.
Например из поля в поле LongInt->Word -- это предупреждение,
а (Word*Word)->Word -- не будет предупреждения
Потом, если во время fetch случится переполнение по факту
(оно может и не случится, если реальные данные маленькие),
то будет ошибка 366, а не 4 как раньше