Base objects​

BaseObject Root object type
Object 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 std::BaseObject directly or indirectly. User-defined object types extend from std::Object, which is a subtype of std::BaseObject.

type

BaseObject

Base objects - 图1

BaseObject

Root object type.

Definition:


1. abstract type std::BaseObject {
2. # Universally unique object identifier
3. required property id -> uuid {
4. default := (select std::uuid_generate_v1mc());
5. readonly := true;
6. constraint exclusive;
7. }

9. # Object type in the information schema.
10. required readonly link __type__ -> schema::ObjectType;
11. }

type

Object

Base objects - 图2

Object

Root object type for user-defined types.

Definition:


1. abstract type std::Object extending std::BaseObject;