Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO/DBStore](Ordered -> cross tables)
[CDO/DBStore] [message #1018817] Thu, 14 March 2013 14:25 Go to next message
Joe Sobeos is currently offline Joe SobeosFriend
Messages: 14
Registered: May 2012
Junior Member
Hi,

DBStore is always generating cross (-> unnecessary joins...) tables (E1_E2_LIST) for 1:n relationships no matter if the entity is flagged as Ordered = false.
It is mapped without unnecessary cross tables if flagged as Transient (why is it stored here anyway?), but then the data is not loaded.

Best regards,

Joe
Re: [CDO/DBStore] [message #1018851 is a reply to message #1018817] Thu, 14 March 2013 15:12 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Am 14.03.2013 15:25, schrieb Joe Sobeos:
> Hi,
>
> DBStore is always generating cross (-> unnecessary joins...) tables (E1_E2_LIST) for 1:n relationships no matter if
> the entity is flagged as Ordered = false.
Yes.

> It is mapped without unnecessary cross tables if flagged as Transient
By "it" you mean the EStructuralFeature?

> (why is it stored here anyway?),
Why is what stored?

> but then the data is not loaded.
What data?

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Re: [CDO/DBStore] [message #1021018 is a reply to message #1018851] Tue, 19 March 2013 11:27 Go to previous messageGo to next message
Joe Sobeos is currently offline Joe SobeosFriend
Messages: 14
Registered: May 2012
Junior Member
> DBStore is always generating cross (-> unnecessary joins...) tables (E1_E2_LIST) >> Yes.

Why?

> It is mapped without unnecessary cross tables if flagged as Transient
>> By "it" you mean the EStructuralFeature?

EReferences are mapped without ...

> (why is it stored here anyway?),
> Why is what stored?

Why are EReferences flagged as Transient stored anyway?

> but then the data is not loaded. (using Transient)
>> What data?

getEReferenceXYZ() is returning an empty list.

Best regards,

Joe
Re: [CDO/DBStore] [message #1021045 is a reply to message #1021018] Tue, 19 March 2013 12:33 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Am 19.03.2013 12:27, schrieb Joe Sobeos:
>> DBStore is always generating cross (-> unnecessary joins...) tables (E1_E2_LIST) >> Yes.
>
> Why?
Mostly because noone has spent effort on optimizing the performance of these. Unordered one-to-many references could be
mapped to foreign keys that point in the *opposite* direction. That's not just a minor code change and not everybody
might want to have that.

>
>> It is mapped without unnecessary cross tables if flagged as Transient
>>> By "it" you mean the EStructuralFeature?
>
> EReferences are mapped without ...
Single-valued, you mean? Yes, they're mapped like attributes.

>
>> (why is it stored here anyway?), Why is what stored?
>
> Why are EReferences flagged as Transient stored anyway?
You may have overlooked my question above.

>
>> but then the data is not loaded. (using Transient)
>>> What data?
>
> getEReferenceXYZ() is returning an empty list.
I hoped you take the effort to describe more of your model and your application, so that I'm able to understand what
your problem is. But you didn't ;-(

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Re: [CDO/DBStore] [message #1021761 is a reply to message #1021045] Wed, 20 March 2013 16:25 Go to previous messageGo to next message
Joe Sobeos is currently offline Joe SobeosFriend
Messages: 14
Registered: May 2012
Junior Member
> I hoped you take the effort to describe more of your model and your application,
> so that I'm able to understand what
> your problem is. But you didn't ;-(

My problem is that CDO/DBStore does not care about performance.
Especially about the count of executedsql queries.
The "1:n relationships" implementation is only one example.
I don't see why you need more information about the model.
I asked two simple questions.

The first question is answered, but I still don't understand why CDO/DbStore is storing EStructuralFeatures flagged as Transient in the database.

For me Transient means do not serialize and do not store to database, but perhaps here I'm wrong.

Thanks for your help,

Joe
Re: [CDO/DBStore] [message #1021802 is a reply to message #1021761] Wed, 20 March 2013 17:58 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Am 20.03.2013 17:25, schrieb Joe Sobeos:
>> I hoped you take the effort to describe more of your model and your application, so that I'm able to understand what
>> your problem is. But you didn't ;-(
>
> My problem is that CDO/DBStore does not care about performance. Especially about the count of executedsql queries.
> The "1:n relationships" implementation is only one example.
I agree, it would be awesome to have a better mapping for the unordered 1:n case. It just a lot of effort that noone has
done, yet.

What are the other examples?

> I don't see why you need more information about the model.
Ok.

> I asked two simple questions.
>
> The first question is answered, but I still don't understand why CDO/DbStore is storing EStructuralFeatures flagged as
> Transient in the database.
I don't think it does and you didn't provide more evidence/infos for your assertion.

> For me Transient means do not serialize and do not store to database,
Yes.

> but perhaps here I'm wrong.
No.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Previous Topic:[CDO/EMF] latest stable integration build, code compatibility
Next Topic:CDO export/import of data
Goto Forum:
  


Current Time: Thu Nov 20 21:03:37 GMT 2014

Powered by FUDForum. Page generated in 0.02375 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software