Em 28/10/2015 20:31, Claudio Valderrama C. escreveu: >> -----Original Message----- >> From: Adriano dos Santos Fernandes [mailto:adrian...@gmail.com] >> Sent: Martes, 27 de Octubre de 2015 6:40 >> >> The problem is that we can't go to evaluate blr_coalesce for a "null >> stream". > > Yes, I thought so but there are two cases with a null stream: > > - coalesce inside a view: > if the view if the non-mandatory table in a left join, coalesce shouldn't > run (the case in the tracker) > > - coalesce in a typical left join between two tables, obviously coalesce > should run. :-) > select lt.A, coalesce(rt.A, lt.A) > from lt left join rt on <cond> > > I wasn't sure how to distinguish the two cases. I had two elements: > indicator of end of stream and indicator that the relation was a view, but I > need to make sure such view is the non-mandatory side of a left join. >
This is resolved by blr_derived_expr with a set of stream numbers. If one stream is not-null, it executes the expression. The only problem about this ticket is that blr_derived_expr is not used in this case. It's currently used only for constants. Adriano ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel