Hello Christopher,
Some comments in line ...

Christopher Holtz wrote:

Hello Tuscany,

I am working on building a DAS implementation for an old hierarchical
database and am looking at Tuscany as *the* DAS reference implementation.
Several issues around applyChanges are troubling me and I'm hoping to start
a dialog to address them (or even better get a really obvious answer that
I'm missing)


When a client returns a modified DataGraph back to a DAS instance, that DAS needs some basic information such as which Database, which Table, and which
specific row(s) the now modified data originally came from before it can
start comparing old values, etc.

How does a DAS get this high level information from an incoming DataGraph?
Is there a way to somehow tie the incoming DataGraph back to the initial
Command that produced it?  Holding state in the DAS sounds like cheating
since it would break the fundamental SDO concepts, plus the SDO spec
mentions being able to take a DataGraph produced by one DAS and return it to
another for changes.

The RDB DAS instance is configured with a database connection that it is to work with. Also, the DAS may be configured with metadata regarding the tables it is working with. In the absence of configuration metadata, the DAS can make some assumptions about the mapping of DataObjects to Tables/Columns ( http://wiki.apache.org/ws/ConventionOverConfiguration ).

The DataObject graph change summary contains all the original state as well as any modifications made. The RDB DAS can use this change summary to generated the required database update statements without needing to know the original query.


Assuming we know the database and table somehow, what happens in the case
where the primary key(s) are not included in the DataObject? do we put them in the DataObject anyways during retrieval. And even so what about the case
where the table has no unique primary key (is that even legal in the
relational world)?

The metadata the DAS instance is created with may include primary key definitions. If there is no key definitions then the DAS will make assumptions about the key (convention over config again). If there is no PK config info and there are no matching conventions then the DAS will throw an error since it requires a PK to generate the needed update statements.


Thanks,
Chris




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to