Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BaseType

Class which represent a user defined PostgreSQL base type. Provides attributes and methods for details of the base type.

Hierarchy

Index

Properties

Readonly arrayOid

arrayOid: number

If typarray is not 0 then it identifies another row in pg_type, which is the array type having this type as element.

category

category: TypeCategory

An arbitrary classification of PostgreSQL data types that is used by the PostgreSQL parser to determine which implicit casts should be “preferred”. See related doc here

Readonly classOid

classOid: number

Object identifier of PostgreSQL class (pg_catalog.pg_class) for the Entity

Optional Readonly comment

comment: undefined | string

Comment of the database object defined in database including {@link DbObject#commentData comment data}.

hasLength

hasLength: boolean

Whether the type has length property.

hasPrecision

hasPrecision: boolean

Whether the type has precision property.

hasScale

hasScale: boolean

Whether the type has scale property.

Optional Readonly internalName

internalName: undefined | string

Internal name of type. Available for some builtin types.

Example

const name = doublePrecisionType.name; // double precision
const shortName = doublePrecisionType.internalName; // float8

Readonly name

name: string

Name of the database object.

Optional numericType

numericType: undefined | Integer | Exact | Floating

If type is a numeric type, its numerical type. If type is non-numeric this is undefined. For TypeScript it is an enum of NumericType.Integer, NumericType.Exact or NumericType.Floating. For JavaScript ir is a string of Integer, Exact or Floating.

Readonly oid

oid: number

Object identifier for the Entity

schema

schema: Schema

Schema this type belongs to.

Optional Readonly shortName

shortName: undefined | string

Short name of type. Available for some builtin types.

Example

const name = timetzType.name; // time with time zone
const shortName = timetzType.shortName; // time with time zone
const name2 = varcharType.name; // character varying
const shortName2 = varcharType.name; // varchar

Accessors

commentData

  • get commentData(): undefined | null | string | number | boolean | JSONObject | JSONArray
  • Data which is extracted from database object's comment. Data is extracted from text between special case-insensitive tag (default: [pg-structure][/pg-structure]) and converted to JavaScript object using JSON5. Token name can be specified by using commentDataToken arguments. For details of JSON5, see it's web site: https://json5.org.

    Example

    // "Account details. [pg-structure]{ extraData: 2 }[/pg-structure] Also used for logging."
    table.comment;               // "Account details. [pg-structure]{ extraData: 2 }[/pg-structure] Also used for logging."
    table.commentWithoutData;    // "Account details.  Also used for logging."
    table.commentData;           // { extraData: 2 }
    table.commentData.extraData; // 2
    

    Returns undefined | null | string | number | boolean | JSONObject | JSONArray

commentWithoutData

  • get commentWithoutData(): undefined | string
  • Description or comment of the database object defined in database. If comment contains {@link DbObject#commentData comment data}, it is removed.

    Example

    // "Account details. [pg-structure]{ extraData: 2 }[/pg-structure] Also used for logging."
    table.commentWithoutData;    // "Account details.  Also used for logging."
    

    Returns undefined | string

db

  • get db(): Db
  • Database of the database object.

    Returns Db

fullCatalogName

  • get fullCatalogName(): string
  • Full name of the database object including database name.

    Returns string

fullName

  • get fullName(): string
  • Full name of the object with '.' notation including Schema name.

    Example

    const fullName = type.fullName; // public.phone_number
    

    Returns string

nameCaseType

  • Letter casing (i.e snakeCase or camelCase) of the database object name.

    Example

    const name = entity.name;                        // ProductDetail
    const caseType = entity.nameCaseType;            // camelCase
    
    const otherEntity = otherEntity.name;            // member_protocol
    const otherCaseType = otherEntity.nameCaseType;  // snakeCase
    

    Returns CaseType

separator

  • get separator(): string
  • Separator used in database object name. Empty string for came case and underscore for (_) snake case.

    Returns string

Generated using TypeDoc