Re: anonymous composite types - how to pass tupdesc to
От | Joe Conway |
---|---|
Тема | Re: anonymous composite types - how to pass tupdesc to |
Дата | |
Msg-id | 3D6A86ED.7040808@joeconway.com обсуждение исходный текст |
Ответ на | anonymous composite types - how to pass tupdesc to the function (Joe Conway <mail@joeconway.com>) |
Список | pgsql-hackers |
Tom Lane wrote: > Joe Conway <mail@joeconway.com> writes: > >>I'm trying to come up with the best method to pass the query string >>columndef, or better yet the tuple description, to the function. Any >>suggestions on an approach? > > > Can't it get it for itself from the results of the query, ie, look at > PQftype() and so on to build a tupledesc? Hmm. Good point. That certainly works for dblink. I guess most functions with need for anonymous composite types would be able to derive a tupdesc from libpq (dblink), SPI (tablefunc.c:crosstab), function arguments (tablefunc.c:crosstab), or it would be known in advance (guc.c:show_all_settings). Can anyone think of a use case where the *only* source of tuple description would come from the query column def? > I guess there are some gotchas with inconsistent type OIDs between > remote and local databases, but that still seems much less of a risk > than manual errors in giving the columnset definition. You could at > least check that PQfsize matches the local type's typlen as a way of > detecting chance collisions of user-defined type OIDs. Another good point. Thanks! Joe
В списке pgsql-hackers по дате отправления: