Re: Get Columns from Plan

Поиск
Список
Период
Сортировка
От Isaac Morland
Тема Re: Get Columns from Plan
Дата
Msg-id CAMsGm5ef+rmBU9Zm9jNMwP5_bugUMpBz6m0tgEALRSi1d37oiQ@mail.gmail.com
обсуждение исходный текст
Ответ на Get Columns from Plan  (Ed Behn <ed@behn.us>)
Список pgsql-hackers


On 22 July 2018 at 21:56, Ed Behn <ed@behn.us> wrote:
I'm tinkering with the idea of creating a Procedural Language plugin for Haskell. As such I'm reading up on the SPI and prepared statements. The idea is that a statement will be prepared at compile time and executed at run-time. Therefore, I want to be able to determine the columns (names and types) that are returned by a plan without executing it. It seems like this should be a straight-forward task, but there doesn't seem to be a mechanism to do this. 

Is there a way to get the columns for a plan at compile time? If not, why?

It looks to me like PQdescribePrepared() gives you most of what you want:


You can get the types of the columns. However, it's not immediately obvious to me how to get the column names. For query results there is PQfname() to get the column names, but I believe that requires running the query. I suppose you could add "LIMIT 0" to the end of the query and run it, but that doesn't feel ideal.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ed Behn
Дата:
Сообщение: Get Columns from Plan
Следующее
От: Chenxi Li
Дата:
Сообщение: code of partition split