The PostgreSQL Nymph database driver.

Hierarchy

  • default
    • PostgreSQLDriver

Constructors

Properties

connected: boolean = false
entityCache: {
    [k: string]: {
        cdate: number;
        data: EntityData;
        mdate: number;
        sdata: SerializedEntityData;
        tags: string[];
    };
}

Type declaration

  • [k: string]: {
        cdate: number;
        data: EntityData;
        mdate: number;
        sdata: SerializedEntityData;
        tags: string[];
    }
    • cdate: number
    • data: EntityData
    • mdate: number
    • sdata: SerializedEntityData
    • tags: string[]
entityCount: {
    [k: string]: number;
}

Type declaration

  • [k: string]: number
link: Pool
nymph: default
postgresqlConfig: PoolConfig
prefix: string
transaction: null | PostgreSQLDriverTransaction = null

Methods

  • Parameters

    • data: EntityData
    • sdata: SerializedEntityData
    • selectors: Selector[]
    • Optional guid: null | string
    • Optional tags: null | string[]

    Returns boolean

  • Parameters

    • guid: string

    Returns void

  • Connect to the PostgreSQL database.

    Returns Promise<true>

    Whether this instance is connected to a PostgreSQL database.

  • Create entity tables in the database.

    Parameters

    • etype: null | string = null

      The entity type to create a table for. If this is blank, the default tables are created.

    Returns Promise<boolean>

    True on success, false on failure.

  • Parameters

    • entity: EntityInterface

    Returns Promise<boolean>

  • Parameters

    • guid: string
    • Optional className: null | string | EntityConstructor

    Returns Promise<boolean>

  • Disconnect from the PostgreSQL database.

    Returns Promise<false>

    Whether this instance is connected to a PostgreSQL database.

  • Parameters

    • value: any
    • entity: string | EntityInterface | EntityReference | (string | EntityInterface | EntityReference)[]

    Returns boolean

  • Parameters

    • filename: string

    Returns Promise<boolean>

  • Parameters

    • writeLine: ((line) => void)
        • (line): void
        • Parameters

          • line: string

          Returns void

    Returns Promise<void>

  • Returns Promise<boolean>

  • Parameters

    • svalue: string

    Returns string[]

  • Parameters

    • selectors: Selector[]
    • Optional options: Options

    Returns {
        qrefs: [Options, ...FormattedSelector[]][];
        selectors: FormattedSelector[];
    }

    • qrefs: [Options, ...FormattedSelector[]][]
    • selectors: FormattedSelector[]
  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • options: Options<T> & {
          return: "count";
      }
    • selectors: Selector[]
    • performQueryCallback: ((options, formattedSelectors, etype) => {
          result: any;
      })
        • (options, formattedSelectors, etype): {
              result: any;
          }
        • Parameters

          • options: Options<T>
          • formattedSelectors: FormattedSelector[]
          • etype: string

          Returns {
              result: any;
          }

          • result: any
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

    • freeResultCallback: (() => void)
        • (): void
        • Returns void

    • getCountCallback: ((row) => number)
        • (row): number
        • Parameters

          • row: any

          Returns number

    • getGUIDCallback: ((row) => string)
        • (row): string
        • Parameters

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row) => {
          cdate: number;
          mdate: number;
          tags: string[];
      })
        • (row): {
              cdate: number;
              mdate: number;
              tags: string[];
          }
        • Parameters

          • row: any

          Returns {
              cdate: number;
              mdate: number;
              tags: string[];
          }

          • cdate: number
          • mdate: number
          • tags: string[]
    • getDataNameAndSValueCallback: ((row) => {
          name: string;
          svalue: string;
      })
        • (row): {
              name: string;
              svalue: string;
          }
        • Parameters

          • row: any

          Returns {
              name: string;
              svalue: string;
          }

          • name: string
          • svalue: string

    Returns {
        process: (() => number | Error);
        result: any;
    }

    • process: (() => number | Error)
        • (): number | Error
        • Returns number | Error

    • result: any
  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • options: Options<T> & {
          return: "guid";
      }
    • selectors: Selector[]
    • performQueryCallback: ((options, formattedSelectors, etype) => {
          result: any;
      })
        • (options, formattedSelectors, etype): {
              result: any;
          }
        • Parameters

          • options: Options<T>
          • formattedSelectors: FormattedSelector[]
          • etype: string

          Returns {
              result: any;
          }

          • result: any
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

    • freeResultCallback: (() => void)
        • (): void
        • Returns void

    • getCountCallback: ((row) => number)
        • (row): number
        • Parameters

          • row: any

          Returns number

    • getGUIDCallback: ((row) => string)
        • (row): string
        • Parameters

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row) => {
          cdate: number;
          mdate: number;
          tags: string[];
      })
        • (row): {
              cdate: number;
              mdate: number;
              tags: string[];
          }
        • Parameters

          • row: any

          Returns {
              cdate: number;
              mdate: number;
              tags: string[];
          }

          • cdate: number
          • mdate: number
          • tags: string[]
    • getDataNameAndSValueCallback: ((row) => {
          name: string;
          svalue: string;
      })
        • (row): {
              name: string;
              svalue: string;
          }
        • Parameters

          • row: any

          Returns {
              name: string;
              svalue: string;
          }

          • name: string
          • svalue: string

    Returns {
        process: (() => string[] | Error);
        result: any;
    }

    • process: (() => string[] | Error)
        • (): string[] | Error
        • Returns string[] | Error

    • result: any
  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • options: Options<T>
    • selectors: Selector[]
    • performQueryCallback: ((options, formattedSelectors, etype) => {
          result: any;
      })
        • (options, formattedSelectors, etype): {
              result: any;
          }
        • Parameters

          • options: Options<T>
          • formattedSelectors: FormattedSelector[]
          • etype: string

          Returns {
              result: any;
          }

          • result: any
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

    • freeResultCallback: (() => void)
        • (): void
        • Returns void

    • getCountCallback: ((row) => number)
        • (row): number
        • Parameters

          • row: any

          Returns number

    • getGUIDCallback: ((row) => string)
        • (row): string
        • Parameters

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row) => {
          cdate: number;
          mdate: number;
          tags: string[];
      })
        • (row): {
              cdate: number;
              mdate: number;
              tags: string[];
          }
        • Parameters

          • row: any

          Returns {
              cdate: number;
              mdate: number;
              tags: string[];
          }

          • cdate: number
          • mdate: number
          • tags: string[]
    • getDataNameAndSValueCallback: ((row) => {
          name: string;
          svalue: string;
      })
        • (row): {
              name: string;
              svalue: string;
          }
        • Parameters

          • row: any

          Returns {
              name: string;
              svalue: string;
          }

          • name: string
          • svalue: string

    Returns {
        process: (() => Error | ReturnType<T["factorySync"]>[]);
        result: any;
    }

    • process: (() => Error | ReturnType<T["factorySync"]>[])
        • (): Error | ReturnType<T["factorySync"]>[]
        • Returns Error | ReturnType<T["factorySync"]>[]

    • result: any
  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • options: Options<T> & {
          return: "count";
      }
    • Rest ...selectors: Selector[]

    Returns Promise<number>

  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • options: Options<T> & {
          return: "guid";
      }
    • Rest ...selectors: Selector[]

    Returns Promise<string[]>

  • Type Parameters

    • T extends EntityConstructor = EntityConstructor

    Parameters

    • Optional options: Options<T>
    • Rest ...selectors: Selector[]

    Returns Promise<ReturnType<T["factorySync"]>[]>

  • Parameters

    • filename: string
    • saveEntityCallback: ((guid, tags, sdata, etype) => Promise<void>)
        • (guid, tags, sdata, etype): Promise<void>
        • Parameters

          • guid: string
          • tags: string[]
          • sdata: SerializedEntityData
          • etype: string

          Returns Promise<void>

    • saveUIDCallback: ((name, value) => Promise<void>)
        • (name, value): Promise<void>
        • Parameters

          • name: string
          • value: number

          Returns Promise<void>

    • Optional startTransactionCallback: null | (() => Promise<void>)
    • Optional commitTransactionCallback: null | (() => Promise<void>)

    Returns Promise<boolean>

  • Parameters

    • nymph: default

    Returns void

  • Parameters

    • selectors: FormattedSelector[]
    • callback: ((key, value, typeIsOr, typeIsNot) => string)
        • (key, value, typeIsOr, typeIsNot): string
        • Parameters

          • key: string
          • value: any
          • typeIsOr: boolean
          • typeIsNot: boolean

          Returns string

    Returns string[]

  • Generate the PostgreSQL query.

    Parameters

    • options: Options

      The options array.

    • formattedSelectors: FormattedSelector[]

      The formatted selector array.

    • etype: string
    • count: {
          i: number;
      } = ...

      Used to track internal params.

      • i: number
    • params: {
          [k: string]: any;
      } = {}

      Used to store internal params.

      • [k: string]: any
    • subquery: boolean = false

      Whether only a subquery should be returned.

    • tableSuffix: string = ''
    • etypes: string[] = []

    Returns {
        etypes: string[];
        params: {
            [k: string]: any;
        };
        query: string;
    }

    The SQL query.

    • etypes: string[]
    • params: {
          [k: string]: any;
      }
      • [k: string]: any
    • query: string
  • Parameters

    • options: Options
    • formattedSelectors: FormattedSelector[]
    • etype: string

    Returns {
        result: any;
    }

    • result: any
  • Parameters

    • pattern: string
    • subject: string
    • Optional caseInsensitive: boolean

    Returns boolean

  • Type Parameters

    • T extends EntityInterface = EntityInterface

    Parameters

    • guid: string
    • className: string
    • Optional useSkipAc: boolean

    Returns null | T

  • Parameters

    • guid: string
    • cdate: number
    • mdate: number
    • tags: string[]
    • data: EntityData
    • sdata: SerializedEntityData

    Returns void

  • Type Parameters

    • T extends (() => any)

    Parameters

    • runQuery: T
    • query: string
    • etypes: string[] = []

    Returns ReturnType<T>

  • Parameters

    • query: string
    • __namedParameters: {
          etypes?: string[];
          params?: {
              [k: string]: any;
          };
      } = {}
      • Optional etypes?: string[]
      • Optional params?: {
            [k: string]: any;
        }
        • [k: string]: any

    Returns Promise<any>

  • Parameters

    • query: string
    • __namedParameters: {
          etypes?: string[];
          params?: {
              [k: string]: any;
          };
      } = {}
      • Optional etypes?: string[]
      • Optional params?: {
            [k: string]: any;
        }
        • [k: string]: any

    Returns Promise<any[]>

  • Parameters

    • query: string
    • __namedParameters: {
          etypes?: string[];
          params?: {
              [k: string]: any;
          };
      } = {}
      • Optional etypes?: string[]
      • Optional params?: {
            [k: string]: any;
        }
        • [k: string]: any

    Returns Promise<{
        rowCount: number;
    }>

  • Parameters

    • entity: EntityInterface
    • saveNewEntityCallback: ((entity, guid, tags, data, sdata, cdate, etype) => Promise<boolean>)
        • (entity, guid, tags, data, sdata, cdate, etype): Promise<boolean>
        • Parameters

          • entity: EntityInterface
          • guid: string
          • tags: string[]
          • data: EntityData
          • sdata: SerializedEntityData
          • cdate: number
          • etype: string

          Returns Promise<boolean>

    • saveExistingEntityCallback: ((entity, guid, tags, data, sdata, mdate, etype) => Promise<boolean>)
        • (entity, guid, tags, data, sdata, mdate, etype): Promise<boolean>
        • Parameters

          • entity: EntityInterface
          • guid: string
          • tags: string[]
          • data: EntityData
          • sdata: SerializedEntityData
          • mdate: number
          • etype: string

          Returns Promise<boolean>

    • Optional startTransactionCallback: null | (() => Promise<void>)
    • Optional commitTransactionCallback: null | ((success) => Promise<boolean>)

    Returns Promise<boolean>

  • Parameters

    • origQuery: string
    • origParams: {
          [k: string]: any;
      }
      • [k: string]: any

    Returns {
        params: any[];
        query: string;
    }

    • params: any[]
    • query: string

Generated using TypeDoc