Hi
I have a problem with SRF functions on a RedHat 8.0 system with PostgreSQL
7.3.2.
Schema is following :
CREATE TABLE public.agents ( numero_age int4 NOT NULL, nom_age varchar(30) NOT NULL, prenom_age varchar(30) NOT NULL,
date_entree_agedate NOT NULL, identite varchar(50), CONSTRAINT agents_pkey PRIMARY KEY (numero_age)
) WITH OIDS;
INSERT INTO public.agents VALUES (78888, 'PERAVIF', 'JO', '1967-06-18', '')
CREATE FUNCTION public.liste_agents(int4) RETURNS public.agents AS 'SELECT *
FROM agents WHERE numero_age = $1' LANGUAGE 'sql' VOLATILE;
When, I try :
SELECT * FROM liste_agents(78888)
Everything is Ok, I get my agent. But if I try :
SELECT * FROM liste_agents(0) (... or any other numero_age not in the
table...)
I get a error message :
ExecMakeTableFunctionResult: Invalid result from function returning tuple
What's wrong ? I guessed null values returned by the query didn't match
fields declared not null in the table schema, so I create a custom type
(with CREATE TYPE) but it neither doesn't work. Hint (?) : I've activated
Plpython for this Database.
Thanks
Eric GRIMOIS
Concepteur de logiciels
SEI - CPAM du Val d'Oise