Re: Accessing parameters of a prepared query inside an FDW

Поиск
Список
Период
Сортировка
От Adam Fletcher
Тема Re: Accessing parameters of a prepared query inside an FDW
Дата
Msg-id CAMfJBeCgWRjWcXYf7cgSZA88RxxtTqxgY1r_wr0wjnzg3UYMyA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Accessing parameters of a prepared query inside an FDW  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general


On Wed, Feb 14, 2024 at 7:43 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Wednesday, February 14, 2024, Adam Fletcher <adamfblahblah@gmail.com> wrote:

Is it possible to get the parameterized prepared query inside an FDW such that it can be prepared/bind'd/execute'd on the receiving end of the FDW?

For example, if I `PREPARE stmt(int) AS SELECT * from fdwrapped_tbl where pk = $1;` then `execute stmt(1);` I want my FDW be aware that the query was prepared.

That isn’t how the separation of responsibilities works in PostgreSQL.  Execute is capable of producing a custom plan where instead of adding in parameters and then planning around those unknowns the newly created plan uses the supplied constants while planning.

I do suspect that if a generic plan is chosen you will see the expected parse nodes and can thus build a generic access plan to your foreign server accordingly.

You can control this for ease of testing via plan_cache_mode



Thanks David, this solved my problem - here’s the reasons I asked: 
https://github.com/EnterpriseDB/mysql_fdw/pull/293 - this adds parameter forwarding to the MySQL FDW. 

Thanks again!

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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: "reverse" (?) UPSERT -- how to ?
Следующее
От: Kerr Livingstone
Дата:
Сообщение: Re: Version 6 binaries for RHEL 7