Re: Problème pour surcharger la fonction substring

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.

In response to

Responses

Browse pgsql-fr-generale by date

  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