Bug #2437
where clause with dynamic database reference to separate buffer not properly converted
Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
Due date:
% Done:
100%
billable:
No
vendor_id:
GCD
case_num:
History
#1 Updated by Eric Faulhaber over 9 years ago
The following form of where clause (full test case is query-subst-dynamic.p
) is not properly converted:
find first tt1 where tt1.f1 = string(hb2:buffer-field("f1"):buffer-value()).
This results in:
new FindQuery(tt1, "upper(tt1.f1) = toString()", null, "tt1.id asc").first();
The hb2:buffer-field("f1"):buffer-value()
reference is to a separate buffer from the tt1
default buffer. It is being dropped from the where clause, while it should be converted to a query substitution parameter, along with the enclosing string
function call.
#2 Updated by Eric Faulhaber over 9 years ago
- File ecf_upd20141112a.zip added
- Status changed from New to Test
- % Done changed from 0 to 60
The attached update resolves this issue by marking the handle invocation chain as a query substitution expression during where clause conversion. Currently regression testing.
#3 Updated by Eric Faulhaber over 9 years ago
- Status changed from Test to Closed
- % Done changed from 60 to 100
The update passed conversion regression testing and is committed to bzr rev. 10653.
#4 Updated by Greg Shah over 7 years ago
- Target version changed from Milestone 11 to Cleanup and Stablization for Server Features