Base Objects
Root object type | |
Root for user-defined object types |
std::BaseObject
is the root of the object type hierarchy and all object
types in EdgeDB, including system types, extend it either directly or
indirectly. User-defined object types extend from std::Object
type, which is a subtype of std::BaseObject
.
BaseObject
The root object type.
Definition:
Copy
abstract type std::BaseObject {
# Universally unique object identifier
required id: uuid {
default := (select std::uuid_generate_v1mc());
readonly := true;
constraint exclusive;
}
# Object type in the information schema.
required readonly __type__: schema::ObjectType;
}
Subtypes may override the id
property, but only with a valid UUID
generation function. Currently, these are uuid_generate_v1mc()
and uuid_generate_v4()
.