Обсуждение: Adding new joining alghoritm to postgresql

Поиск
Список
Период
Сортировка

Adding new joining alghoritm to postgresql

От
tubadzin
Дата:
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.   Thanks for you all answers.   Tom.

Re: Adding new joining alghoritm to postgresql

От
Amit kapila
Дата:
On Friday, July 19, 2013 7:17 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    
 I think you would need to copy postgres.exe. Ideally you need to copy all the libraries that got changed due to your
sourcecode change. In the link below, you can even find how to create installation from source. 
> b)I don't know how use files/library (which library?) with visual studio 2010 and how compile it.      Find the
instructionsfor how to build on windows at below link:
http://www.postgresql.org/docs/devel/static/install-windows.html

With Regards,
Amit Kapila.




Re: Adding new joining alghoritm to postgresql

От
Craig Ringer
Дата:
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