Forum OpenACS Development: Response to PG Object Extensions - pros and cons

Collapse
Posted by Don Baccus on
Thanks for the thoughtful response, Dan.

First let me make it clear that I'm thoroughly on the fence on this one, and have flip-flopped numerous times, much to Ben's disgust (as he leans somewhat to the "in favor" side of the argument).

You're right that the users and user_groups tables are the only (shall  we say) sophisticated users of the acs_objects framework, so the join  problem is minimal, perhaps.  On the other hand, these two tables are  used a *lot*.  Still, the efficiency issue is up in the air.

The major bottleneck in ACS 4 seems to be way in which the generalized  permissions system is used - I'm sure you've seen some of the threads  in web/db in regard to this.  The permissions bottleneck wouldn't be affected either way by a decision to use PG inheritance, so my thinking that we might see an efficiency gain is probably not correct.  Any gain seems likely to be swamped by the time consumed by the constant checking of permissions.

Regarding SQL92, yeah, that's important to me.  The PG inheritance scheme is moving towards SQL3 compliance, but isn't there yet.  I would assume that other SQL engine implementors are working towards, or already support, SQL3 inheritance but am not sure.  Since the SQL standards committee is likely dominated by RDBMS providers (based on my experience with standards committees for other languages), it is likely that the drive for standardization in this area was driven by RDBMS makers, probably because their customers want ORDBMS features.

But ... I've not done a survey, and in particular don't know if IB implements SQL3 inheritance.

Does anyone else?

Given that ACS 4x makes relatively minimal use of acs_objects in the first place, we may be making a mountain out of a molehill anyway.  By  the time ACS 5 arrives PG should have much better support for inheritance, strengthening the argument in favor at that point in time...