"Yury Peskin" <ypeskin@cycle-inc.com> wrote:
> 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 "nm_create_friend" line 3 at
> SQL statement
> CREATE FUNCTION nm_create_friend(user_id uuid, friend_id
> text) RETURNS void
> LANGUAGE plpgsql
> AS $_$
> BEGIN
> SELECT f.friend_id
> FROM
> friends AS f
> WHERE f.user_id = $1 AND f.friend_id = $2;
> IF NOT FOUND THEN
> INSERT INTO friends (user_id, friend_id) values($1,$2);
> END IF;
> END;
> $_$;
> For some reason, psql thinks that PERFORM
> NM_create_friend($1, friend_id); function is using a
> SELECT.
No, it thinks that within the nm_create_friend() function there is a
SELECT which isn't assigning the value to anything. And it's right.
It subsequently shows you where that function is being called from,
but that's not as relevant.
> Any ideas on how to fix this issue?
The HINT says it all.
-Kevin