On 9/11/17, 9:28 PM, "Michael Paquier" <michael.paquier@gmail.com> wrote:
> + if (include_parts)
> + {
> + List *partition_oids = find_all_inheritors(relid, NoLock, NULL);
> + ListCell *part_lc;
> + foreach(part_lc, partition_oids)
> + {
> + VacuumRelation *tmp = copyObject(relinfo);
> + Oid part_oid = lfirst_oid(part_lc);
> + tmp->oid = part_oid;
> + vacrels_tmp = lappend(vacrels_tmp, tmp);
> + }
> + }
> I thought that you would have changed that as well, but that's not
> completely complete... In my opinion, HEAD is wrong in using the same
> RangeVar for error reporting for a parent table and its partitions, so
> that's not completely the fault of your patch. But I think that as
> this patch makes vacuum routines smarter, you should create a new
> RangeVar using makeRangeVar as you hold the OID of the child partition
> in this code path. This would allow error reports to actually use the
> data of the partition saved here instead of the parent data.
Good catch. I had missed this. It is added in v17.
Nathan
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers