Yes, Steve, it's true that triggers do have much of the same 
functionality as this kind of proposal, but as you say, part of the 
proposal is to make these hopefully work with future non-SQL databases 
(although, admittedly, that's only a small piece of the puzzle).

To be honest, my main drive is to have a nice, easy denormalisation API 
for Django; whether this means implementing triggers in all the database 
backends and using them behind this kind of API remains to be seen. The 
problems I can see with this at the moment are that:

 1) If you change a DenormField, there's less writing 
migrations/fiddling with the database than if we managed it all in 
Django code (where you could just resync)
 2) Triggers are a whole part of SQL Django just hasn't touched yet, and 
implementing support for them will take a reasonable amount of work in 
both debugging and testing for each backend.

I'd really like to go ahead and implement this stuff 'vanilla' at first, 
relying on the tried-and-tested field and signal code, and then if it 
gets popular, add in the option to run denormalisations using triggers 
rather than inside Django. That way, we eventually end up with the best 
of both worlds, and get people using more efficient schemas first, which 
they can then easily bake into triggers when they come along, and if 
their DB supports them.

Andrew


Steve Holden wrote:
> This appears to be a proposal to re-implement triggers inside Django.
>
> I can see there are benefits if the underlying DB platform won't support
> triggers, but wouldn't triggers be the preferred solution when they're
> available? That way there is no chance that changes can be made outside
> the scope of the denormalization, and hence no need to recompute the
> denormalized values.
>
> regards
>  Steve
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to