Skip site navigation (1) Skip section navigation (2)

Re: Implementing a new Join Algorithm

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Anagh Lal <anaghlal2001(at)yahoo(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Implementing a new Join Algorithm
Date: 2003-01-06 01:37:59
Message-ID: 24206.1041817079@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Anagh Lal <anaghlal2001(at)yahoo(dot)com> writes:
> I am trying to test a new join algorithm by
> implementing it on Postgresql. 
> It would be great if you could give me some start off
> pointers so as to where all in the source code I will
> have to make changes.

Lots of places ;-).

You will find that a full-text indexing tool is an essential aid for
working with the Postgres source code.  I am partial to "glimpse" but
others use other things (searching for "glimpse" in the pghackers list
archives should turn up previous discussions of useful tools).

Once you've got one, looking for files mentioning both "merge" and
"hash" should locate all the incidental places you will need to hit.

The primary work will certainly be in adding an executor/nodeNewjoin.c
file and in teaching the planner how to plan the join type.  I think
most of the incidental work will be associated with creating new plan,
executor-state, and path node types and adding support code for these
where needed.  This should be largely boilerplate that you can produce
by emulating the existing join types.

Frankly I'd consider a new join type to be an overly ambitious target
for a person's first venture into the Postgres backend.  You'd probably
find it a good idea to tackle some smaller project(s) first ...

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2003-01-06 01:42:51
Subject: Re: New Portal in Place, DNS switched ...
Previous:From: Marc G. FournierDate: 2003-01-06 01:32:59
Subject: Re: New Portal in Place, DNS switched ...

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group