[Zope-dev] Experiments with ORMapping
Shane Hathaway
shane@digicool.com
Fri, 11 May 2001 17:42:23 -0400
"Phillip J. Eby" wrote:
>
> At 11:01 AM 5/11/01 -0400, Shane Hathaway wrote:
> >Joachim Werner wrote:
> > >
> > > The current design plans of SmartObjects are mainly based on the assumption
> > > that we will not be able to change Zope itself. This is not a dogma for us,
> > > however. I guess doing OR-mapping in the Zope core would be fine with
> > us ;-)
> >
> >FYI by replacing I don't mean changing anything in the Zope core. I
> >mean using a different class in place of Connection, which you can do
> >just by creating a custom_zodb.py.
>
> Hm. So you're suggesting creation of a Storage class that returns a
> special root object which emulates the standard ZODB root
> PersistentMapping, and contains another object that emulates a folder, with
> a bunch of other foldoids that are actually tables, or something of that
> sort? And maybe exposes some query methods ala ZCatalog?
No. The suggestion was to return something that implements the DB
interface but doesn't use Connection.py to do it.
> I'm not quite clear on how exactly you suggest mapping from RDMBS ->
> ZODB. There's a *significant* (IMHO) impedance mismatch between ZODB's
> arbitrarily identified variably structured single records and SQL's
> content-identified fixed-structure record sets. This is what application
> frameworks/toolkits (such as your own DBAPI product) are needed for.
If you implement this at the Storage level, yes, there is a major
mismatch. But at the Connection level it makes a lot of sense.
Connection basically exposes a pile of pickles as objects; an OR mapping
exposes a complex schema as objects.
I think that understanding will change the rest of your response. :-)
Shane