From: | Marc Cousin <cousinmarc(at)gmail(dot)com> |
---|---|
To: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
Cc: | "Delorme, Yann" <Yann(dot)Delorme(at)esker(dot)fr>, "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Problème pour surcharger la fonction substring |
Date: | 2011-04-20 12:42:13 |
Message-ID: | 1303303334.7209.15.camel@marco-dalibo |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Le mercredi 20 avril 2011 à 14:36 +0200, Guillaume Lelarge a écrit :
> Le 20/04/2011 14:04, Delorme, Yann a écrit :
> > [...]
> > Poutant la doc semble claire.
> >
> > 18.10.1. Comportement des instructions
> >
> > Le schéma du catalogue système, pg_catalog, est toujours parcouru, qu'il soit ou non mentionné dans le chemin. Mentionné,
> > il est alors parcouru dans l'ordre indiqué. Dans le cas contraire, il est parcouru avant tout autre élément du chemin.
> >
>
> En effet, erreur de ma part :)
>
> J'ai essayé avec substring, j'ai le même problème que vous. Ça
> fonctionne pourtant avec une procédure comme version().
>
En fait substring, c'est un des cas un peu à part dans le monde des
fonctions, parce que c'est une de celles qui ont potentiellement une
syntaxe «à la con»:
substring(A FROM B FOR C) ou substring (A,B,C).
Ce qui lui vaut d'être traitée comme un cas particulier par l'analyseur
SQL (la grammaire bison). Qui pointe en dur vers la fonction du même
type dans le catalogue pg_catalog. Conclusion, ça marche avec à peu près
n'importe quelle fonction (même système), sauf ces cas particuliers :)
Avec version, évidemment, qui a une syntaxe propre, ça passe tout seul.
From | Date | Subject | |
---|---|---|---|
Next Message | Cédric Villemain | 2011-04-20 14:06:05 | Re: [pgsql-fr-generale] Problème pour surcharger la fonction substring |
Previous Message | Guillaume Lelarge | 2011-04-20 12:36:54 | Re: Problème pour surcharger la fonction substring |