Re: [PATCH] Allow multiple recursive self-references - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: [PATCH] Allow multiple recursive self-references
Date
Msg-id 044064f2-071d-4bf8-2ea9-19f88a85ce7f@enterprisedb.com
Whole thread Raw
In response to Re: [PATCH] Allow multiple recursive self-references  (Denis Hirn <denis.hirn@uni-tuebingen.de>)
Responses Re: [PATCH] Allow multiple recursive self-references
List pgsql-hackers
I have some separate questions on the executor changes.  Basically, this 
seems the right direction, but I wonder if some things could be clarified.

I wonder why in ExecWorkTableScan() and ExecReScanWorkTableScan() you 
call tuplestore_copy_read_pointer() instead of just 
tuplestore_select_read_pointer().  What is the special role of read 
pointer 0 that you are copying.  Before your changes, it was just the 
implicit read pointer, but now that we have several, it would be good to 
explain their relationship.

Also, the comment you deleted says "Therefore, we don't need a private 
read pointer for the tuplestore, nor do we need to tell 
tuplestore_gettupleslot to copy."  You addressed the first part with the 
read pointer handling, but what about the second part?  The 
tuplestore_gettupleslot() call in WorkTableScanNext() still has 
copy=false.  Is this an oversight, or did you determine that copying is 
still not necessary?



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [PATCH] Allow multiple recursive self-references
Next
From: Joshua Brindle
Date:
Subject: Re: CREATEROLE and role ownership hierarchies