"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Peter Eisentraut <peter_e@gmx.net> wrote:
>> reimplement a bunch of core functionality like COALESCE
> If such an effort could reduce the astonishment factor for the
> following, it would justify a certain amount of effort, in my view:
> test=# select pg_typeof('x');
> pg_typeof
> -----------
> unknown
> (1 row)
> test=# select pg_typeof(null);
> pg_typeof
> -----------
> unknown
> (1 row)
> test=# select pg_typeof(coalesce(null, null));
> pg_typeof
> -----------
> text
> (1 row)
The astonishment factor there has nothing to do with how the behavior is
inserted into the parser; it's a property of our type resolution rules.
regards, tom lane