@ckirg/corelib - v0.4.1
    Preparing search index...

    Interface DbDriver

    Core interface for database drivers. All dialect-specific drivers (Postgres, SQLite, etc.) must implement this. This ensures a consistent API for database operations across different storage engines.

    interface DbDriver {
        beginTransaction(): Promise<void>;
        commitTransaction(): Promise<void>;
        connect(): Promise<void>;
        disconnect(): Promise<void>;
        prepare(sql: string): Promise<DatabaseResult<PreparedDriverStatement>>;
        query<T = unknown>(
            sql: string,
            params?: QueryParams,
        ): Promise<DatabaseResult<QueryResponse<T>>>;
        rollbackTransaction(): Promise<void>;
        stream<T = unknown>(
            sql: string,
            params: QueryParams,
            onRow: (row: T) => void,
        ): Promise<DatabaseResult<void>>;
    }

    Implemented by

    Index
    • Streams the results of an SQL query row by row.

      Type Parameters

      • T = unknown

        The expected type of each row.

      Parameters

      • sql: string

        The SQL query string.

      • params: QueryParams

        Parameters for the query.

      • onRow: (row: T) => void

        Callback function called for each row.

      Returns Promise<DatabaseResult<void>>

      A promise that resolves when the stream finishes.