select
e.instance_uid::text as instance_uid
e.display_name
e.service_id
e.descr
e.specification_item_id
e.is_auxiliary
to_char(e.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_created
to_char(e.dt_updated, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_updated
d.contract_id
i.specification_id
s.specification
i.quantity
i.price
v.svc
v.code
v.man
e.updater_id
u.login as updater_login
u.shortname as updater_shortname
cast(st.instance_data->>'params' as json)->>'resourceRealm' as resource_realm
coalesce((io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201'),false) as operation_is_in_progress
coalesce((io.dt_start IS NULL AND io.submit_result='201'),false) as operation_is_pending
case
when io.operation IN ('delete', 'suspend') AND io.is_successful then 0 /*null*/
when io.is_successful then extract('epoch' from CURRENT_TIMESTAMP - coalesce(io.dt_finish,CURRENT_TIMESTAMP))
else 0 end
as uptime
(case
when st.instance_uid IS NULL then 'not created'
when st.is_deleted = 'true' then 'deleted'
when st.is_suspended = 'true' then 'suspended'
/*when coalesce(st.is_deleted,'false') = 'false' AND coalesce(st.is_suspended, 'false') = 'false' then 'running'*/
when coalesce(st.is_deleted,'false') = 'false' AND coalesce(st.is_suspended, 'false') = 'false' then 'running'
when io.instance_uid IS NULL then 'not configured'
else null end
) as explained_status
from instance e
left outer join specification_item i on (e.specification_item_id=i.specification_item_id)
left outer join specification s on (i.specification_id=s.specification_id)
left outer join contract d on (s.contract_id=d.contract_id)
left outer join contragent k on (d.contragent_id=k.contragent_id)
left outer join svc v on (e.service_id=v.svc_id)
left outer join usr u on (e.updater_id=u.usr_id)
left outer join (select ist.instance_state_uid, ist.instance_uid, ist.version, ist.dt_state, ist.is_test
,(ist.instance_data->>'isSuspended') as is_suspended
,(ist.instance_data->>'isDeleted') as is_deleted
,ist.instance_data
from instance_state ist join (select instance_uid, max(version) as version from instance_state group by 1) lastv
on (ist.instance_uid=lastv.instance_uid AND ist.version=lastv.version) ) st
on (e.instance_uid=st.instance_uid)
left outer join (select o.instance_operation_uid, o.instance_uid, o.operation, o.dt_submit, o.submit_result, o.dt_start, o.dt_finish, o.is_successful
from instance_operation o join (select instance_uid, max(dt_submit) as dt_submit from instance_operation group by 1) lastv
on (o.instance_uid=lastv.instance_uid AND o.dt_submit=lastv.dt_submit) ) io
on (e.instance_uid=io.instance_uid)
where e.instance_uid=
AND s.specification_id=
select
st.instance_state_uid::text as instance_state_uid
st.version
st.creator_id
to_char(st.dt_state, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_state
st.is_test
st.instance_operation_uid::text as instance_operation_uid
st.instance_data::text as instance_data
(st.instance_data->>'isDeleted')::boolean as is_deleted
from instance_state st
where st.instance_uid=
order by st.version desc
limit 1
select
o.instance_operation_uid::text as instance_operation_uid
status.instance_state_uid::text as instance_state_uid
status.version as state_version
o.operation
o.resource_realm_id
r.resource_realm
to_char(o.dt_submit, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_submit
o.submit_result
to_char(o.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_start
to_char(o.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_finish
extract('epoch' from coalesce(o.dt_finish,CURRENT_TIMESTAMP)- o.dt_start) as duration
round(extract('epoch' from CURRENT_TIMESTAMP - coalesce(o.dt_finish,CURRENT_TIMESTAMP)),1) as seconds_passed
o.is_successful
to_char(o.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created
o.error_log
u.login as updater_login
u.shortname as updater_shortname
coalesce((o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201'),false) as is_in_progress
coalesce((o.dt_start IS NULL AND o.submit_result='201'),false) as is_pending
from instance_operation o
left outer join usr u on (o.updater_id=u.usr_id)
left outer join resource_realm r on o.resource_realm_id=r.resource_realm_id
left outer join (select instance_operation_uid, max(version) as version from instance_state
group by instance_operation_uid) sts on (o.instance_operation_uid=sts.instance_operation_uid)
left outer join instance_state status on (sts.instance_operation_uid=status.instance_operation_uid AND sts.version=status.version)
where o.instance_uid=
--order by status.version desc
order by o.dt_created desc
(select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as current_operation --->
select
so.svc_operation_id
so.operation
(select instance_operation_uid::text
from instance_operation io
where io.instance_uid=
AND io.operation=so.operation AND io.dt_submit IS NULL
order by io.dt_created desc
limit 1
)as instance_operation_uid
from svc_operation so
where so.svc_id=
AND NOT so.operation='create'
AND so.operation='create'
AND 1=0
order by so.svc_operation_id
select e.display_name, e.is_auxiliary
from instance e
where e.instance_uid =
--->
select
p.param
sop.descr
s.svc_id
s.svc
s.code
sop.label
p.param_value as uid
r.display_name
r.is_auxiliary
c.contract_id
c.contract
to_char(c.dt_contract, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_contract
k.external_code
from instance_cfs_param p
left outer join instance_operation_cfs_param iop on (p.instance_operation_cfs_param_uid=iop.instance_operation_cfs_param_uid)
left outer join instance_operation o on (iop.instance_operation_uid=o.instance_operation_uid)
left outer join instance e on (o.instance_uid=e.instance_uid)
left outer join svc_operation so on (o.operation=so.operation AND e.service_id=so.svc_id)
left outer join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id AND p.param=sop.svc_operation_cfs_param)
left outer join svc s on (sop.ref_svc_id=s.svc_id)
join instance r on (p.param_value=r.instance_uid::text)
left outer join specification_item si on (r.specification_item_id=si.specification_item_id)
left outer join specification sp on (si.specification_id=sp.specification_id)
left outer join contract c on (sp.contract_id=c.contract_id)
left outer join contragent k on (c.contragent_id=k.contragent_id)
where p.instance_uid=
AND sop.ref_svc_id > 0
order by sop.sort, p.param
select
p.param
sop.descr
s.svc_id
s.svc
s.code
sop.label
e.instance_uid::text as uid
e.display_name
e.is_auxiliary
c.contract_id
c.contract
to_char(c.dt_contract, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_contract
k.external_code
from instance_cfs_param p
left outer join instance_operation_cfs_param iop on (p.instance_operation_cfs_param_uid=iop.instance_operation_cfs_param_uid)
left outer join instance_operation o on (iop.instance_operation_uid=o.instance_operation_uid)
left outer join instance e on (o.instance_uid=e.instance_uid)
left outer join svc s on (e.service_id=s.svc_id)
left outer join svc_operation so on (o.operation=so.operation AND e.service_id=so.svc_id)
left outer join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id AND p.param=sop.svc_operation_cfs_param)
left outer join svc r on (sop.ref_svc_id=r.svc_id)
left outer join specification_item si on (e.specification_item_id=si.specification_item_id)
left outer join specification sp on (si.specification_id=sp.specification_id)
left outer join contract c on (sp.contract_id=c.contract_id)
left outer join contragent k on (c.contragent_id=k.contragent_id)
where
p.param_value=
AND r.svc_id=(select i.service_id from instance i where i.instance_uid=)
select
p.svc_operation_cfs_param
,p.label
,p.descr
,p.is_sensitive
from svc_operation_cfs_param p
join svc_operation o on (p.svc_operation_id=o.svc_operation_id)
join svc on (o.svc_id=svc.svc_id)
where svc.svc_id=
AND o.operation='create'
update instance set
dt_updated=
,updater_id=
,display_name=
,descr=
where instance_uid=;
--select @@rowcount as cnt;