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

Reply via email to