Перейти к содержанию

Примечания

Параметры объектов#

У всех XML с названием *PARAMS* одинаковая схема. Данные из них импортируются в таблицу PARAMS.

Integer или Boolean? Вот в чём вопрос#

В некоторых XML поля ISACTIVE и ISACTUAL хранится как Integer, а не Boolean.
В проекте FIAS_GAR у этих полей тип bit, поэтому при импорте они преобразуются в bool (а затем в bit)

Зачем был использован Integer для этих полей непонятно.

Полные адреса объектов#

Имеется два подхода для создания полного адреса:

  • Снизу - Начиная с конечного объекта
  • Сверху - Начиная с субъекта РФ

Снизу#

Табличная функция [*].[UF_Hierarchy] берет полное имя конечного объекта и рекурсивно добавляет в начало полные имена родителей объектов через ,.

Сверху#

Табличная функция [*].[UF_RegistryAddress] берет полное имя субъекта РФ и рекурсивно добавляет в конец полные имена дочерних объектов через ,.

Процедура *.[UP_RefreshRegistry]#

Изначально процедура обновления полного адреса в реестре использовала скалярную функцию [*].[SUF_AddressFull], которая в свою очередь использовала табличную функцию [*].[UF_Hierarchy]. Этот процесс был медленным поэтому я решил попробовать сделать новую табличную функцию используя другой подход. Использование новой функции ускорило обновление адресов.