pgsql: Reduce unnecessary list construction in RelationBuildPartitionDe

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Reduce unnecessary list construction in RelationBuildPartitionDe
Date: 2018-11-19 17:13:23
Message-ID: E1gOn6x-0000F5-E4@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7ee5f88e650619ee619f7e2854ac50ff59d0b0c7

Modified Files
--------------
src/backend/partitioning/partbounds.c | 66 +++++++++++++++--------------------
src/backend/utils/cache/partcache.c | 40 ++++++++++++---------
src/include/partitioning/partbounds.h | 5 ++-
3 files changed, 53 insertions(+), 58 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2018-11-19 17:34:50 pgsql: psql: Show IP address in \conninfo
Previous Message Tom Lane 2018-11-19 17:02:10 pgsql: Fix configure's AC_CHECK_DECLS tests to work correctly with clan