Light
Dark
System

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
BaseObject

Root object type.

Definition:

Copy
abstract type std::BaseObject {
    # Universally unique object identifier
    required property id -> uuid {
        default := (select std::uuid_generate_v1mc());
        readonly := true;
        constraint exclusive;
    }

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

Subtypes may override the id property, but only to valid uuid generation functions. Currently, these are uuid_generate_v1mc() and uuid_generate_v4().

type
Object
Object

Root object type for user-defined types.

Definition:

Copy
abstract type std::Object extending std::BaseObject;
Light
Dark
System