On 07/19/2013 09:47 PM, tubadzin wrote:
> Hi. I'm a little confused.
> 1.I have source code 9.2.4. version from
> http://www.postgresql.org/ftp/source/
>2.I want to add new alghoritm to
> index nested loops join, merge join and hash join. I have Executor
> catalog in src catalag containing nodeHash.c, nodeHasjoin.c,
> nodeMergejoin and nodeNestloop.c
> 3.After changes, I want to compile
> postgresql and use it.
> 4.Problem is:
> a)I do not know which library is
> responsible for this functionality. I understand, that I have to compile
> src and replace library (I don't know which library) in path where
> Postgresql in installed: C:\Program Files (x86)\PostgreSQL\9.2
> b)I
> don't know how use files/library (which library?) with visual studio
> 2010 and how compile it.
Start here:
http://www.postgresql.org/docs/current/static/install-windows-full.html
You don't need to install all the dependencies when you're just
compiling a copy for testing.
You might find this tool I wrote a while ago interesting, it tries to
automate downloading and compiling dependencies, creation of config.pl, etc:
https://github.com/2ndQuadrant/pg_build_win
Once you've successfully compiled PostgreSQL, start reading the
planner/executor sources. You will find this documentation quite useful
when trying to understand the code:
http://www.postgresql.org/docs/current/static/internals.html
as well as:
http://www.postgresql.org/files/developer/tour.pdf
http://momjian.us/main/presentations/internals.html
Working with the query planner and adding node types is NOT the easiest
way to get started with the PostgreSQL source code, though! You will
have a lot of learning ahead of you.
Consider trying to explain in greater detail what your idea is. See if
anybody here has already tried it, make sure you're not exploring a dead
end. Get ideas and suggestions on how to approach the problem before you
start work on it.
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services