I have this function, with which I would like to return a table, which holds two columns: game_name and follow (this would be an integer 0 or 1):
CREATE OR REPLACE FUNCTION public.toggle2(uid numeric, gid NUMERIC)
    RETURNS TABLE (
        follow INT,
        game_name TEXT
    )
    LANGUAGE plpgsql
AS $$
    BEGIN
        IF NOT EXISTS(SELECT * 
                  FROM game_follows 
                 WHERE user_id = uid and game_id = gid)
                 THEN
    INSERT INTO game_follows(user_id, game_id) VALUES(uid, gid);
    follow := 1;
  ELSE
     DELETE FROM game_follows WHERE user_id = uid and game_id = gid;
     follow := 0;
  END IF;
 SELECT name INTO game_name FROM games WHERE id = gid;
    END;
$$
;
Sadly, the function returns empty values. I am using it as this:
SELECT * FROM toggle2(83, 12);
 
    