This is a discussion on Digging gram.y within the pgsql Hackers forums, part of the PostgreSQL category; --> In gram.y Typename: SimpleTypename opt_array_bounds { $$ = $1; $$->arrayBounds = $2; } | SETOF SimpleTypename opt_array_bounds { $$ ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| In gram.y Typename: SimpleTypename opt_array_bounds { $$ = $1; $$->arrayBounds = $2; } | SETOF SimpleTypename opt_array_bounds { $$ = $2; $$->arrayBounds = $3; $$->setof = TRUE; } Typename is a generic name of type and it used in many places in gram.c, but AFAIK the single place with SETOF is a function's RETURNS declaration. So there is many checks about SETOF. May I eliminate SETOF from Typename and leave it only for RETURNS? -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| |||
| Teodor Sigaev <teodor@sigaev.ru> writes: > May I eliminate SETOF from Typename and leave it > only for RETURNS? Why do you want to? I think the reason it's in Typename is the assumption that in future we would try to extend the applicability of SETOF, not restrict it. For instance I can see reasons for wanting SETOF on a function's input parameter (to pass it a whole table or select result in one call). regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |
| |||
| > Why do you want to? Just simplify. > For instance I can see reasons for wanting SETOF on a function's input > parameter (to pass it a whole table or select result in one call). I see. But Typename is used for table's definition for example. I can't imagine column "setof text". -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| Teodor Sigaev <teodor@sigaev.ru> writes: >> Why do you want to? > Just simplify. I think you'd just be moving the complexity somewhere else. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| ||||
| On Wed, Oct 04, 2006 at 09:04:11PM +0400, Teodor Sigaev wrote: > >Why do you want to? > > Just simplify. > > >For instance I can see reasons for wanting SETOF on a function's > >input parameter (to pass it a whole table or select result in one > >call). > > I see. But Typename is used for table's definition for example. I > can't imagine column "setof text". It's part of the SQL:2003 standard as MULTISET Cheers, D -- David Fetter <david@fetter.org> http://fetter.org/ phone: +1 415 235 3778 AIM: dfetter666 Skype: davidfetter Remember to vote! ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |