You guys have been a lot of help. This is the idea I've gotten from the
discussion we've had.
Three tables:
1) Method table
I did not mention this, because I pretty much already had the idea down.
It will have the following columns:
<objID><owner><flags><params><code>
Where <code> is a text entry that has stored some code in a language
which this server will use, which is run through a
tokenizer/lexer/parser/virtual machine when necessary. While the methods are
inherieted as well, they're inherieted as-is, you cannot change a method on
a child object unless you create a new one and overload a parent's method.
2) Object table
<objID><flags><owner><parent><childCount><propCount><methodCount>
3) Property table
<objID><flags><owner><name><type><value>
Type refers to an int value that represents an in-server datatype. The main
difference is that I realized that I wouldn't necessarily need a row for
EVERY property, only if a property is different than the value stored on the
parent object. If its the same, it can have no entry and the code will just
look to its parent (and its parent's parent, and so on) until it finds the
correct value to inheriet. I think that will reduce the number of rows
significently, if add a couple of CPU cycles but I think it will make up for
it in the querying.