"Divne" funkce v PgSQL
Karel Zak
zakkr na zf.jcu.cz
Čtvrtek Září 21 13:16:14 CEST 2000
On Thu, 21 Sep 2000, "Zíka Aleš, Ing." wrote:
> Zdravim,
>
> mel bych takovy zvidavy dotaz, nejspis na Karla Zaka. Jak jsou v Pg
> SQL implementovany funkce s takovou "divnou syntaxi" argumentu, a muzu si
> dalsi takove udelat i ja uzivatelsky? "Divnou syntaxi" myslim CAST(promenna
> AS typ), SUBSTRING(char FROM pozice FOR delka) a podobne, tedy kdy jsou
> argumenty oddeleny misto carkami nejakymi klicovymi slovy.
> Napada me jedine neco jako #define v Cecku, kdy napr. AS se proste
> nejakym preprocesorem v parseru prevede na carku, ale to muze byt blbost.
Ano, to je udelano a urovni parseru (via flex+bison):
CAST '(' a_expr AS Typename ')'
SUBSTRING '(' substr_list ')'
nejedna se tedy z pohledu PG o funkce ale o soucast syntaxe (zrovna v
tomto pripade dle SQL92).
=> takovou funkci bez zasahu do zdrojaku neudelate :-)
jinak: src/backend/parser/gram.y
Karel
Další informace o konferenci Test