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