tedious
Version:
A TDS driver, for connecting to MS SQLServer databases.
152 lines (151 loc) • 7.25 kB
TypeScript
import Connection from '../connection';
import Request from '../request';
import { ConnectionError, RequestError } from '../errors';
import { BeginTransactionEnvChangeToken, CharsetEnvChangeToken, ColInfoToken, CollationChangeToken, ColMetadataToken, CommitTransactionEnvChangeToken, DatabaseEnvChangeToken, DatabaseMirroringPartnerEnvChangeToken, DoneInProcToken, DoneProcToken, DoneToken, ErrorMessageToken, FeatureExtAckToken, FedAuthInfoToken, InfoMessageToken, LanguageEnvChangeToken, LoginAckToken, NBCRowToken, OrderToken, PacketSizeEnvChangeToken, ResetConnectionEnvChangeToken, ReturnStatusToken, ReturnValueToken, RollbackTransactionEnvChangeToken, RoutingEnvChangeToken, RowToken, SSPIToken, TabNameToken, Token } from './token';
import BulkLoad from '../bulk-load';
export declare class UnexpectedTokenError extends Error {
constructor(handler: TokenHandler, token: Token);
}
/**
* Emits a warning (once per process) when a connection is established
* using TDS 7.1.
*
* @private
*/
export declare const tds71DeprecationWarning: {
emitted: boolean;
emit(): void;
};
export declare class TokenHandler {
onInfoMessage(token: InfoMessageToken): void;
onErrorMessage(token: ErrorMessageToken): void;
onSSPI(token: SSPIToken): void;
onDatabaseChange(token: DatabaseEnvChangeToken): void;
onLanguageChange(token: LanguageEnvChangeToken): void;
onCharsetChange(token: CharsetEnvChangeToken): void;
onSqlCollationChange(token: CollationChangeToken): void;
onRoutingChange(token: RoutingEnvChangeToken): void;
onPacketSizeChange(token: PacketSizeEnvChangeToken): void;
onResetConnection(token: ResetConnectionEnvChangeToken): void;
onBeginTransaction(token: BeginTransactionEnvChangeToken): void;
onCommitTransaction(token: CommitTransactionEnvChangeToken): void;
onRollbackTransaction(token: RollbackTransactionEnvChangeToken): void;
onFedAuthInfo(token: FedAuthInfoToken): void;
onFeatureExtAck(token: FeatureExtAckToken): void;
onLoginAck(token: LoginAckToken): void;
onColMetadata(token: ColMetadataToken): void;
onTabName(token: TabNameToken): void;
onColInfo(token: ColInfoToken): void;
onOrder(token: OrderToken): void;
onRow(token: RowToken | NBCRowToken): void;
onReturnStatus(token: ReturnStatusToken): void;
onReturnValue(token: ReturnValueToken): void;
onDoneProc(token: DoneProcToken): void;
onDoneInProc(token: DoneInProcToken): void;
onDone(token: DoneToken): void;
onDatabaseMirroringPartner(token: DatabaseMirroringPartnerEnvChangeToken): void;
}
/**
* A handler for tokens received in the response message to the initial SQL Batch request
* that sets up different connection settings.
*/
export declare class InitialSqlTokenHandler extends TokenHandler {
connection: Connection;
constructor(connection: Connection);
onInfoMessage(token: InfoMessageToken): void;
onErrorMessage(token: ErrorMessageToken): void;
onDatabaseChange(token: DatabaseEnvChangeToken): void;
onLanguageChange(token: LanguageEnvChangeToken): void;
onCharsetChange(token: CharsetEnvChangeToken): void;
onSqlCollationChange(token: CollationChangeToken): void;
onPacketSizeChange(token: PacketSizeEnvChangeToken): void;
onBeginTransaction(token: BeginTransactionEnvChangeToken): void;
onCommitTransaction(token: CommitTransactionEnvChangeToken): void;
onRollbackTransaction(token: RollbackTransactionEnvChangeToken): void;
onColMetadata(token: ColMetadataToken): void;
onOrder(token: OrderToken): void;
onRow(token: RowToken | NBCRowToken): void;
onReturnStatus(token: ReturnStatusToken): void;
onReturnValue(token: ReturnValueToken): void;
onDoneProc(token: DoneProcToken): void;
onDoneInProc(token: DoneInProcToken): void;
onDone(token: DoneToken): void;
onResetConnection(token: ResetConnectionEnvChangeToken): void;
}
/**
* A handler for tokens received in the response message to a Login7 message.
*/
export declare class Login7TokenHandler extends TokenHandler {
connection: Connection;
fedAuthInfoToken: FedAuthInfoToken | undefined;
routingData: {
server: string;
port: number;
instance: string;
} | undefined;
loginAckReceived: boolean;
loginError: ConnectionError | undefined;
constructor(connection: Connection);
onInfoMessage(token: InfoMessageToken): void;
onErrorMessage(token: ErrorMessageToken): void;
onSSPI(token: SSPIToken): void;
onDatabaseChange(token: DatabaseEnvChangeToken): void;
onDatabaseMirroringPartner(token: DatabaseMirroringPartnerEnvChangeToken): void;
onLanguageChange(token: LanguageEnvChangeToken): void;
onCharsetChange(token: CharsetEnvChangeToken): void;
onSqlCollationChange(token: CollationChangeToken): void;
onFedAuthInfo(token: FedAuthInfoToken): void;
onFeatureExtAck(token: FeatureExtAckToken): void;
onLoginAck(token: LoginAckToken): void;
onRoutingChange(token: RoutingEnvChangeToken): void;
onDoneInProc(token: DoneInProcToken): void;
onDone(token: DoneToken): void;
onPacketSizeChange(token: PacketSizeEnvChangeToken): void;
}
/**
* A handler for tokens received in the response message to a RPC Request,
* a SQL Batch Request, a Bulk Load BCP Request or a Transaction Manager Request.
*/
export declare class RequestTokenHandler extends TokenHandler {
connection: Connection;
request: Request | BulkLoad;
errors: RequestError[];
constructor(connection: Connection, request: Request | BulkLoad);
onInfoMessage(token: InfoMessageToken): void;
onErrorMessage(token: ErrorMessageToken): void;
onDatabaseChange(token: DatabaseEnvChangeToken): void;
onLanguageChange(token: LanguageEnvChangeToken): void;
onCharsetChange(token: CharsetEnvChangeToken): void;
onSqlCollationChange(token: CollationChangeToken): void;
onPacketSizeChange(token: PacketSizeEnvChangeToken): void;
onBeginTransaction(token: BeginTransactionEnvChangeToken): void;
onCommitTransaction(token: CommitTransactionEnvChangeToken): void;
onRollbackTransaction(token: RollbackTransactionEnvChangeToken): void;
onColMetadata(token: ColMetadataToken): void;
onTabName(token: TabNameToken): void;
onColInfo(token: ColInfoToken): void;
onOrder(token: OrderToken): void;
onRow(token: RowToken | NBCRowToken): void;
onReturnStatus(token: ReturnStatusToken): void;
onReturnValue(token: ReturnValueToken): void;
onDoneProc(token: DoneProcToken): void;
onDoneInProc(token: DoneInProcToken): void;
onDone(token: DoneToken): void;
onResetConnection(token: ResetConnectionEnvChangeToken): void;
}
/**
* A handler for the attention acknowledgement message.
*
* This message only contains a `DONE` token that acknowledges
* that the attention message was received by the server.
*/
export declare class AttentionTokenHandler extends TokenHandler {
connection: Connection;
request: Request | BulkLoad;
/**
* Returns whether an attention acknowledgement was received.
*/
attentionReceived: boolean;
constructor(connection: Connection, request: Request | BulkLoad);
onDone(token: DoneToken): void;
}