"Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at> writes:
> What I do not like at all is the notion that "table" == "table".* .
> (IIRC there has already been some discussion where I objected to that.)
> "table" as function parameter imho passes an object of type "table"
> to the function. This involves type checking, and that the function only
> has one argument.
> "table".* to the contrary is not an object, but one object (one parameter)
> per table column. This is imho easier to understand, since select table.*
> also does it like that. Thus calling func(table.*) should imho rather be
> mapped to func (table.col1, table.col2 ...).
Okay, but then how will you refer unambiguously to the rowtype object?
If you write func(schema.tab) the system will misinterpret it as
func(tab.col) --- which, in the worst case, might fail to fail because
there actually is such a column. We have to make some compromises here.
I'm not all that thrilled with foo.* for rowtype either, but you haven't
offered a workable alternative.
regards, tom lane