Improve complex-alias to handle nulls and defaults
--------------------------------------------------

                 Key: OFBIZ-336
                 URL: http://issues.apache.org/jira/browse/OFBIZ-336
             Project: OFBiz (The Open for Business Project)
          Issue Type: Improvement
          Components: framework
            Reporter: Leon Torres
            Priority: Minor


The idea behind complex-alias is useful for certain things, but the way it 
works now is not useful.  Suppose you build a simple addition rule.  If any 
variable in the equation is null, the entire alias resolves to null.

For example, suppose you create a view entity to report quantities on 
OrderItem.  The query would be:

select product_id, (quantity - cancel_quantity) from order_item;

However if you run this, you'll see that where quantity or cancel_quantity are 
null, the result is null.  A solution in postgresql is to use the coalesce 
function to specify a default value:

select product_id, (coalesce(quantity, 0) - coalesce(cancel_quantity, 0)) from 
order_item;

Now the query works.

So the fix I think is to add another attribute default-value="something".  If 
the default-value is present, then add the coalesce function.  Not sure whether 
this is standard sql or not.

I also encountered this issue for concatenation ||  operator, so I think it 
affects most operations.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to