Customer Portal

Problems regarding ExtMergeJoin component

Comments 6

  • Avatar
    oldforum
    0
    Comment actions Permalink
    I will now study the code :)

    Thanks a lot for your work !

    Franck
  • Avatar
    oldforum
    0
    Comment actions Permalink
    Hi,
    you are right. Bug has been fixed and component will work as I had written before, in next release.

    Agata
  • Avatar
    oldforum
    0
    Comment actions Permalink
    Hi,
    1) if not set, allowSlavesDuplicates defaults to TRUE
    Documentation has been just updated. It is not compiliant wth the HashJoin component, because HashJoin stores slave records in the hash table and, when puting new record withe same key, the old record is replaced by the new one. In MergeJoin records are processing sequentialy and there is no reason to skip some of them.
    2) if a master record has a null value for join key, record will be filtered out, even if join type is set to LeftOuterJoin
    LeftOuterJoin means that even if for master record there is no slave, it is sent to output port. So when master record has a null value for join key there is no slave to join with and the master record is send to transformation with null record to join. Master records with null value on the key are not sent to output if the InnerJoin is set.
    If you expect null value on the master you have to use filter component after join.
    Agata
  • Avatar
    oldforum
    0
    Comment actions Permalink
    Hi,
    problem was that in loadNext() method of MergeJoin component, master record is compared with records from all readers (reader[minIdx].compare(reader[i])). It means that with itself too. But the compare(...) method of RecordKey class returned -1, when key field was null independently of second record. Now when compare method compares record with itself it returns 0.
    Agata
  • Avatar
    oldforum
    0
    Comment actions Permalink
    Hi,

    1) ok, the behaviour is fine if you know, so updating the doc is a solution

    2) what you describe is not what I see in my tests...

    If you set joinType to LeftOuterJoin, master record with null in join key is NOT sent to transformation class nor to output0.

    So I still think there is problem here.

    Do you see that as well ?
  • Avatar
    oldforum
    0
    Comment actions Permalink
    Great ! Thank you.

    Would you mind pointing me to the place (file mane / method) where you made the fix, so that next time I can submit a patch instead of just a bug report ?

    Thanks again,

    Franck

Please sign in to leave a comment.