[10][pl/python] Return de valeur sur une clé composite
Bonjour,
J'ai créé le type suivant :
Code:
1 2 3 4 5 6
|
CREATE TYPE proeco AS (
nom text,
prenom text,
matricule int4,
hash text); |
Ensuite je crée la fonction suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
DROP FUNCTION test();
CREATE FUNCTION test() RETURNS SETOF proeco AS $$
rv = plpy.execute("SELECT nom,prenom,matricule,hash FROM users")
d = rv.nrows();
if d > 1:
return rv[0:5]
nom = "toto";
prenom = "toto";
matricule = 123;
hash = "hash";
return (nom,prenom,matricule,hash)
$$ LANGUAGE plpythonu; |
Cela fonctionne sans souci, mais lorsque c'est vide, j'ai l"erreur suivante, pourtant il me semble être cohérent par rapport à la doc.
voici le message d'erreur :
Code:
1 2 3 4 5 6 7 8
|
Query execution failed
Motif:
SQL Error [22P02]: ERROR: malformed record literal: "toto"
Détail : Missing left parenthesis.
Où : while creating return value
PL/Python function "test" |
Merci de votre aide.