On 2018-Jul-10, Alvaro Herrera wrote:
> alvherre=# explain update p set a = a || a where a = '{1}';
> QUERY PLAN
> ──────────────────────────────────────────────────────────
> Update on p (cost=0.00..54.03 rows=14 width=38)
> Update on p1
> Update on p2
> -> Seq Scan on p1 (cost=0.00..27.02 rows=7 width=38)
> Filter: (a = '{1}'::integer[])
> -> Seq Scan on p2 (cost=0.00..27.02 rows=7 width=38)
> Filter: (a = '{1}'::integer[])
> (7 filas)
>
> Because UPDATE uses the predtest.c prune code, not partprune. So it's
> not just some ruleutils beautification.
I added this test, modified some comments, and pushed.
Thanks for the patch.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services