Retain relkind too in RTE_SUBQUERY entries for views.
authorAmit Langote <amitlan@postgresql.org>
Tue, 13 Jun 2023 03:52:47 +0000 (12:52 +0900)
committerAmit Langote <amitlan@postgresql.org>
Wed, 14 Jun 2023 03:00:10 +0000 (12:00 +0900)
commit0f8cfaf8921fed35f0b92d918ce95eec7b46ff05
treebab872e8982f9a5ed3e119a0bc77a7996858a887
parentae66716bf3ef6fa9b33904eaf15441813a150320
Retain relkind too in RTE_SUBQUERY entries for views.

47bb9db75 modified the ApplyRetrieveRule()'s conversion of a view's
original RTE_RELATION entry into an RTE_SUBQUERY one to retain relid,
rellockmode, and perminfoindex so that the executor can lock the view
and check its permissions.  It seems better to also retain
relkind for cross-checking that the exception of an
RTE_SUBQUERY entry being allowed to carry relation details only
applies to views, so do so.

Bump catversion because this changes the output format of
RTE_SUBQUERY RTEs.

Suggested-by: David Steele <david@pgmasters.net>
Reviewed-by: David Steele <david@pgmasters.net>
Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/3953179e-9540-e5d1-a743-4bef368785b0%40pgmasters.net
src/backend/executor/execMain.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/rewrite/rewriteHandler.c
src/include/catalog/catversion.h
src/include/nodes/parsenodes.h