Re: ExecRTCheckPerms() and many prunable partitions
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Julien Rouhaud <rjuju123@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-01-13T06:39:12Z
Lists: pgsql-hackers
Attachments
- v7-0002-Do-not-add-hidden-OLD-NEW-RTEs-to-stored-view-rul.patch (application/octet-stream) patch v7-0002
- v7-0001-Rework-query-relation-permission-checking.patch (application/octet-stream) patch v7-0001
On Thu, Jan 13, 2022 at 12:10 PM Julien Rouhaud <rjuju123@gmail.com> wrote:
> On Mon, Dec 20, 2021 at 04:13:04PM +0900, Amit Langote wrote:
> >
> > Patch 0002 needed a rebase, because a conflicting change to
> > expected/rules.out has since been committed.
>
> The cfbot reports new conflicts since about a week ago with this patch:
I had noticed that too and was meaning to send a new version. Thanks
for the reminder.
> Latest failure: https://cirrus-ci.com/task/4686414276198400 and
> https://api.cirrus-ci.com/v1/artifact/task/4686414276198400/regress_diffs/src/test/regress/regression.diffs
>
> diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/xml.out /tmp/cirrus-ci-build/src/test/regress/results/xml.out
> --- /tmp/cirrus-ci-build/src/test/regress/expected/xml.out 2022-01-12 05:24:02.795477001 +0000
> +++ /tmp/cirrus-ci-build/src/test/regress/results/xml.out 2022-01-12 05:28:20.329086031 +0000
> @@ -603,12 +603,12 @@
> CREATE VIEW xmlview9 AS SELECT xmlserialize(content 'good' as text);
> SELECT table_name, view_definition FROM information_schema.views
> WHERE table_name LIKE 'xmlview%' ORDER BY 1;
> - table_name | view_definition
> -------------+-------------------------------------------------------------------------------------------------------------------
> + table_name | view_definition
> +------------+------------------------------------------------------------------------------------------------------------
> xmlview1 | SELECT xmlcomment('test'::text) AS xmlcomment;
> xmlview2 | SELECT XMLCONCAT('hello'::xml, 'you'::xml) AS "xmlconcat";
> xmlview3 | SELECT XMLELEMENT(NAME element, XMLATTRIBUTES(1 AS ":one:", 'deuce' AS two), 'content&') AS "xmlelement";
> - xmlview4 | SELECT XMLELEMENT(NAME employee, XMLFOREST(emp.name AS name, emp.age AS age, emp.salary AS pay)) AS "xmlelement"+
> + xmlview4 | SELECT XMLELEMENT(NAME employee, XMLFOREST(name AS name, age AS age, salary AS pay)) AS "xmlelement" +
> | FROM emp;
> xmlview5 | SELECT XMLPARSE(CONTENT '<abc>x</abc>'::text STRIP WHITESPACE) AS "xmlparse";
> xmlview6 | SELECT XMLPI(NAME foo, 'bar'::text) AS "xmlpi";
> diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/compression.out /tmp/cirrus-ci-build/src/test/regress/results/compression.out
> --- /tmp/cirrus-ci-build/src/test/regress/expected/compression.out 2022-01-12 05:24:02.739471690 +0000
> +++ /tmp/cirrus-ci-build/src/test/regress/results/compression.out 2022-01-12 05:28:23.537403929 +0000
> @@ -187,7 +187,7 @@
> --------+------+-----------+----------+---------+----------+-------------+--------------+-------------
> x | text | | | | extended | | |
> View definition:
> - SELECT cmdata1.f1 AS x
> + SELECT f1 AS x
> FROM cmdata1;
>
> SELECT pg_column_compression(f1) FROM cmdata1;
> @@ -274,7 +274,7 @@
> --------+------+-----------+----------+---------+----------+-------------+--------------+-------------
> x | text | | | | extended | lz4 | |
> View definition:
> - SELECT cmdata1.f1 AS x
> + SELECT f1 AS x
> FROM cmdata1;
>
> Could you send a rebased patch? In the meantime I'll switch the cf entry to
> Waiting on Author.
Turns out I had never compiled this patch set to exercise xml and lz4
tests, whose output files contained view definitions shown using \d
that also needed to be updated in the 0002 patch.
Fixed in the attached updated version.
--
Amit Langote
EDB: http://www.enterprisedb.com
Commits
-
Add a test case for a316a3bc
- 054ff3b33a85 17.0 landed
- 0a14bca662a4 16.0 landed
-
Correctly set userid of subquery relations' child rels
- a316a3bc6d3f 16.0 landed
-
Fix buggy recursion in flatten_rtes_walker().
- c7468c73f7b6 16.0 landed
-
Remove some dead code in selfuncs.c
- 438e6b724090 16.0 landed
-
Update outdated comment in ApplyRetrieveRule
- 29861e228a47 16.0 landed
-
Rework query relation permission checking
- a61b1f74823c 16.0 landed
-
Generalize ri_RootToPartitionMap to use for non-partition children
- fb958b5da86d 16.0 landed
-
Stop accessing checkAsUser via RTE in some cases
- 599b33b9492d 16.0 landed
-
Add 'missing_ok' argument to build_attrmap_by_name
- ad86d159b6ab 16.0 landed