Re: Minor code improvements to create_foreignscan_plan/ExecInitForeignScan - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Re: Minor code improvements to create_foreignscan_plan/ExecInitForeignScan
Date
Msg-id 55E035F9.1030008@lab.ntt.co.jp
Whole thread Raw
In response to Re: Minor code improvements to create_foreignscan_plan/ExecInitForeignScan  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Responses Re: Minor code improvements to create_foreignscan_plan/ExecInitForeignScan  (David Rowley <david.rowley@2ndquadrant.com>)
List pgsql-hackers
On 2015/07/22 15:25, Etsuro Fujita wrote:
> On 2015/07/10 21:59, David Rowley wrote:
>> On 10 July 2015 at 21:40, Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp
>> <mailto:fujita.etsuro@lab.ntt.co.jp>> wrote:

>>     To save cycles, I modified create_foreignscan_plan so that it detects
>>     whether any system columns are requested if scanning a base relation.

>> I just glanced at this and noticed that the method for determining if
>> there's any system columns could be made a bit nicer.

>> /* Now, are any system columns requested from rel? */
>> scan_plan->fsSystemCol = false;
>> for (i = FirstLowInvalidHeapAttributeNumber + 1; i < 0; i++)
>> {
>> if (bms_is_member(i - FirstLowInvalidHeapAttributeNumber, attrs_used))
>> {
>> scan_plan->fsSystemCol = true;
>> break;
>> }
>> }

>> I think could just be written as:
>> /* Now, are any system columns requested from rel? */
>> if (!bms_is_empty(attrs_used) &&
>> bms_next_member(attrs_used, -1) < -FirstLowInvalidHeapAttributeNumber)
>> scan_plan->fsSystemCol = true;
>> else
>> scan_plan->fsSystemCol = false;

>> I know you didn't change this, but just thought I'd mention it while
>> there's an opportunity to fix it.

On second thought, I noticed that there is a case when that fix doesn't 
work well; bms_next_member wouldn't be efficient when only the rear 
user-columns are requested from a foreign table that has a large number 
of user-columns.  So, I'm inclined to leave that as-is.

Anyway, I'll add this to the upcoming CF.

Best regards,
Etsuro Fujita



pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: patch: version_stamp.pl: Add Git commit info to version if 'git' is specified
Next
From: jacques klein
Date:
Subject: NOTIFY in Background Worker