raise notice '%: added % segments to imputed_pvalue_t', clock_timestamp(), rcount;
--
for segp in
select
s.id, s.firstmarker, s.lastmarker,
v.ipv,
array_length(p.probands,1) as pbs,
s.lastmarker - s.firstmarker as mks
from segment s
join imputed_pvalue_t v on
s.id = v.segment_id
join probandset p on s.probandset_id =
p.id join probandset_group_member m on
p.id = m.member_id
where s.markerset_id = mkset
and m.group_id = pbsgid
order by ipv, pbs, mks
LOOP
select imkr=min(ordinal), jmkr=max(ordinal) from mrkidx where ordinal between segp.firstmarker and segp.lastmarker;
raise notice 'seg % start=% i=% end=% j=%',
segp.id, segp.firstmarker, imkr, segp.lastmarker, jmkr;
delete from mrkidx where ordinal between segp.firstmarker and segp.lastmarker;
get diagnostics rcount = ROW_COUNT;
segsdone = segsdone + 1;
if rcount > 0 then
insert into collected values(
segp.id, segp.ipv);
totalinserts = totalinserts + rcount;
if totalinserts = mkrcnt then -- really totalDELETES
raise notice '%: no markers left on %th segment %', clock_timestamp(), segsdone,
segp.id;
exit;
end if;
end if;
end loop;