11
PROJECT 2014

PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Embed Size (px)

DESCRIPTION

Objective Implement a new symmetric hash join query operator replacing the current hash join implementation. Modifications to be done in Optimizer and Executor component

Citation preview

Page 1: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

PROJECT 2014

Page 2: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Instructions

• Should be able to test on SITE systems• Connection to the server via SSH• POSTGRESQL version 8.1.4• Must be done in groups• If you have technical difficulties, send me a

'print screen' and details on the error

Page 3: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Objective

• Implement a new symmetric hash join query operator replacing the current hash join implementation.

• Modifications to be done in Optimizer and Executor component

Page 4: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

What you need to know

• Understand what a hash join is. • How is it implemented in POSTGRESQL. • Need to know what all files to be modified. • Understand POSTGRESQL backend

architecture.

Page 5: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

What you are to implement

• Symmetric Hash Join

Page 6: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…
Page 7: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

More reading to do

• Understand how Optimizer and Executor works

• Refer to src/backend/optimizer/README• Refer to src/backend/executor/README

Page 8: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Relevant Files

• Src/backend/executor– nodeHashJoin.c: This file implements the actual

processing of the hash join operator.– nodeHash.c: This file is responsible for creating

and maintaining a hash table.

*You will given a list of methods to be modified for this assignment.

Page 9: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Relevant Files

• src/backend/optimizer/plan/– createplan.c: This file contains the code that

creates a hash join node in the query plan.• src/include/nodes/

– execnodes.h: This file contains the structure HashJoinState that maintains the state of the

hash join during execution.

Page 10: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Deliverables

• All of the relevant files listed to be submitted• Send in the Zipped file to my EMAIL• Insert comments in the parts you have

modified. Also add in any necessary explanations.

• Need a test query which would execute your code as per the requirement.

• All comments to be preceded by ‘CSI3130:’

Page 11: PROJECT 2014. Instructions Should be able to test on SITE systems Connection to the server via SSH POSTGRESQL…

Additional Help

• http://doxygen.postgresql.org/: Source code browser

• ELOG in POSTGRESQL