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

From Tom Lane
Subject Re: query has no destination for result data
Date
Msg-id 16224.1551882543@sss.pgh.pa.us
Whole thread Raw
In response to 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
Rob Sargent <robjsargent@gmail.com> writes:
> One of my plpgsql functions is now throwing this error:

> ERROR:  query has no destination for result data
> HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
> CONTEXT:  PL/pgSQL function optimal_pvalue_mono(text,text,integer,double precision,integer) line 65 at SQL statement

> The code referenced at line 65 is the last line in a "for row in query” construct as follows:
>     54      for segp in
>     55        select s.id, s.firstmarker, s.lastmarker,
>     56               v.ipv,
>     57               array_length(p.probands,1) as pbs,
>     58               s.lastmarker - s.firstmarker as mks
>     59        from segment s
>     60             join imputed_pvalue_t v on s.id = v.segment_id
>     61             join probandset p on s.probandset_id = p.id
>     62             join probandset_group_member m on p.id = m.member_id
>     63        where s.markerset_id = mkset
>     64              and m.group_id = pbsgid
>     65        order by ipv, pbs, mks
>     66      LOOP

I think perhaps you've miscounted lines somehow, or are looking into
the wrong function.  The "at SQL statement" bit indicates that plpgsql
thinks it's dealing with a run-of-the-mill SQL command, not a FOR loop;
moreover, looking at the source code shows that "query has no destination
for result data" is thrown only in exec_stmt_execsql, which ditto.

Another possibility, perhaps, is that there's some syntax error a little
bit above what you've shown us, such that this stanza isn't being seen
as a FOR loop at all, but as more lines in a SQL command that started
earlier.  I'm not entirely sure how such a case would have got past
parsing and into execution, but it's worth thinking about.

In any case, this isn't solvable with just what you've shown us here.

            regards, tom lane


pgsql-general by date:

Previous
From: Nanda Kumar
Date:
Subject: Monitor the ddl and dml activities in logs
Next
From: Ron
Date:
Subject: Re: query has no destination for result data