Re: query has no destination for result data - Mailing list pgsql-general

From Adrian Klaver
Subject Re: query has no destination for result data
Date
Msg-id 2c864cf1-97d6-e3ec-4928-24958da27e94@aklaver.com
Whole thread Raw
In response to Re: query has no destination for result data  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: query has no destination for result data  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general
On 3/6/19 8:19 AM, Rob Sargent wrote:
> 
> 
>> On Mar 6, 2019, at 7:41 AM, Adrian Klaver <adrian.klaver@aklaver.com 
>> <mailto:adrian.klaver@aklaver.com>> wrote:
>>
>> On 3/6/19 7:37 AM, Pavel Stehule wrote:
>>
>>> or
>>> \sf+ functioname
>>
>> Cool, I learned something new.
>>
>>> Regards
>>> Pavel
>>
>>
> 
> using \ef function 65 puts the cursor on the first line of the loop. So 
> a debugging statement got in the way!  I don’t need the variables set 
> other than to keep track of what’s going on in the loop. They’re gone 
> now and so it the problem (and hopefully I’ll correct my ways).

Where you maybe needing SELECT INTO?:

https://www.postgresql.org/docs/10/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-ONEROW

So something like(not tested):

select min(ordinal), max(ordinal) into imkr, jmkr from mrkidx where 
ordinal between segp.firstmarker and segp.lastmarker;

> Thank you all.
> 
>        raise notice '%: added % segments to imputed_pvalue_t',
>     clock_timestamp(), rcount;
>     --
>        for segp in
>          select s.id <http://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 <http://s.id> = v.segment_id
>               join probandset p on s.probandset_id = p.id <http://p.id>
>               join probandset_group_member m on p.id <http://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
>     <http://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 <http://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 <http://segp.id>;
>                exit;
>             end if;
>          end if;
>        end loop;
> 
>> -- 
>> Adrian Klaver
>> adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Erwin Brandstetter
Date:
Subject: EXCLUDE USING hash(i WITH =)
Next
From: Ben Chobot
Date:
Subject: Re: Monitor the ddl and dml activities in logs