Hello Tom, Tom Lane a écrit : > Denis BUCHER <dbuche...@hsolutions.ch> writes: >> I have a strange problem, because it worked in a fonction for a table, >> and now I created the same (?) function for another table and it doesn't >> work... > >> The function is accepted but at runtime I get : > >> ERREUR: wrong record type supplied in RETURN NEXT >> CONTEXTE : PL/pgSQL function "find_sn_live" line 26 at return next > > Does that table have any dropped columns? If you don't remember > whether you ever dropped any columns, a quick look into pg_attribute > will tell you: > select attname from pg_attribute where attrelid = > 'rma.serial_number'::regclass;
Yes ! attname ------------------------------ tableoid cmax xmax cmin xmin ctid sn_id sn no_client no_art_bw sn_fc_date ........pg.dropped.6........ ........pg.dropped.7........ desc_fr sn_cm_date no_facture no_commande (17 lignes) > plpgsql isn't tremendously good with rowtypes that contain dropped > columns. I believe this particular case is fixed in CVS HEAD, but the > patch was a bit invasive and won't get back-ported to existing releases. > The workaround is to drop and recreate the table without any dropped > columns. OH, I see... Thanks a lot, I will try this later today when nobody uses the application... Denis -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql