From cef3fa1c64db3784e4e4878caead77b145d68fce Mon Sep 17 00:00:00 2001 From: Arno Schoenmakers <schoenmakers@astron.nl> Date: Tue, 13 Dec 2011 16:29:58 +0000 Subject: [PATCH] Task #1771: Update single function from processType-20110707-1_0-release-branch --- SAS/OTDB/sql/getTreeGroup_func.sql | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/SAS/OTDB/sql/getTreeGroup_func.sql b/SAS/OTDB/sql/getTreeGroup_func.sql index 694d8efe310..55d7d4bcf82 100644 --- a/SAS/OTDB/sql/getTreeGroup_func.sql +++ b/SAS/OTDB/sql/getTreeGroup_func.sql @@ -29,6 +29,7 @@ -- 1: get all trees that are scheduled to start in the period: now till now+period -- 2: get all trees with starttime <=now and stoptime > now ; period param is ignored -- 3: get all trees with stoptime in the period: now-period till now +-- 4: get all trees with stoptime < now and have state >= FINISHED -- -- With this function we can get the planned, active or finished trees from the database. -- @@ -68,12 +69,18 @@ CREATE OR REPLACE FUNCTION getTreeGroup(INT, INT) vQuery := vQuery || ' AND t.state > ' || TSscheduled; vQuery := vQuery || ' AND t.state < ' || TSfinished; ELSE - IF $1 = 3 THEN - vQuery := ' AND t.state >= ' || TSfinished; - vQuery := vQuery || ' AND t.stoptime > now()-interval ' || chr(39) || $2 || ' minutes' || chr(39); - vSortOrder := 't.stoptime, t.treeID'; - ELSE - RAISE EXCEPTION 'groupType must be 0,1,2 or 3 not %', $1; + IF $1 = 3 THEN + vQuery := ' AND t.state >= ' || TSfinished; + vQuery := vQuery || ' AND t.stoptime > now()-interval ' || chr(39) || $2 || ' minutes' || chr(39); + vSortOrder := 't.stoptime, t.treeID'; + ELSE + IF $1 = 4 THEN + vQuery := ' AND t.state >= ' || TSfinished; + vQuery := vQuery || ' AND t.stoptime < now() '; + vSortOrder := 't.treeID'; + ELSE + RAISE EXCEPTION 'groupType must be 0,1,2,3 or 4 not %', $1; + END IF; END IF; END IF; END IF; -- GitLab