Subject | Re: [IBO] Unidirectional - IBO 5.9.1 Build 2522 |
---|---|
Author | Patrick Marten |
Post date | 2017-06-07T10:28:08Z |
Hi Jason,
the unidirectional issue seems not to be solved yet.
- It's about a dashboard with an area showing top ten products based on the revenue from their sales
- IBObjects 5.9.3 Build 2620 RC1
- Firebird 2.5.2.26539
- An IBOQuery with the following SQL statement:
select PRODUCTS.ID, PRODUCTS.DESCRIPTION, sum(INVOICES_POSITIONS.TOTALNET_REDUCED) as REVENUE
from INVOICES_POSITIONS
LEFT JOIN INVOICES ON (INVOICES_POSITIONS.INVOICEID = INVOICES.ID)
LEFT JOIN PRODUCTS ON (INVOICES_POSITIONS.PRODUCTID = PRODUCTS.ID)
where (INVOICES.INVOICE_DATE >= :DATE_FROM) and (INVOICES.INVOICE_DATE <= :DATE_TO) and (PRODUCTS.ID > 0) and (INVOICES.CANCELLED <> -1)
group by PRODUCTS.ID, PRODUCTS.DESCRIPTION
order by sum(INVOICES_POSITIONS.TOTALNET_REDUCED) desc
- Before opening, the parameter "DATE_FROM" is being set to '01.01.2017' and "DATE_TO" to '31.12.2017 23:59:59'
- then "open" and "first" are being called
- the first 10 records are being copied into a MemTable
If "unidirectional" is set to true, there are several variants of the result, but all are wrong:
Variant 1:
Just open the dashboard without any break points, debug outputs or ShowMessage: Here I see all the 10 records filled with the same product, which is the one that would be on top due to the highest revenue.
Variant 2:
Opening the dashboard with a break point set at the "open" method of the IBOQuery: Pressing F9 form here leads to the same 10 recods as in variant 1. Pressing F8 leads to just one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Variant 3:
Opening the dashboard with a break point set at the "first" method of the IBOQuery: Pressing F9 form here leads to just one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Variant 4:
Calling "OutputDebugString(PChar(IntToStr(MyIBOQuery.RecordCount)));" straight after "open" leads to the debug output "1" and there is again only one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Quite weird, that variant 1 shows 10 same records if there is no "interruption" like a debug step or debug output.
If "unidirectional" is set to false, everything is correct: 10 different records
the unidirectional issue seems not to be solved yet.
- It's about a dashboard with an area showing top ten products based on the revenue from their sales
- IBObjects 5.9.3 Build 2620 RC1
- Firebird 2.5.2.26539
- An IBOQuery with the following SQL statement:
select PRODUCTS.ID, PRODUCTS.DESCRIPTION, sum(INVOICES_POSITIONS.TOTALNET_REDUCED) as REVENUE
from INVOICES_POSITIONS
LEFT JOIN INVOICES ON (INVOICES_POSITIONS.INVOICEID = INVOICES.ID)
LEFT JOIN PRODUCTS ON (INVOICES_POSITIONS.PRODUCTID = PRODUCTS.ID)
where (INVOICES.INVOICE_DATE >= :DATE_FROM) and (INVOICES.INVOICE_DATE <= :DATE_TO) and (PRODUCTS.ID > 0) and (INVOICES.CANCELLED <> -1)
group by PRODUCTS.ID, PRODUCTS.DESCRIPTION
order by sum(INVOICES_POSITIONS.TOTALNET_REDUCED) desc
- Before opening, the parameter "DATE_FROM" is being set to '01.01.2017' and "DATE_TO" to '31.12.2017 23:59:59'
- then "open" and "first" are being called
- the first 10 records are being copied into a MemTable
If "unidirectional" is set to true, there are several variants of the result, but all are wrong:
Variant 1:
Just open the dashboard without any break points, debug outputs or ShowMessage: Here I see all the 10 records filled with the same product, which is the one that would be on top due to the highest revenue.
Variant 2:
Opening the dashboard with a break point set at the "open" method of the IBOQuery: Pressing F9 form here leads to the same 10 recods as in variant 1. Pressing F8 leads to just one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Variant 3:
Opening the dashboard with a break point set at the "first" method of the IBOQuery: Pressing F9 form here leads to just one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Variant 4:
Calling "OutputDebugString(PChar(IntToStr(MyIBOQuery.RecordCount)));" straight after "open" leads to the debug output "1" and there is again only one record, which is the one, that would be the latest of all the obtained recods, but which wouldn't be within the top 10 records.
Quite weird, that variant 1 shows 10 same records if there is no "interruption" like a debug step or debug output.
If "unidirectional" is set to false, everything is correct: 10 different records
So something seems to be broken still...
Best regards,
Patrick
From: "'IBO Support List' supportlist@... [IBObjects]" <IBObjects@yahoogroups.com>
To: IBObjects@yahoogroups.com
Sent: Monday, May 29, 2017 8:39 PM
Subject: RE: [IBO] Unidirectional - IBO 5.9.1 Build 2522
This bug is now confirmed fixed and it
will be in the next release.
Please let me know if you would like me to
bump your subscription a little so that you can get this fix.
Thanks,
Jason Wharton
From: IBObjects@yahoogroups.com [mailto: IBObjects@yahoogroups.com ]
Sent: Monday, May 22, 2017 3:07 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Unidirectional - IBO 5.9.1 Build 2522
Sent: Monday, May 22, 2017 3:07 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Unidirectional - IBO 5.9.1 Build 2522
This
bug still exists in IBO 5.9.3 Build 2577 Beta.
Couldn't
test the current beta release, because our subscription expired recently.
From: "'IBO Support
List' supportlist@... [IBObjects]" < IBObjects@yahoogroups.com >
To: IBObjects@yahoogroups.com
Sent: Saturday, November 19, 2016 8:40 PM
Subject: RE: [IBO] Unidirectional - IBO 5.9.1 Build 2522
To: IBObjects@yahoogroups.com
Sent: Saturday, November 19, 2016 8:40 PM
Subject: RE: [IBO] Unidirectional - IBO 5.9.1 Build 2522
I will get a hotfix out
for this early next week.
Thank you for reporting
this.
Kind regards,
Jason Wharton
From: IBObjects@yahoogroups.com
[mailto: IBObjects@yahoogroups.com ]
Sent: Tuesday, November 08, 2016 6:04 AM
To: IBObjects@yahoogroups.com
Subject: [IBO] Unidirectional - IBO 5.9.1 Build 2522
Sent: Tuesday, November 08, 2016 6:04 AM
To: IBObjects@yahoogroups.com
Subject: [IBO] Unidirectional - IBO 5.9.1 Build 2522
Good
Morning,
Used the component "ibo5.7.13.2411" and migrate to the latest version "ibo5.9.1.b2522" property of the query Unidirectional stopped working.
Now to to set the property "Unidirectional = true" data repeat.
The following example...
procedure TForm1.Button1Click(Sender: TObject);
begin
qCustomer.Active := false;
qCustomer.SQL.Text := 'select * from citys';
qCustomer.Unidirectional := True;
qCustomer.Active := true;
qCustomer.first;
while not qCustomer.eof do
begin
ListBox1.Items.Add(qCustomer.FieldByName('name_city').AsString);
qCustomer.next;
end;
end;
If the property is "Unidirectional = true" values are:
Alabama
Alaska
Arizona
Arkansas
California
If the property is "Unidirectional = false" values are:
Alabama
Alabama
Alabama
Alabama
Alabama
Att
Jonathan Fabricio Seibel