105 instance_ls optimization fixes
This commit is contained in:
+2
-1
@@ -51,7 +51,8 @@
|
||||
|
||||
//variables.framework.docs={};
|
||||
variables.framework.docs.APIName="Deck API";
|
||||
variables.framework.docs.APIVersion="0.104";
|
||||
variables.framework.docs.APIVersion="0.105"; /*$ git config --global --unset user.password*/
|
||||
|
||||
|
||||
variables.framework.globalHeaders = structNew();
|
||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
|
||||
<m:field>
|
||||
(case
|
||||
when
|
||||
not exists (select * from instance_state st where st.instance_uid=e.instance_uid) then 'not created'
|
||||
when
|
||||
(select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'true' then 'deleted'
|
||||
when
|
||||
@@ -52,8 +54,7 @@
|
||||
(select coalesce(st.instance_data->>'isDeleted','false') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' AND (select coalesce(st.instance_data->>'isSuspended','false') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' then 'running'
|
||||
when
|
||||
not exists (select * from instance_operation o where o.instance_uid=e.instance_uid) then 'not configured'
|
||||
when
|
||||
not exists (select * from instance_state st where st.instance_uid=e.instance_uid) then 'not created'
|
||||
|
||||
else null end
|
||||
) as explained_status
|
||||
</m:field>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"instance_data"={prefix="inr", type="string"},
|
||||
"instance_state_uid"={prefix="inr", type="guid"},
|
||||
"is_deleted"={prefix="inr", type="string"},<!--- not bool --->
|
||||
"suspended"={prefix="inr", type="string"},<!--- not bool --->
|
||||
"is_suspended"={prefix="inr", type="string"},<!--- not bool --->
|
||||
"resource_realm"={prefix="inr", type="string"},
|
||||
"operation_is_in_progress"={prefix="inr", type="boolean"},
|
||||
"operation_is_pending"={prefix="inr", type="boolean"},
|
||||
@@ -40,7 +40,9 @@
|
||||
"is_auxiliary"={prefix="inr", type="boolean"},
|
||||
"explained_status"={prefix="inr", type="string"},
|
||||
"dt_state"={prefix="inr", type="date"},
|
||||
"version"={prefix="inr", type="integer"}
|
||||
"version"={prefix="inr", type="integer"}<!--- ,
|
||||
"io_instance_uid"={prefix="inr", type="integer"},
|
||||
"st_instance_uid"={prefix="inr", type="integer"} --->
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -171,15 +173,19 @@
|
||||
<m:field>st.instance_state_uid::text as instance_state_uid</m:field>
|
||||
<m:field formatter=#request.castToBool#>st.is_test as is_test</m:field>
|
||||
<m:field formatter=#request.castToBool#>coalesce(st.instance_data->>'isDeleted','false') as is_deleted</m:field><!--- attention it is not bool in state --->
|
||||
<m:field formatter=#request.castToBool#>st.instance_data->>'isSuspended' as suspended</m:field>
|
||||
<m:field formatter=#request.castToBool#>st.instance_data->>'isSuspended' as is_suspended</m:field>
|
||||
<m:field>cast(st.instance_data->>'params' as json)->>'resourceRealm' as resource_realm</m:field>
|
||||
<m:field>to_char(st.dt_state, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_state</m:field>
|
||||
<!--- <m:field>io.instance_uid::text as io_instance_uid</m:field>
|
||||
<m:field>st.instance_uid::text as st_instance_uid</m:field> --->
|
||||
<m:field>(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'
|
||||
when st.instance_uid IS NULL then 'not created'
|
||||
when io.instance_uid IS NULL then 'not configured'
|
||||
else null end
|
||||
) as explained_status</m:field>
|
||||
<m:field>st.version</m:field>
|
||||
@@ -209,12 +215,12 @@
|
||||
,(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 (st.instance_uid=e.instance_uid)
|
||||
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)
|
||||
on (o.instance_uid=lastv.instance_uid AND o.dt_submit=lastv.dt_submit) ) io
|
||||
on (e.instance_uid=io.instance_uid)
|
||||
where s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/>
|
||||
<cfif len(arguments.search)>
|
||||
AND (
|
||||
@@ -245,12 +251,12 @@
|
||||
,(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 (st.instance_uid=e.instance_uid)
|
||||
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)
|
||||
on (o.instance_uid=lastv.instance_uid AND o.dt_submit=lastv.dt_submit) ) io
|
||||
on (e.instance_uid=io.instance_uid)
|
||||
where s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- *** make project entity --->
|
||||
<!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> --->
|
||||
<cfif len(arguments.search)>
|
||||
|
||||
Reference in New Issue
Block a user