"Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> writes:
> I am not sure, it's probably bug.
> postgres=# create function t1(smallint) returns smallint as $$select
> $1$$ language sql;
> CREATE FUNCTION
> postgres=# select t1(10);
> ERROR: function t1(integer) does not exist
That's not "unknown to smallint", that's "integer to smallint",
which is not an implicit cast.
unknown to smallint would be t1('10')
regards, tom lane