Small improvement to tlist_matches_tupdesc() - Mailing list pgsql-hackers

From David Rowley
Subject Small improvement to tlist_matches_tupdesc()
Date
Msg-id CAKJS1f9+WAWONZNGeCujvTyZyTnDvSg+5Rd2J66PfgSQqa0v4Q@mail.gmail.com
Whole thread Raw
Responses Re: Small improvement to tlist_matches_tupdesc()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I just found myself in execScan.c. I noticed that tlist_matches_tupdesc() is a bit wasteful in some cases as it goes to the trouble of matching the tlist to the TupleDesc item by item until it runs out of tlist items or finds a non-match. Once the loop completes it ensures that all tlist items were consumed, so basically in other words, it checks the lengths match.

I think likely this was just not made optimal originally in d0b4399 when the length property etc were added to List

The attached patch adds a fast path so that no list items are compared if the lengths don't match.

Is this worth fixing?

--
 David Rowley                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services
Attachment

pgsql-hackers by date:

Previous
From: Noah Misch
Date:
Subject: Re: pg_dump
Next
From: Tom Lane
Date:
Subject: Re: Small improvement to tlist_matches_tupdesc()