Bug #2413
Invalid multi-table conversion (Compound(Preselect, Adaptive) instead of Preselect)
Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
10/06/2014
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
History
#1 Updated by Stanislav Lomany over 9 years ago
Testcase:
def temp-table tt field f1 as integer field f2 as integer. def temp-table tt2 field f3 as integer field f4 as integer. create tt. tt.f1 = 1. create tt. tt.f1 = 2. create tt2. tt2.f3 = 1. create tt2. tt2.f3 = 2. def query q for tt, tt2. open query q for each tt, each tt2 by f1. get first q. def buffer xtt for tt. create xtt. xtt.f1 = 3. def buffer xtt2 for tt2. create xtt2. xtt2.f3 = 3. form tt.f1 tt2.f3 with frame fr1 15 down. repeat: if not avail(tt) then leave. display tt.f1 tt2.f3 with frame fr1. down with frame fr1. get next q. end
4GL output:
┌─────────────────────┐ │ f1 f3│ │────────── ──────────│ │ 1 1│ │ 1 2│ │ 2 1│ │ 2 2│
P2J output:
┌─────────────────────┐ │ f1 f3│ │────────── ──────────│ │ 1 1│ │ 1 2│ │ 1 3│ │ 2 1│ │ 2 2│ │ 2 3│
The query is converted to Compound(Preselect, Adaptive)
while it should be Preselect
query.