Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Index

Class which represent a database index. Provides attributes and methods for details of the index.

Hierarchy

Index

Properties

Readonly columnsAndExpressions

columnsAndExpressions: (string | Column)[] = ...

List of columns and {@link Expression expressions} of index, in order their ordinal position within the index. If index does not have any columns or {@link Expression expressions} this is empty array. To get only columns use columns method.

Optional Readonly comment

comment: undefined | string

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

Readonly isExclusion

isExclusion: boolean

If true, this index supports an exclusion constraint.

Readonly isPrimaryKey

isPrimaryKey: boolean

If true, this index represents the primary key of the table ({@link Index#isUnique isUnique} is always true for primary keys.)

Readonly isUnique

isUnique: boolean

If true, this is a unique index. Please note that all unique constraints have a unique index created by PostgreSQL automatically, but unique indexes may not have unique constraint.

Readonly name

name: string

Name of the database object.

Readonly oid

oid: number

Object identifier for the Schema

Readonly parent

Parent database object this column belongs to.

Readonly partialIndexExpression

partialIndexExpression: undefined | string

If index is a partial index, partial index expression

Accessors

columns

  • get columns(): default<Column, "name", never, true>
  • List of columns of index, in order their ordinal position within the index. If index does not have any columns this is empty array. Please note that, non reference expressions such as CONCAT(name, surname) is not included. To access expressions and columns together use columnsAndExpressions method.

    Returns default<Column, "name", never, true>

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 database object including parent name.

    Returns string

isPartial

  • get isPartial(): boolean
  • If true, this index is a partial index.

    Returns boolean

materializedView

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

schema

  • Schema this index belongs to.

    Returns Schema

separator

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

    Returns string

table

  • get table(): undefined | Table
  • Table which this index belongs to.

    Returns undefined | Table

Generated using TypeDoc