surinder-insonix / datanucleus-appengine

Automatically exported from code.google.com/p/datanucleus-appengine
0 stars 0 forks source link

Remove restrictions on "inheritance" since going to persist as "complete-table" anyway #295

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
All other DataNucleus store plugins except RDBMS don't use inheritance 
information, since they persist the whole of the object into a single "table" 
(or equivalent). The GAE plugin should do the same particularly since the 
current storage version stores any related objects as Keys in a property of the 
owning objects. Removal of these restrictions would mean that inheritance is no 
longer a limiting factor on portability, unlike now where the majority of 
models that come from RDBMS need the inheritance info updating to work here

Original issue reported on code.google.com by googleco...@yahoo.co.uk on 18 Aug 2012 at 12:46

GoogleCodeExporter commented 8 years ago
Yes please support this. Especially the SINGLE_TABLE type.
Posted similar issue on googleappengine: 
http://code.google.com/p/googleappengine/issues/detail?id=8366

Original comment by marceloverdijk on 31 Oct 2012 at 9:49

GoogleCodeExporter commented 8 years ago
Note that this is *not* to support SINGLE_TABLE or any other inheritance 
strategy. It is to remove the "checks" on inheritance strategy, since the data 
is going to be persisted as "COMPLETE_TABLE" anyway (i.e objects of a class 
have all fields persisted as properties in the same Kind). Potentially a user 
could also specify multiple classes (in the same inheritance tree, or 
otherwise) to have the same "table" (i.e same Kind) so they occupy the same 
storage space - but they will need a discriminator in that situation.

Original comment by googleco...@yahoo.co.uk on 1 Nov 2012 at 11:48