История изменения исторических значений в простых атрибутов
Для получения исторических данных по созданию, удалению и изменению значений простых атрибутов, следует использовать следующие view с объединением через union all:
объединением через union all:
-
rpt_last_created_expirable_values – в данной view содержаться записи действующих исторических значений атрибутов, которые были добавлены пользователем;
-
rpt_last_changed_expirable_values – в данной view содержаться записи действующих исторических значений атрибутов, в которых отражено последнее выполненное изменение значения атрибута;
-
rpt_obsolete_created_values – в данной view содержаться записи архивных актуальных и исторических значений, которые были добавлены пользователем. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (new_validthru is not null);;
-
rpt_obsolete_changed_values – в данной view содержатся записи архивных актуальных и исторических значений атрибутов, в которых отражено с какого на какое значение было выполнено изменение. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (old_validthru is not null);
-
rpt_obsolete_deleted_values – в данной view содержатся записи архивных актуальных и исторических значений, которые были удалены пользователем. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (old_validthru is not null);
Для получения консолидированного представления по истории значений атрибута связи, необходимо выполнить запрос:
select *, 1 as action_type -- создание значения
from rpt_last_created_expirable_values
union all
select *, 1 as action_type -- создание значения
from rpt_obsolete_created_values where (new_validthru is not null)
union all
select *, 2 as action_type -- изменение значения
from rpt_last_changed_expirable_values
union all
select *, 2 as action_type -- изменение значения
from rpt_obsolete_changed_values where (old_validthru is not null)
union all
select *, 3 as action_type -- удаление значения
from rpt_obsolete_deleted_values where (old_validthru is not null)
Для получения информации о значениях атрибута, которые были после создания позиции, необходимо использовать следующие view: rpt_initial_expirable_values и rpt_obsolete_initial_values.
Поля для всех перечисленных выше view полностью идентичны и описаны в таблице ниже.
|
Наименование поля
|
Тип данных
|
Описание поля
|
Ссылка на таблицу
|
|
descriptor
|
bigint
|
Дескриптор позиции
|
|
|
item_id
|
bigint
|
Идентификатор позиции, для которой было изменено значение атрибута
|
rpt_m2_item.id
|
|
propertyid
|
bigint
|
Идентификатор атрибута связи, для которого было изменено значение
|
rpt_m2_aggregation.id
|
|
transactionid
|
bigint
|
Идентификатор транзакции, в рамках которой было изменено значение атрибута
|
rpt_m2_transaction.id
|
|
old_valid_thru
|
date
|
Старая дата действия значения простого атрибута
|
|
|
new_valid_thru
|
date
|
Новая дата действия значения простого атрибута
|
|
|
old_bool
|
boolean
|
Старое значение атрибута
|
|
|
new_bool
|
boolean
|
Новое значение атрибута
|
|
|
old_local_date
|
date
|
Старое значение атрибута
|
|
|
new_local_date
|
date
|
Новое значение атрибута
|
|
|
old_int
|
integer
|
Старое значение атрибута
|
|
|
new_int
|
integer
|
Новое значение атрибута
|
|
|
old_str
|
character varying(500)
|
Старое значение атрибута
|
|
|
new_str
|
character varying(500)
|
Новое значение атрибута
|
|
|
old_dblstr
|
character varying(255)
|
Старое значение атрибута
|
|
|
new_dblstr
|
character varying(255)
|
Новое значение атрибута
|
|
|
old_valuedbl
|
double precision
|
Старое значение атрибута
|
|
|
new_valuedbl
|
double precision
|
Новое значение атрибута
|
|
|
old_valuedblmin
|
double precision
|
Старое значение атрибута
|
|
|
new_valuedblmin
|
double precision
|
Новое значение атрибута
|
|
|
old_valuedblmax
|
double precision
|
Старое значение атрибута
|
|
|
new_valuedblmax
|
double precision
|
Новое значение атрибута
|
|
|
old_blob_id
|
bigint
|
Старое значение атрибута
|
|
|
new_blob_id
|
bigint
|
Новое значение атрибута
|
|
|
old_valuetext
|
bigint
|
Старое значение атрибута
|
|
|
new_valuetext
|
bigint
|
Новое значение атрибута
|
|
|
changedate
|
bigint
|
Дата изменения значения атрибута связи
|
|
|
account_id
|
bigint
|
Идентификатор пользователя, который изменил значение
|
rpt_m2_account.id
|