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