op2 & op3 happen simultaneously because of the branching operation. you may need to implement your own operation inheriting from database operation and allow the records to flow through.
On Jan 13, 2:14 pm, Nathan Palmer <[email protected]> wrote: > I see what you are saying. At the same time the last step in the pipeline > process is updating the original source to mark that it's been loaded. In > this scenario our final step is updating the original, not loading it to the > destination. It would make sense that we could chain these however would > seem to fit the process that we're working on. The branching operation I > visualize as this. Hopefully the ascii shows up somewhat correctly here. > > Operation 1 > | > / \ > Op2 Op3 > > But I never want Op3 to execute before Op2. Even though the whole operation > might be isolated by a transaction. It would still make sense to see this. > > Operation 1 -> Select from source > | > Operation 2 -> Insert into destination > | > Operation 3 -> Mark source as transferred > > Nathan Palmer > > On Thu, Jan 13, 2011 at 10:26 AM, Jason Meckley <[email protected]>wrote: > > > the idea is rows get into the pipeline from source. rows are > > processed. and rows leave the pipeline to a destination. It would be > > more unnatural to have the row go to a destination, but remain in the > > pipeline. this is where branching comes in. > > > On Jan 13, 11:39 am, Nathan Palmer <[email protected]> wrote: > > > Yeah, I realized that after I sent the email. Although now that I'm > > thinking > > > about it I wonder if it would be bad to yield the same row from the > > output > > > command so you could keep chaining operations even after the output. > > Going > > > back and updating a source row isn't too uncommon and for some reason the > > > branching operation seems strange to me. > > > > Nathan Palmer > > > > On Wed, Jan 12, 2011 at 6:48 PM, Jason Meckley <[email protected] > > >wrote: > > > > > to be more precise output commands terminate the return of rows: > > > > >https://github.com/ayende/rhino-etl/blob/master/Rhino.Etl.Core/Operat. > > .. > > > > > On Jan 12, 8:45 pm, Jason Meckley <[email protected]> wrote: > > > > > @nathan > > > > > because database operations terminate the return of rows. > > > > > @alex > > > > > I would use any one of the inputcommandoperations. I try to use the > > > > > conventionbulksqlcommandoperation as much as possible. but anyone > > will > > > > > do. > > > > > > On Jan 12, 5:20 pm, Alex Brown <[email protected]> wrote: > > > > > > > but what should the "update from original..." operation be? > > > > > > An AbstractDatabaseOperation? InputCommandOperation? > > > > > > > On Jan 12, 9:40 pm, Nathan Palmer <[email protected]> wrote: > > > > > > > > Why would you choose a branching operations instead of just 3 > > > > operations one > > > > > > > after another? > > > > > > > > register("select from original.."); > > > > > > > register("insert into destination.."); > > > > > > > register("update from original..."); > > > > > > > > On Wed, Jan 12, 2011 at 1:14 PM, Jason Meckley < > > > > [email protected]>wrote: > > > > > > > > > get data and branch to insert and update > > > > > > > > > register("select ..."); > > > > > > > > register(new BranchingOperation() > > > > > > > > .Add("insert into...") > > > > > > > > .Add("update ...")); > > > > > > > > > On Jan 12, 12:29 pm, Alex Brown <[email protected]> > > wrote: > > > > > > > > > Hi, > > > > > > > > > I'm currently writing a few etl processes to move rows from > > one > > > > table > > > > > > > > > to another. > > > > > > > > > > Firstly, I have an ImportCommandOperation that is basically > > doing > > > > > > > > > "SELECT * FROM table WHERE Transferred = 0" > > > > > > > > > This is working fine. > > > > > > > > > > Then, I have a write operation to insert the rows > > > > > > > > > > Finally, I need an operation that Updates the source table, > > sets > > > > > > > > > Transferred to 1 > > > > > > > > > > How should I go about doing this? > > > > > > > > > -- > > > > > > > > You received this message because you are subscribed to the > > Google > > > > Groups > > > > > > > > "Rhino Tools Dev" group. > > > > > > > > To post to this group, send email to > > > > [email protected]. > > > > > > > > To unsubscribe from this group, send email to > > > > > > > > [email protected]<rhino-tools-dev%[email protected]> > > <rhino-tools-dev%[email protected]<rhino-tools-dev%[email protected]> > > > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > > > > . > > > > > > > > For more options, visit this group at > > > > > > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups > > > > "Rhino Tools Dev" group. > > > > To post to this group, send email to [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]<rhino-tools-dev%[email protected]> > > <rhino-tools-dev%[email protected]<rhino-tools-dev%[email protected]> > > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Rhino Tools Dev" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<rhino-tools-dev%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/rhino-tools-dev?hl=en. -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
