[COMMITTERS] pgsql: Throw suitable error for COPY TO STDOUT/FROM STDIN in a SQLfunc

Поиск
Список
Период
Сортировка
От Tom Lane
Тема [COMMITTERS] pgsql: Throw suitable error for COPY TO STDOUT/FROM STDIN in a SQLfunc
Дата
Msg-id E1cST3k-0004fa-1q@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Throw suitable error for COPY TO STDOUT/FROM STDIN in a SQL function.

A client copy can't work inside a function because the FE/BE wire protocol
doesn't support nesting of a COPY operation within query results.  (Maybe
it could, but the protocol spec doesn't suggest that clients should support
this, and libpq for one certainly doesn't.)

In most PLs, this prohibition is enforced by spi.c, but SQL functions don't
use SPI.  A comparison of _SPI_execute_plan() and init_execution_state()
shows that rejecting client COPY is the only discrepancy in what they
allow, so there's no other similar bugs.

This is an astonishingly ancient oversight, so back-patch to all supported
branches.

Report: https://postgr.es/m/BY2PR05MB2309EABA3DEFA0143F50F0D593780@BY2PR05MB2309.namprd05.prod.outlook.com

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/47d32a464a8a5e70c95fe52d6b3e3a3fb25fd845

Modified Files
--------------
src/backend/executor/functions.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)


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

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: [COMMITTERS] pgsql: Change default values for backup and replication parameters
Следующее
От: Tom Lane
Дата:
Сообщение: [COMMITTERS] pgsql: Change representation of statement lists,and add statement loca