[Monetdb-developers] [Monetdb-pf-checkins] pathfinder/compiler/include logical.h, 1.25, 1.26 logical_mnemonic.h, 1.14, 1.15

Jan Rittinger rittinge at in.tum.de
Mon Nov 13 17:51:31 CET 2006

Hi Maurice,

this operator is only a shortcut of the pattern sketched below. It 
basically evaluates the path step for all context nodes separately. (By 
ignoring the iter information we thus may introduce duplicates.)

The resulting schema of the path step operator contains all the columns 
of the 'context relation' plus an additional column (from the document 
relation) storing the result of the path step operator (and thus is a 
real join without duplicate removal).

(If you want to see that operator in the generated plans you however 
have to stop after introduction of proxy nodes parameter '}' of option 


On 11/13/2006 02:23 PM, Maurice van Keulen wrote with possible deletions:
> Hi Jan,
> Can you explain a little bit more about this? Or is there a Wiki page
> that explains it? I'm rather curious about what you mean by "duplicate
> generating path step operator"
> Maurice.
> Jan Rittinger wrote:
>> Update of /cvsroot/monetdb/pathfinder/compiler/include
>> In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv28492/include
>> Modified Files:
>> 	logical.h logical_mnemonic.h 
>> Log Message:
>> -- Introduced a new duplicate generating path step operator. This operator
>>    is introduced in the proxy detection phase and replaces the following
>>    pattern by a new dup_scjoin operator:
>>          |X|
>>        __/ \__
>>       /       \
>>      (pi)      |
>>      |         |
>>     scjoin   (pi)
>>    / |         |
>>      (pi)      |
>>       \__   __/
>>          \ /
>>           #
>>    The new operator keeps all the columns of its right argument -- the left
>>    argument refers to the fragment information -- and adds a new column 
>>    (stored in the semantical field scjoin.item_res) based on the context column 
>>    (stored in the semantical field scjoin.item). Because the result may change
>>    the cardinality all the other columns are mapped based on the input context
>>    nodes.

Jan Rittinger
Database Systems
Technische Universität München (Germany)

More information about the developers-list mailing list