creating a Plan...
От | Martha Chronopoulou |
---|---|
Тема | creating a Plan... |
Дата | |
Msg-id | 41DB5E3A.5090103@aueb.gr обсуждение исходный текст |
Список | pgsql-hackers |
<small><small><small><span lang="EN-US" style="font-size: 12pt; font-family: Arial;"><small>Hi all<br /> best wishes, andhappy new year !!!!! :) :)<br /><br /> I implement a new type of join called "Double Pipelined Hash Join". This typeof join requires 2 hash tables; one for the left (outer) and one for the right(inner) relation. At the execution phaseone (or more) tuple(s) from the inner relation must probe the hash table of the outer relation and one (or more) tuple(s)from the outer relation must probe the hash table of the inner relation. Let's make the assumption that the sequenceof this selection of the tuples from the inner or the outer relation, happens in a random manner. (It’s obvious thatthere are many details that I don't mention here; if there is a problem with this, please tell)<br /> Those days I createthe plan that later on must be executed. The problem I have is that I don't know whether I should create two more paths(inner and outer), that is to add two more fields to the struct Plan, so as to be able later, at the execution phaseto access each relation tuple by tuple, and through a hash table any time I want.(is it necessary to add those plannodes? should I create only 2 Hash nodes without adding anything else?)<br /> <br /> (i.e. ..<br /> typedef struct Plan // plannodes.h<br /> {<br /> NodeTag type;<br /> ....<br /> ....<br /> struct Plan *rigthtree; // foraccess tuple by tuple<br /> struct Plan *lefttree; //</small></span></small></small></small><span style="font-size:12pt; font-family: Arial;"><small><small><small><span lang="EN-US" style="font-size: 12pt; font-family:Arial;"><small>for access tuple by tuple</small></span></small></small></small><br /></span><small><small><small><spanlang="EN-US" style="font-size: 12pt; font-family: Arial;"><small>struct Plan *rigthtreeHash; //for probing the hash table<br /> struct Plan *lefttreeHash; //for probing the hash table<br />....<br /> ....<br /> )Plan;<br /><br /> (The truth is that I'm thinking only the simple case where there is one simpleJoin. I suspect that in other cases, things may be different.)<br /> If there is something that is not clear, pleaselet me know, so as to give more info.<br /></small><small>Thanks in advance !!!!!!!!!!!!!!!</small><br /></span></small></small></small>
В списке pgsql-hackers по дате отправления: