Примечания
Параметры объектов#
У всех 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]
. Этот процесс был медленным поэтому я решил попробовать сделать новую табличную функцию используя другой подход. Использование новой функции ускорило обновление адресов.