Reduce unnecessary list construction in RelationBuildPartitionDesc.
authorRobert Haas <rhaas@postgresql.org>
Mon, 19 Nov 2018 17:10:41 +0000 (12:10 -0500)
committerRobert Haas <rhaas@postgresql.org>
Mon, 19 Nov 2018 17:10:41 +0000 (12:10 -0500)
commit7ee5f88e650619ee619f7e2854ac50ff59d0b0c7
tree75dd9c87255fe195b5eb623e6cc49b38aac7ce6c
parent16fbac39ff68a737317f6fc7be78cc93a14856af
Reduce unnecessary list construction in RelationBuildPartitionDesc.

The 'partoids' list which was constructed by the previous version
of this code was necessarily identical to 'inhoids'.  There's no
point to duplicating the list, so avoid that.  Instead, construct
the array representation directly from the original 'inhoids' list.

Also, use an array rather than a list for 'boundspecs'.  We know
exactly how many items we need to store, so there's really no
reason to use a list.  Using an array instead reduces the number
of memory allocations we perform.

Patch by me, reviewed by Michael Paquier and Amit Langote, the
latter of whom also helped with rebasing.
src/backend/partitioning/partbounds.c
src/backend/utils/cache/partcache.c
src/include/partitioning/partbounds.h