"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> It seems not good for clients to call input/output functions directly.
I agree, but if we don't prevent it maybe we should make it work
reasonably ...
> There remains a pair of int4out() calls in interfaces/odbc/info.c.
> I don't know why those calls have been needed but this change
> would return wrong result.
Oh, I missed those --- didn't notice references outside the backend.
Hmm:
strcat(tables_query, " and relname !~ '^xinv[0-9]+'"); strcat(tables_query, " and int4out(usesysid) =
int4out(relowner)"); strcat(tables_query, "order by relname");
That seems absolutely wacko ... why not just "usesysid = relowner"?
Now that I look, there are several other pretty silly-looking
invocations of int4out in
src/interfaces/python/tutorial/syscat.py
src/test/regress/sql/view_perms.sql
src/tutorial/syscat.source
The one in view_perms.sql is not only especially bizarre, but it's still
passing regress test! Wow...
regards, tom lane