> I think, your problem is here: > > SELECT INTO current_user * FROM > fn_medirota_validate_rota_master(in_currentuser); > > > The planner has no knowledge about how many rows this functions returns > if he don't know the actual parameter. Because of this, this query > enforce a seq-scan. Try to rewrite that to something like: > > execute 'select * from fn_medirota_validate_rota_master(' || > in_currentuser' || ')' into current_user > Thanks for your response. This doesn't seem to solve our issue, unfortunately. As a side to that, we have the fn_medirota_validate_rota_master calls in a large amount of our other functions that are running very well. -- Tyler Hildebrandt Software Developer tyler@xxxxxxxxxxxxxxxxxx Campbell-Lange Workshop www.campbell-lange.net 020 7631 1555 3 Tottenham Street London W1T 2AF Registered in England No. 04551928 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance