@@ -73,16 +73,16 @@ BEGIN
7373 RAISE NOTICE ' doTaph is %' , doTaph;
7474 END IF;
7575
76- IF ( _abundPct IS NOT NULL AND noTaxa = false ) THEN
77- RAISE NOTICE ' _abundPct is % and noTaxa is %' , doTaph, noTaxa;
76+ IF ( _abundpct IS NOT NULL AND noTaxa = false ) THEN
77+ RAISE NOTICE ' _abundpct is % and noTaxa is %' , doTaph, noTaxa;
7878 BEGIN
7979 -- get SumGroupID of the first (or only) taxon id
8080 sumGroupId := (
8181 SELECT sg .sumgroupid
8282 FROM ndb .ecolgroups eg
8383 JOIN ap .pollensumgroups sg ON eg .ecolgroupid = sg .ecolgroupid
8484 WHERE
85- eg .taxonid IN (array_to_string( _taxonids[0 ], ' , ' ) )
85+ eg .taxonid IN (_taxonids[1 ] )
8686 );
8787 IF sumGroupId > 0 THEN
8888 doAbund := true;
@@ -108,7 +108,12 @@ BEGIN
108108 BEGIN
109109 cteBaseSelect := cteBaseSelect || ' ,
110110 v.taxonid,
111- CAST(d.value / SUM(d.value) OVER(PARTITION BY s.sampleid) * 100 AS DECIMAL(5,2)) AS abundance' ;
111+ (CASE WHEN (SUM(d.value) OVER(PARTITION BY s.sampleid)) IS NOT NULL AND
112+ (SUM(d.value) OVER(PARTITION BY s.sampleid)) <>0 THEN
113+ (CAST(d.value / SUM(d.value) OVER (PARTITION BY s.sampleid) * 100 AS DECIMAL(5,2)))
114+ ELSE
115+ NULL END
116+ ) AS abundance' ;
112117 cteBaseFrom := cteBaseFrom || '
113118 JOIN ndb.taxa t ON v.taxonid = t.taxonid
114119 JOIN ndb.ecolgroups e ON t.taxonid = e.taxonid
@@ -145,7 +150,7 @@ BEGIN
145150 cteBaseFrom := cteBaseFrom || '
146151 JOIN ndb.samplekeywords k on s.sampleid = k.sampleid' ;
147152 cteBaseWhere := cteBaseWhere || '
148- AND k.KeywordID = _keywordId ' ;
153+ AND k.keywordid = _keywordid ' ;
149154 END;
150155 END IF;
151156
@@ -176,8 +181,8 @@ BEGIN
176181
177182 IF doAbund THEN
178183 cteAgesWhere := cteAgesWhere || '
179- AND base.abundance > ' || _abundPct ||
180- ' AND base.taxonid IN (' || array_to_string( _taxonids ,' ,' ) || ' )) ' ;
184+ AND base.abundance > ' || _abundpct ||
185+ ' AND base.taxonid IN (' || array_to_string( _taxonids ,' ,' ) || ' )' ;
181186 END IF;
182187
183188 IF NOT (_ageold IS NULL AND _ageyoung IS NULL AND noTaxa = false) THEN
@@ -346,7 +351,7 @@ BEGIN
346351
347352 IF _subdate IS NOT NULL THEN
348353 cteDsWhere := cteDsWhere || '
349- AND ds.recdatecreated >= ' || _subdate;
354+ AND ds.recdatecreated >= ' ' % ' || _subdate || ' % ' ' ' ;
350355 END IF;
351356
352357 IF _gpid IS NOT NULL THEN
@@ -398,7 +403,7 @@ BEGIN
398403 AND EXISTS (SELECT k.datasetid, k.keywordid
399404 FROM ap.datasetkeywords k
400405 WHERE k.datasetid = ds.datasetid
401- AND k.keywordid = ' || _keywordid ' )' ;
406+ AND k.keywordid = ' || _keywordid || ' )' ;
402407 END IF;
403408
404409 IF _datasettypeid IS NOT NULL THEN
0 commit comments