Remix
Remix
remix/data-table/postgres · ClassView Source

PostgresDatabaseAdapter

Summary

DatabaseAdapter implementation for postgres-compatible clients.

Signature

class PostgresDatabaseAdapter {
  constructor(client: PostgresQueryable): PostgresDatabaseAdapter;

  // Properties
  capabilities: {
    migrationLock: boolean;
    returning: boolean;
    savepoints: boolean;
    transactionalDdl: boolean;
    upsert: boolean;
  };
  dialect: string;

  // Methods
  acquireMigrationLock(): Promise<void>;
  beginTransaction(options: TransactionOptions): Promise<TransactionToken>;
  commitTransaction(token: TransactionToken): Promise<void>;
  compileSql(operation: DataManipulationOperation): SqlStatement[];
  createSavepoint(token: TransactionToken, name: string): Promise<void>;
  execute(request: DataManipulationRequest): Promise<DataManipulationResult>;
  executeScript(sql: string, transaction: TransactionToken): Promise<void>;
  hasColumn(
    table: TableRef,
    column: string,
    transaction: TransactionToken,
  ): Promise<boolean>;
  hasTable(table: TableRef, transaction: TransactionToken): Promise<boolean>;
  releaseMigrationLock(): Promise<void>;
  releaseSavepoint(token: TransactionToken, name: string): Promise<void>;
  rollbackToSavepoint(token: TransactionToken, name: string): Promise<void>;
  rollbackTransaction(token: TransactionToken): Promise<void>;
}

Properties

capabilities

Feature flags describing the postgres behaviors supported by this adapter.

dialect

The SQL dialect identifier reported by this adapter.

Methods

acquireMigrationLock(): Promise<void>

Acquires the postgres migration lock.

beginTransaction(options: TransactionOptions): Promise<TransactionToken>

Starts a postgres transaction.

Parameters

options

Transaction options.

commitTransaction(token: TransactionToken): Promise<void>

Commits an open postgres transaction.

Parameters

token

Transaction token to commit.

compileSql(operation: DataManipulationOperation): SqlStatement[]

Compiles a data-manipulation operation to postgres SQL statements.

Parameters

operation

Operation to compile.

createSavepoint(token: TransactionToken, name: string): Promise<void>

Creates a savepoint in an open postgres transaction.

Parameters

token

Transaction token to use.

name

Savepoint name.

execute(request: DataManipulationRequest): Promise<DataManipulationResult>

Executes a postgres data-manipulation request.

Parameters

request

Request to execute.

executeScript(sql: string, transaction: TransactionToken): Promise<void>

Executes a multi-statement postgres SQL script.

Postgres natively supports multi-statement scripts when query is called without a parameter array.

Parameters

sql

SQL script to execute.

transaction

Optional transaction token.

hasColumn(table: TableRef, column: string, transaction: TransactionToken): Promise<boolean>

Checks whether a column exists in postgres.

Parameters

table

Table reference to inspect.

column

Column name to look up.

transaction

Optional transaction token.

hasTable(table: TableRef, transaction: TransactionToken): Promise<boolean>

Checks whether a table exists in postgres.

Parameters

table

Table reference to inspect.

transaction

Optional transaction token.

releaseMigrationLock(): Promise<void>

Releases the postgres migration lock.

releaseSavepoint(token: TransactionToken, name: string): Promise<void>

Releases a savepoint in an open postgres transaction.

Parameters

token

Transaction token to use.

name

Savepoint name.

rollbackToSavepoint(token: TransactionToken, name: string): Promise<void>

Rolls back to a savepoint in an open postgres transaction.

Parameters

token

Transaction token to use.

name

Savepoint name.

rollbackTransaction(token: TransactionToken): Promise<void>

Rolls back an open postgres transaction.

Parameters

token

Transaction token to roll back.