Hi, it seems that when a RowProcessor used as a before_write returns nil, the row is removed from the pipeline, but when the same processor is used as an after_read, the nil row remains in the pipeline (and the next processor will most likely raise a nil exception at soon as it interacts with the row).
The difference seems to lie in engine.rb (process_control): after_read: rows = processed_rows.flatten before_write: rows = processed_rows.flatten.compact Is there a specific reason for not having compact called as well on after_read ? My feeling is that it may be worth DRYing process_control - for the moment I didn't analyse further to evaluate the cost and possible side-effects on existing installations though... cheers Thibaut
_______________________________________________ Activewarehouse-discuss mailing list Activewarehouse-discuss@rubyforge.org http://rubyforge.org/mailman/listinfo/activewarehouse-discuss