hibernating-rhinos / rhino-etl

Developer friendly ETL Library for .NET
http://hibernatingrhinos.com/open-source/rhino-etl
BSD 3-Clause "New" or "Revised" License
173 stars 53 forks source link

Extending DSL to support hash joins #5

Closed mr-miles closed 12 years ago

mr-miles commented 12 years ago

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.

nathanpalmer commented 12 years ago

I fixed a compile error and removed the tabs but ultimately pulled this in.