
New Symmetric Hash Join Query Operator Implementation in PostgreSQL
Learn how to implement a new symmetric hash join query operator in PostgreSQL by making modifications to the Optimizer and Executor components. Understand the hash join implementation in PostgreSQL, necessary file modifications, and the backend architecture.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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
Objective Implement a new symmetric hash join query operator replacing the current hash join implementation. Modifications to be done in Optimizer and Executor component
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.
What you are to implement Symmetric Hash Join
More reading to do Understand how Optimizer and Executor works Refer to src/backend/optimizer/README Refer to src/backend/executor/README
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.
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.
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:
Additional Help http://doxygen.postgresql.org/: Source code browser ELOG in POSTGRESQL