[TransWarp] TableDM proof of concept, request for comments
Phillip J. Eby
pje at telecommunity.com
Fri Oct 10 12:22:30 EDT 2003
At 03:09 PM 10/10/03 +0200, Ulrich Eck wrote:
>what would be the preferred way of collaborating on this ?
Beats me. My headache right now is that the scope of the open design
decisions are too broad for me to think clearly about. So, I need to find
a way to reduce the solution space a bit. I'm thinking the best thing for
me to do is work on refactoring the existing peak.model.queries system to
look like the "selector" system, but without any support for SQL, etc. as
yet. That would make them only useful with e.g. UML models, but that's
better than nothing.
Some of my requirements for the query system:
* It should be possible to express the logical equivalent of virtually any
OQL that doesn't involve aggregates or structures
* It should be possible to use a selector as a fast filter against
in-memory Python objects
* It should be possible to use a selector as a precondition for a business
rule or other dispatch operation (e.g. selectors should be adaptable to
peak.util.dispatch.IRule)
* Ideally, there should be a way to express more than just filtering via
selectors. See http://www.orm.net/queries.html for ideas.
With a well-written foundation for expressing queries, it would narrow the
design scope to just the issues of schemas, tables, and adapters
thereto. Actually, the next step after a model for expressing object-level
queries, would be a model for expressing relational ones, independent of
SQL syntax, but translatable to SQL, the way Castor's database "drivers"
do. That may or may not end up influencing the design of the table/schema
metamodel.
Another place to look is the CWM spec; CWM already includes metamodels for
tables, indexes, keys, queries, expressions, and a whole lot more. We may
not use that metamodel directly, but it's certainly worth looking at.
More information about the PEAK
mailing list