Andrew Hammond wrote:
On 3/12/07, Richard Huxton <dev@archonet.com> wrote:
Josh Berkus wrote:
> I really don't see any way you could implement UDFs other than EAV that
> wouldn't be immensely awkward, or result in executing DDL at runtime.
What's so horrible about DDL at runtime? Obviously, you're only going to
allow specific additions to specific schemas/tables, but why not?
More to the point, since EAV is effectively smearing the semantics of
DDL with DML, what, if any of the arguments against doing DDL at
runtime don't apply equally to EAV? Well, aside from being able to say
"hey, I'm not executing DDL at runtime". :)
I see the issue as one of cost: it's substantially harder to implement
DDL at runtime than to work around the problem using EAV. If that
analysis is reasonable, then it would be a very interesting research
project to see how to cut down that cost of implementation.
Well the cost depends on where/how complex the extra fields are. If
you're just talking about adding columns usercol01..NN with different
types and possibly a lookup to a single client_attributes table, it's
not difficult.
Of course, if inheritence worked fully, you could just have core and
user versions of relevant tables.
--
Richard Huxton
Archonet Ltd
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings