Types and Domains

module: pyrseas.dbobject.dbtype

The dbtype module defines six classes, DbType derived from DbSchemaObject, BaseType, Composite, Enum and Domain derived from DbType, and TypeDict derived from and DbObjectDict.

Database Type

Class DbType is derived from ~pyrseas.dbobject.DbSchemaObject and represents a SQL type or domain as defined in the PostgreSQL pg_type catalog. Note: Only enumerated types are implemented currently.

autoclass: DbType

Base Type

BaseType is derived from ~pyrseas.dbobject.DbType and represents a PostgreSQL user-defined base type.

The map returned by to_map and expected as argument by diff_map has the following structure (not all fields need be present):

{'type t1':
    {'alignment': 'double',
     'analyze': 'analyze_func',
     'input': 'input_func',
     'internallength': 'variable',
     'output': 'output_func',
     'receive': 'receive_func',
     'send': 'send_func',
     'storage': 'plain'
     'typmod_in': 'typmod_in_func',
     'typmod_out': 'typmod_out_func'
    }
}
autoclass: BaseType

automethod: BaseType.to_map

automethod: BaseType.create

automethod: BaseType.drop

Composite

Composite is derived from ~pyrseas.dbobject.DbType and represents a standalone composite type.

autoclass: Composite

automethod: Composite.to_map

automethod: Composite.create

automethod: Composite.diff_map

Enum

Enum is derived from ~pyrseas.dbobject.DbType and represents an enumerated type.

autoclass: Enum

automethod: Enum.create

Domain

Domain is derived from ~pyrseas.dbobject.DbType and represents a domain.

autoclass: Domain

automethod: Domain.to_map

automethod: Domain.create

Type Dictionary

TypeDict is derived from ~pyrseas.dbobject.DbObjectDict. It is a dictionary that represents the collection of domains and enums in a database.

autoclass: TypeDict

automethod: TypeDict.from_map

automethod: TypeDict.link_refs

automethod: TypeDict.diff_map