Page 1 of 1

DataLoadOption problem

Posted: Tue 26 Oct 2010 08:15
by ketchup
Hi!

DataLoadOption creates wrong sql querie while using three tables in relation
Parent->Child->Child2

It generates inner join instead of left join.

For example:

DataloadOption lo = new DataLoadOption();
lo.LoadWith(p->Customer)
lo.LoadWith(p=>Adress)

In this example Customer may or may not hold Adress so left join is better than inner join.

We are using dotConnet 1.0.42

Posted: Wed 27 Oct 2010 10:45
by StanislavK
I will send you a test project in a letter, please check that it was not blocked by your mail filter.

The expected behaviour for such situation is that the following SQL commands will be executed:
1) a select with 'left outer join' to get master rows and depending child rows;
2) multiple selects with 'where childId = parameter0' to get rows from child2 that are referencing child rows retrieved in the first point.
Such behaviour is designed to prevent performance loss caused by slow multiple outer joins.

Please describe the behaviour you are observing in your environment; if it differs from the expected one, please specify what should be changed in the sample project to reproduce the issue.

Posted: Wed 27 Oct 2010 16:02
by ketchup
Hi!

I've received a test project. I will test it at work tomorrow. Thx.

Posted: Thu 28 Oct 2010 11:03
by ketchup
We have investigated the problem again in our environment and it is more complicated then I described yesterday.

It looks that if we have only one level with child tables everything is OK, LEFT outer join is used.
But when we have two level child tables first is left outer join and the second one is inne join.

Example:
DataloadOption lo = new DataLoadOption();
lo.LoadWith(p->Customer)
lo.LoadWith(p=>Adress)
lo.LoadWith(p->Supplier)
lo.LoadWith(p=>ContactDetail)

Now we are trying to reproduce this issue using an example send by you.

Posted: Thu 28 Oct 2010 15:39
by StanislavK
If the problem cannot be reproduced on the sample I've sent, you can specify the definitions of the database objects used in your application, or send us the model with which the problem occurs. If possible, please send us a complete small sample with which the problem can be reproduced.

Posted: Fri 29 Oct 2010 17:25
by ketchup
I've sent you an example with the problem via e-mail.

Posted: Mon 01 Nov 2010 14:52
by StanislavK
Thank you for your assistance, we have reproduced the issue. We will investigate it and inform you about the results.

Posted: Fri 05 Nov 2010 07:43
by ketchup
Any new information ?

Posted: Fri 05 Nov 2010 15:32
by StanislavK
We are working on the issue, and will inform you as soon as possible.

Posted: Sun 28 Nov 2010 18:14
by ketchup
For nearly a month we did not obtain any messages about the issue. Will it be fixed in next version?

Posted: Mon 29 Nov 2010 10:00
by StanislavK
The problem is fixed; the fix will be available in the nearest build which we plan to release in several days.

Posted: Tue 30 Nov 2010 17:53
by StanislavK
We have released dotConnect for Oracle 6 where this issue is fixed. The new build can be downloaded from
http://www.devart.com/dotconnect/oracle/download.html
(the trial version) or from Registered Users' Area (for users with active subscription only):
http://secure.devart.com/

For the detailed information on fixes and improvements available in dotConnect for Oracle 6, please refer to
http://www.devart.com/forums/viewtopic.php?t=19624