Информация о файле обновления Галактика BASE_DLL_54430.txt


Описание файла обновления:
ФайлBASE_DLL_54430.txt
ОбновлениеBASE_DLL_54430
НазначениеОбщее
ПродуктAtlantis 5.4
Релиз:
КомпонентBASE
ТипDLL
Версия5.4.43.0
Дата2013-03-18 16:25:51
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
101.51597NEWне компилируется запрос DSQL, если в секции where фигурирует scalar subqueryИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- 1. Не компилируется запрос DSQL, если в секции where от inline view фигурирует scalar subquery 2. Ошибка выдается не та, что надо: "Таблица TBL2 не найдена" вместо "не найдено поле barkod в таблице TBL2", если упомянуть несуществующее полеИсправлено.
180.7398NEWRunTime на сборке dsql-функцииИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При компиляции хранимой процедуры или функции на DSQL падает при обработке INLINE VIEW, возможно также при обработке временной таблицы или viewИсправлено.
180.7413NEWПерепутаны значения параметровИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Именованные параметры добавляются в неправильном порядке, когда они внутри вложенного подзапроса. Нумерованные параметры, вероятно, тоже.Исправлено.
101.505245.4.42.0DSQL Сортировка в подзапросе.Инструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает order by во вложенном подзапросе на DSQL Если подзапрос стоит в списке выборки (перед FROM), то ORDER BY вызывает ошибку компиляции. Если после FROM, то компилируется, но поля, по которым сортировать, не распознаются, если это не алиасы полей подвыборки, а другие поля таблиц подзапрсоа.Исправлено. Предупреждение! ORDER BY в подзапросе обычно бессмысленно. sql select * from (select * from OBOROT order by DATOB); В этом примере порядок записей будет произвольный! Внутренняя сортировка не сохранится. Важен только самый внешний ORDER BY На MSSQL пример откажется выполняться, на oracle выполнится с КАКИМ-ТО порядком. Единственно, когда это имеет смысл -- совместно с TOP (но без UNION) sql select * from (select top 5 * from OBOROT order by DATOB);
101.508935.4.42.0не работает sql select * из таблицы с массивным полем на MSSQLИнструментарий прикладного программистаПрямой SQL
DSQL MSSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- На прямом SQL не работает код select * from OBOROT (из любой таблицы с массивным полем) Имя поля уходит в БД как TBLOS[1] а должно превращаться в TBLOS#1# на MSSQLИсправлено.
101.513625.4.42.0Перенести решение 102.121779 в втлантис 5.4Инструментарий прикладного программистаПрямой SQL
DSQL Филиальность ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает/неправильно работает вставка через DSQL на филиальной базе в общие таблицы (программа все равно пытается заполнить филиал)Исправлено.
101.497475.4.40.1Runtime error 216 in ORA90DRV.DLL при выполнении запроса прямого SQLИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Падение при попытке выполнить sql select NAME: string[-1] from KATMC;Теперь находит синтаксическую ошибку.
102.1184775.4.40.1Ошибка при компиляции кода на DSQLИнструментарий прикладного программистаПрямой SQL
Компиляция Embeded DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не компилируется Embeded DSQL, в котором используется временная таблица (идет проверка, характерная для времени исполнения, проверяющая наличие таблицы и поля, а таблицы еще нет, она будет создана только при работе программы)Исправлено. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Если что-то собиралось без ошибок, то пересобирать не требуется.
101.495455.4.40.0Нельзя сформировать 2-НДФЛ по подр.отнесения затрат на атлантисе 5.4.39.0Права доступаОбщие проблемы по модулю
Oracle DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает создание временных таблиц на оракле, когда включен протект, и работает не администратор.Исправлено.
102.1141075.4.40.0Свойство value интерфейс IResultCol не корректно возвращает значения типа dateИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- 1. При некоторых способах использования DSQL программист не задает тип колонок явно, тип определяет Атлантис, запрашивая описание колонки результата у БД. Часто определяет неправильно: дата, время и мелкие целые типы как longint, datetime как comp, а на Oracle вообще дата, время и все целочисленные -- как double. 2. В объектном интерфейсе DSQL метод IResultCol::value возвращает неверное значение, если тип был определен Атлантисом неправильно. Возможность программисту исправить эту ситуацию явным преобразованием типа не предоставляется. 3. Неправильно работает преобразование типов variant->date и variant->_datetime (в варианте лежит корректная дата, но теряется при приведении)1. При выборке табличных полей тип колонки считается равным типу поля 2. Можно явно задать хинт типа колонки после ее алиаса. Синтаксис [[AS] алиас] [:тип] , т.е. можно задать тип выражения, не задавая колонке алиас. 3. Пункт 2 перекрывает пункт 1. Если не сработали оба, то, как и раньше, тип спросят у БД 4. Пункты 1 и 2 влияют только на ResultSet (на связывание колонок), но ничего не делают, например при sql insert select, select into temporary table и т.п. 5. sql select * или sql select TABLENAME.* теперь всегда разворачивает список колонок, чтобы выбирать только словарные поля. Мемо-поля исключаются из списка. 6. Если явно пытаться выбрать мемо-поле, то результат будет иметь тип longint, его значение платформозависимо, делать так не рекомендуется. 7. Вообще пользоваться sql select TT.* разумно только когда TT -- это INLINE VIEW 8. Исправлены преобразования из variant, что необходимо для корректной работы IResultCol::value с датой/временем # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Чтобы заработало преобразование из варианта в дату, в частности присвоение результата метода IResultCol::value в переменную типа date, нужно пересобрать ресурс на новом компиляторе. (Ожидается, что такого кода нет, т.к. он никогда не работал) Пункты 1 и 5 "Как изменено" заработают без пересборки ресурса.
102.1175775.4.40.0Падение Галактики после запуска 103 алгоритмаПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Падение Галактики после запуска 103 алгоритма - после сообщений об ошибках см. вложения. Лог не формируетсяИсправлено.
101.475245.4.39.0Флаг индекса от VipDoc противоположен саппортовскомуИнструментарий прикладного программистаАвтодокументирование
Инструментарий прикладного программистаАвтодокументирование ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При получении описания докомпилированных таблиц словаря в разделах автоматически создаваемой документации флаги индексов могут не соответствовать их реальным значениям.Исправлено.
101.478565.4.39.0Расширение возможностей трассировки внутреннего состояния Атлантис-приложенийИнструментарий прикладного программистаЛогирование
Встроенная подсистема логирования ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Расширить возможности трассировки внутреннего состояния Атлантис-приложений через внутреннюю систему логирования за счёт добавления источников информации, соответствующих Atlantis543602-20110713-smartlog.zip. Это позволит снимать показания непосредственно с работающей системы без необходимости создания изолированного рабочего места.Доработано.
101.481775.4.39.0Трассирование вызовов функций драйверов баз данныхИнструментарий прикладного программистаЛогирование
Встроенная подсистема логирования ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Добавить возможность отслеживания вызовов косвенно-вызываемых функций драйвера, функциональное расширение базового интерфейса (GetSpecialDriverFunction).Доработано.
102.1019845.4.39.0Метод IQuery.Execute не выдает ошибки о забытом параметреИнструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- iQuery.Execute не возвращает ошибку в случае неправильных параметров.tsDirectSQLInvalidParameters = 30008
102.1100795.4.39.0Медленное открытие таблиц в модуле SQL. SupportSQL-доступ к БДПросмотр структуры БД
Просмотр словаря Быстродействие ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Увеличить скорость открытия окна "Карточка таблицы" для таблиц с большим количеством записей.Оптимизирован подсчет количества записей в таблице.
102.1120955.4.39.0Не работают manual-индексыИнструментарий прикладного программистаОбъекты как таблицы
Вип исполнение ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Падение приложения, если не реализованы методы из IManualIndex.Исправлено.
102.1131835.4.39.0DirectSQL странно реагирует на #compИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если кусок запроса на DSQL начинается с #, он компилируется неверно.Исправлено
102.1135075.4.38.5Интерпретатор DSQL некорректно формирует ограничения филиальности для LEFT JOINИнструментарий прикладного программистаПрямой SQL
DSQL Филиальность ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Интерпретатор DSQL некорректно формирует ограничения филиальности для LEFT JOIN . Если идет работа в филиальном режиме, и выбрано больше, чем 5-6 филиалов, то текст запроса обрезается.Исправлено
102.1152555.4.38.58.10 ПП алг 103(5). Не выполняется расчет на филиальной базе.Контур управления производствомпо 103-му алг "Формирование журнала резервирования по плановым документам"
DSQL Филиальность ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- 1. sql insert не заполняет филиал, а sql select накладывает фильтр по филиалу. Получается странно: вставляем запись и ее не видим. Либо нужно явно заполнять филиал в sql insert 2. sql delete без ограничений удаляет во всех филиалах (если с каким-то фильтром, то правильно накладывает фильтр на видимые филиалы)1. sql insert теперь заполняет ATL_BRANCH, если его не заполняют явно. 2. Если при этом выбран больше, чем один филиал, то появляется чудный диалог "выберите филиал для вставки" на каждый insert (по аналогии с обычным insert) 3. Теперь в этом диалоге можно отказаться от выбора филиала и соответственно от вставки. Будет ошибка и, если алгоритм заметит ошибку, то прекратится и пользователю не придется 100 раз жать на Enter. 4. sql update и sql delete работают, молча, с фильтром на _видимые_ филиалы (по аналогии с обычным update) 5. для sql select, sql update, sql delete улучшен вид филиального фильтра, вместо (ATL_BRANCH = X or ATL_BRANCH = Y or ...) теперь будет ATL_BRANCH in( X, Y, ...)
101.480885.4.38.4DSQL: не работает delete where с именованным параметромИнструментарий прикладного программистаПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- DSQL: не работает delete where с именованным параметром, например SQL Query qrTable1 = delete mnplan where typeplan = :p1;Исправлено.
102.1113785.4.38.2Не верный порядок передачи параметров в запросы Direct SQLИнструментарий прикладного программистаПрямой SQL
DSQL Именованные параметры ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не верный порядок передачи параметров в запросы Direct SQL. В СУБД уходит запрос с неименованными параметрами и параметры передаются в неправильном порядке (сначала из WHERE потом из SET), несмотря на то, что в коде параметры именованные!Исправлено.
102.1116835.4.38.2В операторах встроенного прямого SQL также путаются параметры.Инструментарий прикладного программистаПрямой SQL
DSQL Именованные параметры ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не верный порядок передачи параметров в запросы Direct SQL. В СУБД уходит запрос с неименованными параметрами и параметры передаются в неправильном порядке (сначала из WHERE потом из SET), несмотря на то, что в коде параметры именованные!Исправлено.
101.466775.4.38.0Обрывается явная транзакция при возникновении определенных ошибокПоддержка различных платформ баз данныхMS SQL
MSSQL Транзакции в ВИПе ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если была начата явная транзакция командой beginConcurrentTransaction, потом при возникновении некоторых ошибок (нарушение внешней ссылочной целостности, активная блокировка и пр.) в sql-триггере выполняется ROLLBACK, что откатывает транзакцию, а потом открывается новая транзакция. В итоге половина работы получается отменена (до возникновения ошибки), а половина применена, это совсем не то, что ожидал разработчик. Также откат происходит в случае дедлока, и такая же проблема.Если такая ситуация произошла, прикладная транзакция помечается как сломанная, и нельзя делать никакие модификации, пока она не будет отменена. Это предотвращает порчу данных. Узнать о состоянии транзакции можно специальной функцией.
102.1024215.4.38.0Использование в Direct SQL пользовательских таблицПоддержка различных платформ баз данныхПрямой SQL
DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При обращении к пользовательским таблицам через DSQL не накладывается фильтр по коду пользователяИсправлено (на платформах MSSQL, Oracle)
102.1063635.4.38.0сбивается пароль на системной таблице 37 SERVERCONFLICTSРепликация данныхCORPO-сервер:Работа сервера
Протект BTrieve Pervasive ANSI Database Пароли на таблицы ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если в системе работающей на основе базы данных Pervasive с кодировкой ANSI установить пароль на таблицу, то такую таблицу с высокой вероятностью не удастся открыть, в виду порчи пароля таблицы. Установка пароля на системные таблицы (происходит при включении протекта) приводит к подобным результатам только в случае, если файл таблицы был удален.Сменена схема хранения пароля на таблицу. Старая схема поддерживается. При установке пароля на таблицу применяется новая схема. Установка на прикладные таблицы делается пользователем, на системные - при включении протекта. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Инструкции для пользователей работающих с Галактикой на основе БД Pervasive (ANSI или OEM) и использующих протект или паролирование таблиц. 1. Выключить протект (если включен) 2. Выключить паролирование таблиц (если используется) 3. Обновить ВСЕ клиенты галактики 4. Обновить модуль Support 5. Включить паролирование таблиц (если использовалось) 6. Включить протект (если использовался) Галактикой на основе БД Pervasive (ANSI или OEM) и Причина: Модуль Support, устанавливая пароли на таблицы, записывает их в новом формате, с которым старые клиенты галактики не смогут работать.
101.464275.4.37.0Разработать интерфейс с набором функций, необходимых для общего администрированиПрава доступаПользователей
Права доступа Внешние приложения ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Разработать интерфейс с набором функций, необходимых для общего администрирования пользователей в системе Protect.Реализован интерфейс PR_UserManager, реализующий функции для администрирования учетных записей (всего 25). # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Support должен быть зарегистрирован Зарегистрировать Support как Automation-сервер; для этого запустить support.exe с параметром /RegServer; информация о сервере будет занесена в системный реестр (Registry) по правилам COM/Automation.
101.455025.4.36.0DSQL: Fetch/ORA-24374: define not done before fetch or execute and fetchИнструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает оператора вида sql_loop select * from KATMC where MASSA <= :(MASSAmax) into KMCR byname ... Ключевой момент - комбинация * и bynameИсправлено.
101.455175.4.36.0Не полностью учитываются требования по используемым символам в паролеПрава доступаПользователей
Права доступа ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При повторном задании пароля проверка на наборы символов производится неправильно.Исправлено.
KMC||034BB0E4" ">101.455225.4.36.0DSQL: Расшифровать сообщение об ошибке "таблица A=>KMC||034BB0E4"Инструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если при использовании оператора вида sql select * from KATMC into KMC; не соответствует количество полей в секции select секции into --------------------------- Ошибка --------------------------- таблица A=>KMC||034BB0E4 ---------------------------Сообщение об ошибке расшифровано более понятно. Теперь выдается : "Несоответствующее количество полей в источнике и приемнике."
101.455465.4.36.0DSQL: Runtime error 216 in base.dll при компиляции запроса sql query...Инструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При компиляции в Support модуле "SQL-доступ к БД" запроса sql query Q1 as ... Runtime error 216 (rtl: попытка обращения к некорректному дескриптору) in base.dll at 0000F2D9Исправлено.
101.457825.4.36.0Предикат like шаблон-параметр.Инструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Ошибка "Internal error 2 (Недопустимое значение указателя)" при компиляции запроса sql select nRec, InNum from KatOS where InNum like :P into mtaaa; с шаблоном-параметром.Исправлено.
103.50545.4.36.0При попытке настроить отчеты идет ошибка TBLockModifier+GroupDelete по таблице PПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Права доступа ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Пропали права на некоторые пользовательские таблицы, например, PICK. И включить их в настройке прав нельзя.Теперь права на пользовательские таблицы всегда у всех есть.
102.1054245.4.35.4Некорректно отрабатывает like: не передает в запрос символ %Инструментарий прикладного программистаПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Некорректно транслируется like: не передает в запрос символ %.Исправлено.
101.452345.4.35.0Объектный DSQL и некоторые другие доработкиПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Реализовать следующие доработки прямого SQL: - объектный доступ к прямому SQL; - описание запросов сплошным текстом, без внутренних дополнительных конструкций для компилятора; - возможность макроподстановки в теле запроса на этапе выполнения; - именованные параметры запроса; - возможность обработки в цикле результата запроса встроенного прямого SQL; - связывание результата запроса с таблицей в памяти по именам; - связывание результата запроса с полями записи по именам и по порядку; - автоматическая визуализация при выполнении запросов прямого SQL.Реализовано. Подробности реализации см. в документации Средство разработки Атлантис от 12.2010.
102.1026625.4.35.0Задание пароляПрава доступаПользователей
Права доступа ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Обеспечить уникальность пароля для конкретного пользователя, а не для системы.Реализовано.
102.955915.4.35.0Компилятор не должен допускать данную ситуациюИнструментарий прикладного программистаVip - язык, компиляция
Вип компиляция ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Нет ошибки компиляции при добавлении нескольких одноименных массивов в структуру таблицы.Исправлено.
101.434255.4.34.0Не закрывается процесс support.exeОбщие проблемы по SupportОбщие проблемы
Запуск приложения Support Репозитарий ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- В случае ошибки загрузки критичных ресурсов приложение закрывается, но процесс Support.exe не завершается.Исправлено.
101.441745.4.34.0Полноценная поддержка уникальных многосегментных индексовПоддержка различных платформ баз данныхОбщие вопросы взаимодействия с СУБД
Логические таблицы ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Оптимизировать подцепку по уникальным многосегментным индексам - выполнять её в СУБД.Оптимизировано. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: При установке на MS SQL необходимо сторонними средствами выполнить truncate table xx$hashvalues
101.441905.4.32.0count(*) в count(rowid) или count(1)Поддержка различных платформ баз данныхOracle
Oracle MS SQL ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Заменить count(*) на count(1) для более быстрого выполнения запроса.Заменено.
101.442455.4.32.0Отключить авточистку журнала при стартеЖурнализацияОбщие проблемы по модулю
Журнализация Настройка журнализации Чистка журнала Запуск приложения ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Обеспечить возможность отключения автоматической чистки журнала при старте приложенияДоработано. В карточке абонента в настройке журнализации сделан флаг "Блокировка автоматической очистки"
101.444565.4.32.0Не работает order by по синонимамПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает, например, select xu$loginname aaa, xu$fullname bbb from x$users order by aaa,bbb вставляет в order by вместо синонимов NULL.Исправлено.
102.982335.4.32.0Сломался разбор запросов, использующих case (прямой SQL)Поддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не выполняются запросы прямого SQL с условиями вида (<выражение>) <предикат> ...Исправлено.
102.984935.4.32.0Прямой SQL не поддерживает вложенные запросы.Поддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При использовании подзапросов глубокой вложенности перестают опознаваться имена синонимов подзапросв и/или полей подзапросов. Что в первом случае при попытке использовать полное имя поля подзапроса приводит к ошибке компиляции подзапроса вида Таблица KO1 не найдена а во втором случае при попытке выборки поля в СУБД уходит NULL.Исправлено.
102.987475.4.32.0Транслятор прямого SQL путает поля в подзапросах.Поддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если в выборке подзапроса есть как синонимы, так и поля БД, то при использовании полей этой выборки поля путаются друг с другом.Исправлено.
101.436555.4.30.0Не работает case со сложным условиемПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не выполняется запрос с выражением case, использующим сложное логическое выражение. Например: сase when katnotes.name = ? or katnotes.name = ? then 0 else 1 end as col_noteИсправлено.
101.422885.4.28.0Падение Support после сообщения об ошибкеИнструментарий прикладного программистаVip - язык, компиляция
Компиляция словаря ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Завершение работы приложения при создании индекса по мемо-полю.Исправлено.
101.432355.4.28.0перестал работать запрос в прямом SQLПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Использование в запросе более чем одного именованного подзапроса при использовании его полей выдаёт ошибку вида Таблица xxx не найдена где xxx - имя именованного подзапроса.Исправлено.
102.934125.4.28.0При использовании SQLDirect - на галактические таблицы запрос select проходит "sПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Дать возможность доступа из DSQL к таблицам других компонентов.Поддержан обычный для Атлантиса прямой доступ к таблицам других компонентов (через ::). При необходимости задания полного имени поля в запросе следует использовать синоним таблицы из другого компонента. Например: 1 #component "SF_DOC" sql select atl_lasttime from sfdocs; sql select sfdocs.atl_lasttime from sfdocs; sql select atl_lasttime from x$users; - работало и раньше 2 #component "SF_DOC" sql select atl_lasttime from ::x$users; - теперь можно так (далее примеры запросов не из компонента SF_DOC) 3 sql select atl_lasttime from SF_DOC::sfdocs; sql select a.atl_lasttime from SF_DOC::sfdocs a; - теперь так работает 4 sql select atl_lasttime from sfdocs; sql select SF_DOC::sfdocs.atl_lasttime from SF_DOC::sfdocs; - как не работало, так и не работает Вышеуказанные примеры справедливы только для запросов, выполняемых сразу после компиляции, т.е. для выполняемых из, например, asql или Support-SQL. Для доступа к компонентным таблицам из интерфейсов или отчётов следует использовать метод из п.3, т.к. в настоящее время при разборе и выполнении DSQL на этапе интерпретации текущий компонент не установлен.
180.44535.4.28.0Запрос прямого SQL с мягкой подцепкойПоддержка различных платформ баз данныхПрямой SQL
Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Неправильно транслируется запрос прямого SQL, содержащий left join к узлу, в свою очередь привязанному по left join. Например: SQL select SpSopr.KolFact, KatMC.Barkod, GroupMC.Kod FROM SpSopr Left Join KatMC ON ( SpSopr.cmcUsl = KatMC.nrec) Left Join GroupMC ON ( KatMC.cGroupMC = GroupMC.nrec ) ;Трансляция join в where подправлена под данный запрос. Сама трансляция теперь выполняется только на Oracle 8 и 9. Причём на Oracle 8 безусловно, а на Oracle 9 по параметру Dictionary.DSQLJoin2Where, по умолчанию включён.