hibernating-rhinos/rhino-etl — pull request #5 by mr-miles (2012-03-28 08:36:26+00:00)
Title: Extending DSL to support hash joins

Hi,

I've added support into the DSL to support hash joins, and added some tests. Any chance you could merge it in?

Thanks!

----

Added support for hash joins (using the JoinOperation) in the DSL. Previously only
the slow NestedLoopJoinOperation was supported by the 'join' macro.

A join can now be defined in DSL as:

leftjoin:
right key1, key2:
input "CONNECTION1", Command="SELECT..."
left keyA, keyB:
input "CONNECTION2", Command="SELECT..."
action:
row = left.Clone()
row.connection1data = right.col1

See InnerHashJoin DSL test for further example.

Additionally added support to pass in additional namespaces when
creating the DSL compiler, and added a method to AbstractClassGenerator
to allow macros to add a method specification, in advance of the actual
class definition being rendered.