Problème pour surcharger la fonction substring

From: "Delorme, Yann" <Yann(dot)Delorme(at)esker(dot)fr>
To: "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Problème pour surcharger la fonction substring
Date: 2011-04-20 09:27:43
Message-ID: 2EC1B00CE313174181AF54B27A31350F17C9DCF067@ly-exch2007
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

POSTGRE 9.0.3 et POSTGRE 9.0.4

Bonjour

Je cherche à surcharger la fonction substring pour quelle fonctionne avec les dates et les time stamps.
Je migre une application existante et pour l'instant je ne peux pas faire autrement, car le code doit fonctionner sur 2 SGDB différents.

J'ai défini la fonction suivante :

-- Function: "substring"(timestamp without time zone, integer, integer)

-- DROP FUNCTION "substring"(timestamp without time zone, integer, integer);

CREATE OR REPLACE FUNCTION "substring"(timestamp without time zone, integer, integer)
RETURNS text AS
'select pg_catalog.substring($1::text, $2, $3)'
LANGUAGE sql IMMUTABLE STRICT
COST 1;
ALTER FUNCTION "substring"(timestamp without time zone, integer, integer) OWNER TO postgres;

Mais pour appeler ma fonction je suis obligé le préfixer l'appel par public. Sinon j'ai l'erreur suivante :

ERROR: function pg_catalog.substring(timestamp without time zone, integer, integer) does not exist
LINE 1: select substring(sub_date_time, 1, 7), sub_date_time from "D...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

********** Erreur **********

ERROR: function pg_catalog.substring(timestamp without time zone, integer, integer) does not exist
État SQL :42883
Astuce : No function matches the given name and argument types. You might need to add explicit type casts.
Caractère : 8

J'ai modifié le searchpath
SET search_path TO public,pg_catalog

Mais cela ne change rien.

Auriez-vous une idée pour que mon select fonctionne sans préfixer l'appel par public ?

Cordialement.

Yann.
Yann Delorme
Senior Software Engineer / Senior Software Engineer
Esker SA
Tél : +33 (0)4 72 83 46 46
Fax : + 33 (0)4 72 83 46 40
Yann(dot)Delorme(at)esker(dot)fr<mailto:Yann(dot)Delorme(at)esker(dot)fr>
www.esker.fr<http://www.esker.fr/> ? www.flydoc.fr<http://www.flydoc.fr/>

CONFIDENTIALITE : Ce message et les éventuelles pièces jointes sont confidentiels. Si vous n'êtes pas dans la liste des destinataires, veuillez informer l'expéditeur immédiatement et ne pas divulguer le contenu à une tierce personne. Les idées et opinions présentées dans ce message sont celles de son auteur, et ne représentent pas nécessairement celles de la société. Par ailleurs et malgré toutes les précautions prises pour éviter la présence de virus dans nos envois, nous vous recommandons de prendre, de votre côté, les mesures permettant d'assurer la non-introduction de virus dans votre système informatique. La société ne saurait être tenue pour responsable de tout dommage causé par la présence d'un virus dans ce message.

__________

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Guillaume Lelarge 2011-04-20 10:07:03 Re: Problème pour surcharger la fonction substring
Previous Message Marie-Claude QUIDOZ 2011-04-14 16:41:58 Re: probleme connexion client -> serveur