[HACKERS] Adding a new node to the executor
Hey guys, I am taking my chances of posting a devel doubt on this list (couldn't find any other relevant list). I think I have spent too much time on this and need a fresh pair of eyes to look in it.. So this is my situation: 1. I have added a new field to RangeTblEntry (bool tablesample). 2. I have created a new executor node (this is to do system sampling [Ref: Query sampling thread]). In short, this new node goes over a table block by block, skipping some blocks as required. 3. Have made the appropriate changes to the parser+planner so that the information about a tablesample is passed from the parser to the executor. But the RangeTblEntry received by my executor node does not have the tablesample set, inspite of the fact that I do set it in parse_relation.c:addRangeTableEntry(). I have made the appropriate changes to copyfuncs.c, but still in vain.. Any help would be highly appreciated. I can send a diff if someone is interested. Thanks Varun ---(end of broadcast)--- TIP 5: don't forget to increase your free space map settings
Re: [HACKERS] Adding a new node to the executor
On Sat, Sep 03, 2005 at 02:43:20AM -0700, Varun Kacholia wrote: But the RangeTblEntry received by my executor node does not have the tablesample set, inspite of the fact that I do set it in parse_relation.c:addRangeTableEntry(). I have made the appropriate changes to copyfuncs.c, but still in vain.. Did you change all the other files in src/backend/nodes? You need to change not only copyfuncs.c, but equalfuncs, outfuncs and readfuncs as well. -- Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com El miedo atento y previsor es la madre de la seguridad (E. Burke) ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [HACKERS] Adding a new node to the executor
Alvaro Herrera wrote: On Sat, Sep 03, 2005 at 02:43:20AM -0700, Varun Kacholia wrote: But the RangeTblEntry received by my executor node does not have the tablesample set, inspite of the fact that I do set it in parse_relation.c:addRangeTableEntry(). I have made the appropriate changes to copyfuncs.c, but still in vain.. Did you change all the other files in src/backend/nodes? You need to change not only copyfuncs.c, but equalfuncs, outfuncs and readfuncs as well. Yep. My suggestion is to pick an existing field in RangeTblEntry and find all occurances of that, and determine if your new field has to be added in that place. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 4: Have you searched our list archives? http://archives.postgresql.org