Christopher Kings-Lynne wrote:
> Why is there the requirement to declare the type at SELECT time at all?  Why
> not just take what you get when you run the function?

The column names and types are determined in the parser, and used in the 
planner, optimizer, and executor. I'm not sure how the backend could 
plan a join or a where criteria otherwise.

Remember that the function has to look just like a table or a subselect 
(i.e a RangeVar). With a table, the column names and types are 
predefined. With a subselect, parsing it yields the same information. 
With a table function, we need some way of providing it -- i.e. either 
with a predefined type, or now with a definition right in the FROM clause.

Joe




---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to