• Hey Paul again!

    Sorry! Didn't see your new post...

    I did not know that CLR functions can return IEnumerable. Thanks for that!

    I tested your function against mine:

    Start clr xml solution

    Milliseconds: 790 | Lines: 28545

    Start clr tvf (PW) solution

    Milliseconds: 1083 | Lines: 25661

    I don't really understand why the way over XML is faster than a direct TVF. The only idea I have is that SQL Server calls the FillRowMethod over reflection, what would be really ugly implementation! I usually handle those kinds of dynamic method calls over dynamic classes and delegates. It's a little more source code but the performance improvement is up to factor 1000.

    Greets

    Flo

    PS: Sorry also for the late answer. I had to restart my rooter about twenty times... Currently I'm doin' something like "stock posting" :hehe: in a text editor until internet gives me a minute or two...