[HACKERS] Adding a new node to the executor

2005-09-03 Thread Varun Kacholia
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

2005-09-03 Thread Alvaro Herrera
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

2005-09-03 Thread Bruce Momjian
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