The PostgreSQL Nymph database driver.

Hierarchy (view full)

Constructors

Properties

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

A cache to make entity retrieval faster.

entityCount: {
    [k: string]: number;
}

A counter for the entity cache to determine the most accessed entities.

link: Pool
nymph: Nymph
prefix: string
tokenizer: Tokenizer
transaction: null | PostgreSQLDriverTransaction = null

Methods

  • Parameters

    Returns boolean

  • Remove all copies of an entity from the cache.

    Parameters

    • guid: string

      The GUID of the entity to remove.

    Returns void

  • Search through a value for an entity reference.

    Parameters

    Returns boolean

    True if the reference is found, false otherwise.

  • Parameters

    • filename: string

    Returns Promise<boolean>

  • Returns Promise<boolean>

  • Parameters

    • svalue: string

    Returns string[]

  • Type Parameters

    Parameters

    • options: Options<T> & {
          return: "count";
      }
    • selectors: Selector[]
    • performQueryCallback: ((data: {
          etype: string;
          options: Options<T>;
          selectors: FormattedSelector[];
      }) => {
          result: any;
      })
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

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

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

          • row: any

          Returns number

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

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row: any) => {
          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: any) => {
          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

    Parameters

    • options: Options<T> & {
          return: "guid";
      }
    • selectors: Selector[]
    • performQueryCallback: ((data: {
          etype: string;
          options: Options<T>;
          selectors: FormattedSelector[];
      }) => {
          result: any;
      })
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

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

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

          • row: any

          Returns number

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

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row: any) => {
          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: any) => {
          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

    Parameters

    • options: Options<T> & {
          return: "object";
      }
    • selectors: Selector[]
    • performQueryCallback: ((data: {
          etype: string;
          options: Options<T>;
          selectors: FormattedSelector[];
      }) => {
          result: any;
      })
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

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

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

          • row: any

          Returns number

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

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row: any) => {
          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: any) => {
          name: string;
          svalue: string;
      })
        • (row): {
              name: string;
              svalue: string;
          }
        • Parameters

          • row: any

          Returns {
              name: string;
              svalue: string;
          }

          • name: string
          • svalue: string

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

  • Type Parameters

    Parameters

    • options: Options<T>
    • selectors: Selector[]
    • performQueryCallback: ((data: {
          etype: string;
          options: Options<T>;
          selectors: FormattedSelector[];
      }) => {
          result: any;
      })
    • rowFetchCallback: (() => any)
        • (): any
        • Returns any

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

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

          • row: any

          Returns number

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

          • row: any

          Returns string

    • getTagsAndDatesCallback: ((row: any) => {
          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: any) => {
          name: string;
          svalue: string;
      })
        • (row): {
              name: string;
              svalue: string;
          }
        • Parameters

          • row: any

          Returns {
              name: string;
              svalue: string;
          }

          • name: string
          • svalue: string

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

  • Parameters

    • filename: string
    • Optionaltransaction: boolean

    Returns Promise<boolean>

  • Parameters

    • text: string
    • Optionaltransaction: boolean

    Returns Promise<boolean>

  • Parameters

    • lines: Iterable<string, any, any>
    • Optionaltransaction: boolean

    Returns Promise<boolean>

  • Initialize the Nymph driver.

    This is meant to be called internally by Nymph. Don't call this directly.

    Parameters

    • nymph: Nymph

      The Nymph instance.

    Returns void

  • Parameters

    • selectors: FormattedSelector[]
    • callback: ((data: {
          key: string;
          typeIsNot: boolean;
          typeIsOr: boolean;
          value: any;
      }) => string)
        • (data): string
        • Parameters

          • data: {
                key: string;
                typeIsNot: boolean;
                typeIsOr: boolean;
                value: any;
            }
            • key: string
            • typeIsNot: boolean
            • typeIsOr: boolean
            • value: any

          Returns string

    Returns string[]

  • Parameters

    • pattern: string
    • subject: string
    • OptionalcaseInsensitive: boolean

    Returns boolean

  • Pull an entity from the cache.

    Parameters

    • guid: string

      The entity's GUID.

    Returns null | {
        cdate: number;
        data: EntityData;
        guid: string;
        mdate: number;
        sdata: SerializedEntityData;
        tags: string[];
    }

    The entity's data or null if it's not cached.

  • Push an entity onto the cache.

    Parameters

    • guid: string

      The entity's GUID.

    • cdate: number

      The entity's cdate.

    • mdate: number

      The entity's mdate.

    • tags: string[]

      The entity's tags.

    • data: EntityData

      The entity's data.

    • sdata: SerializedEntityData

      The entity's sdata.

    Returns void

  • Parameters

    • entity: EntityInterface
    • saveNewEntityCallback: ((data: {
          cdate: number;
          data: EntityData;
          entity: EntityInterface;
          etype: string;
          guid: string;
          sdata: SerializedEntityData;
          tags: string[];
          uniques: string[];
      }) => Promise<boolean>)
    • saveExistingEntityCallback: ((data: {
          data: EntityData;
          entity: EntityInterface;
          etype: string;
          guid: string;
          mdate: number;
          sdata: SerializedEntityData;
          tags: string[];
          uniques: string[];
      }) => Promise<boolean>)
    • OptionalstartTransactionCallback: null | (() => Promise<void>)
    • OptionalcommitTransactionCallback: null | ((success: boolean) => Promise<boolean>)

    Returns Promise<boolean>