Текущие компоненты

Название продукта Название компонента Тип Последняя версия Дата выхода
Атлантис 5.5ORA90DRVDLL

Справка по компоненту.

Количество версий компонента36
Количество рещенных задач339
Последная дата обработки компонента2023-03-31 14:08:21
Последная дата файла2023-03-31 12:46:39
Последная версия5.5.41.0

Новые задачи в этом компоненте

ora90drv
102.122901
ORA90DRV ( 5.5.18.0 )

Краткое описание :

Компилятор прямого SQL меняет функцию SubStr на значение NULL. Необходимо логирование подобных событий

Описание :

Прямой SQL

Что измененно :



DSQL

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Сделать ошибкой использование неизвестных функций и вообще идентификаторов вместо того, чтобы заменять их молча на NULL

Как измененно :


Реализовано.
ora90drv
101.52850
ORA90DRV ( 5.5.18.0 )

Краткое описание :

При докомпиляции базы с алфавитной сортировкой ошибки в ORA90DRV.LOG

Описание :

Докомпиляция

Что измененно :



Драйвер ORACLE

----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
При докомпиляции базы с алфавитной сортировкой ошибки в ORA90DRV.LOG
Ошибки связаны с попыткой добавить уже существующий (в результате переименования) индекс

Как измененно :


Исправлено
ora90drv
101.53627
ORA90DRV ( 5.5.18.0 )

Краткое описание :

Пустое поле при вставке копии записи таблицы, если это поле ограничено правами на поля.

Описание :

Таблиц

Что измененно :



Protect

----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
Если есть отдельные права на поле таблицы, то при вставке это поле считается
недоступным для записи и заполняется значением по умолчанию.
Отдельного права на INSERT нет. Можно убрать отдельные права на это поле вообще,
тогда будет работать вставка. А вот комбинацию
"вставка и модификация разрешены, чтение нет" сейчас невозможно настроить...

Как измененно :


Отдельного права на INSERT для поля по-прежнему не будет,
при вставке будут смотреть право на UPDATE конкретного поля
(если нет права INSERT на таблицу, то, конечно, ничего не вставится)
ora90drv
101.53683
ORA90DRV ( 5.5.18.0 )

Краткое описание :

Реализовать возможность выбора филиала для вставки записей в мультифилиальном режиме

Описание :

Системные интерфейсы Atlantis

Что измененно :



Филиальность

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Реализовать возможность определения филиала в качестве текущего для всех последующих создаваемых записей в мультифилиальном режиме.

Как измененно :


Реализовано. При выборе филиалов на старте приложения или из соответствующего пункта меню предоставляется возможность установить текущий филиал для вставки.
ora90drv
103.5595
ORA90DRV ( 5.5.18.0 )

Краткое описание :

DirectSQL. Не выдается ошибки в случае неправильного запроса

Описание :

Прямой SQL

Что измененно :



DSQL

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
диагностировать неправильное использование алиаса поля внутри контекста
(по правилам алиас можно использовать только снаружи той подвыборки, где его присвоиили)

Как измененно :


Реализовано
ora90drv
104.20199
ORA90DRV ( 5.5.18.0 )

Краткое описание :

Некорректно работает метод addCriteria объектного интерфейса IQuery

Описание :

Прямой SQL

Что измененно :



DSQL

----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ -----
Не работает AddCriteria объектного интерфейса IQuery
(не понимает, что поля из фильтра, это поля таблицы из основного запроса)

Как измененно :


Исправлено.
ora90drv
101.46960
ORA90DRV ( 5.5.18.0 )

Краткое описание :

Неправильно отрабатывает прямой sql

Описание :

Прямой SQL

Что измененно :



DSQL

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Если во время Fetch не влез результат выборки в привязанное поле,
то для пользователя DSQL это выглядит так, будто просто конец выборки.
Надо сделать отдельный код ошибки.
Также желательно заранее проверять во время связывания, что тип результирующего поля подходящий.

Как измененно :


Реализовано.
При выполнении запроса проверяют типы и размеры связанных с колонками полей,
и пишут предупреждение в лог драйвера --
если включить параметр Database.DSQLShowOverflowWarning=WARNING
Если Database.DSQLShowOverflowWarning=ERROR,
то несоответствия будут вызывать ошибку 367
(ошибку вернет команда sqlExecute или подобная)
Всё это только когда несоответствие очень очевидное;
если тип выражения найден СУБД и не совпадает с принимающим полем --
не будет предупреждений.
Например из поля в поле LongInt->Word -- это предупреждение,
а (Word*Word)->Word -- не будет предупреждения

Потом, если во время fetch случится переполнение по факту
(оно может и не случится, если реальные данные маленькие),
то будет ошибка 366, а не 4 как раньше

5.5.41.05.5.40.05.5.39.05.5.38.45.5.38.15.5.38.05.5.37.35.5.37.05.5.36.05.5.35.05.5.34.05.5.33.05.5.32.05.5.31.05.5.30.05.5.29.05.5.28.05.5.27.05.5.26.05.5.25.05.5.24.05.5.23.05.5.22.05.5.21.05.5.20.05.5.19.05.5.18.05.5.17.05.5.16.05.5.15.25.5.15.05.5.14.05.5.13.05.5.12.05.5.11.0