pgsql: Fix RLS with COPY (col1, col2) FROM tab

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема pgsql: Fix RLS with COPY (col1, col2) FROM tab
Дата
Msg-id E1br9mW-0005CA-Da@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix RLS with COPY (col1, col2) FROM tab

Attempting to COPY a subset of columns from a table with RLS enabled
would fail due to an invalid query being constructed (using a single
ColumnRef with the list of fields to exact in 'fields', but that's for
the different levels of an indirection for a single column, not for
specifying multiple columns).

Correct by building a ColumnRef and then RestTarget for each column
being requested and then adding those to the targetList for the select
query.  Include regression tests to hopefully catch if this is broken
again in the future.

Patch-By: Adam Brightwell
Reviewed-By: Michael Paquier

Branch
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/190765a059cc5e8226cdb18b9715741b32b12255

Modified Files
--------------
src/backend/commands/copy.c         | 63 ++++++++++++++++++++++++------
src/test/regress/expected/copy2.out | 78 +++++++++++++++++++++++++++++++++++++
src/test/regress/sql/copy2.sql      | 63 ++++++++++++++++++++++++++++++
3 files changed, 192 insertions(+), 12 deletions(-)


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

Предыдущее
От: Stephen Frost
Дата:
Сообщение: pgsql: Fix RLS with COPY (col1, col2) FROM tab
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Show a sensible value in pg_settings.unit for GUC_UNIT_XSEGS var