tedious
Version:
A TDS driver, for connecting to MS SQLServer databases.
35 lines (34 loc) • 1.11 kB
TypeScript
import Parser, { type TokenReader } from './stream-parser';
import { type ColumnMetadata } from './colmetadata-token-parser';
import { RowToken } from './token';
import { PLPReader } from '../value-parser';
export interface Column {
value: unknown;
metadata: ColumnMetadata;
}
/**
* Reads the column values of a row one by one. Column values - especially PLP
* values - can be arbitrarily large, so the progress is kept across chunks.
*/
export declare class ColumnValuesReader {
columns: Column[];
plpReader: PLPReader | undefined;
constructor();
/**
* Read the remaining column values. Columns flagged in the `nullBitmap`
* have no data and are `null`.
*/
readColumns(parser: Parser, nullBitmap: Buffer | undefined): void;
}
/**
* Reads a `ROW` token.
*/
export declare class RowTokenReader extends ColumnValuesReader implements TokenReader {
read(parser: Parser): RowToken;
}
/**
* Map columns by name. If multiple columns share a name, the first one wins.
*/
export declare function toColumnsMap(columns: Column[]): {
[key: string]: Column;
};