Retain relkind too in RTE_SUBQUERY entries for views.
Amit Langote <amitlan@postgresql.org>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/execMain.c | modified | +9 −0 |
| src/backend/nodes/outfuncs.c | modified | +1 −0 |
| src/backend/nodes/readfuncs.c | modified | +1 −0 |
| src/backend/rewrite/rewriteHandler.c | modified | +3 −4 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/nodes/parsenodes.h | modified | +7 −7 |
Discussion
- Views no longer in rangeTabls? 24 messages · 2023-06-09 → 2023-06-14