Vous n'êtes pas identifié(e).

#1 PL/Python » Return de valeur sur une clé composite [PG 10] » 05/02/2019 17:06:53

maitrepylos
Réponses : 0

Bonjour,

J'ai créé le type suivant :

CREATE TYPE proeco AS (
	nom text,
	prenom text,
	matricule int4,
	hash text);

Ensuite je crée la fonction suivante :

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 dans souci, mais lorsque c'est vide, j'ai l"erreur suivante, pourtant il me semble être cohérent par rapport à la doc https://docs.postgresql.fr/10/plpython-data.html

voici le message d'erreur :

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.

Pied de page des forums

Propulsé par FluxBB