ydb-sdk
Version:
Node.js bindings for working with YDB API over gRPC
57 lines • 3.15 kB
TypeScript
import EventEmitter from "events";
import { GrpcQueryService, QueryService } from "./query-session-pool";
import { Endpoint } from "../discovery";
import { Ydb } from "ydb-sdk-proto";
import { ClientReadableStream, Metadata } from "@grpc/grpc-js";
import { sessionIdSymbol, sessionTxSettingsSymbol, sessionTxIdSymbol, sessionCurrentOperationSymbol, sessionAcquireSymbol, sessionReleaseSymbol, sessionAttachSymbol, sessionIsFreeSymbol, sessionIsDeletedSymbol, sessionDeleteOnReleaseSymbol, sessionRollbackTransactionSymbol, sessionCommitTransactionSymbol, sessionBeginTransactionSymbol, isIdempotentSymbol, isIdempotentDoLevelSymbol, createSymbol, sessionIsClosingSymbol, ctxSymbol, sessionTrailerCallbackSymbol } from './symbols';
import ICreateSessionResult = Ydb.Table.ICreateSessionResult;
import { attach as attachImpl } from './query-session-attach';
import { execute as executeImpl } from './query-session-execute';
import { beginTransaction, commitTransaction, rollbackTransaction as rollbackTransactionImpl } from './query-session-transaction';
import { Logger } from "../logger/simple-logger";
import { Context } from "../context";
export interface QuerySessionOperation {
cancel(reason: any): void;
}
export declare const apiSymbol: unique symbol;
export declare const implSymbol: unique symbol;
export declare const attachStreamSymbol: unique symbol;
export declare class QuerySession extends EventEmitter implements ICreateSessionResult {
endpoint: Endpoint;
readonly logger: Logger;
[ctxSymbol]?: Context;
[sessionCurrentOperationSymbol]?: QuerySessionOperation;
[sessionIdSymbol]: string;
[sessionTxIdSymbol]?: string;
[sessionTxSettingsSymbol]?: Ydb.Query.ITransactionSettings;
[isIdempotentDoLevelSymbol]?: boolean;
[isIdempotentSymbol]?: boolean;
[sessionTrailerCallbackSymbol]?: (md: Metadata) => void;
[implSymbol]: QueryService;
[attachStreamSymbol]?: ClientReadableStream<Ydb.Query.SessionState>;
[apiSymbol]: GrpcQueryService;
private beingDeleted;
private free;
private closing;
get ctx(): Context;
get sessionId(): string;
get txId(): string | undefined;
private constructor();
static [createSymbol](api: GrpcQueryService, impl: QueryService, endpoint: Endpoint, sessionId: string, logger: Logger): QuerySession;
[sessionAcquireSymbol](): this;
[sessionReleaseSymbol](): void;
[sessionIsFreeSymbol](): boolean;
[sessionIsClosingSymbol](): boolean;
[sessionDeleteOnReleaseSymbol](): void;
[sessionIsDeletedSymbol](): boolean;
delete(): Promise<void>;
[sessionAttachSymbol]: typeof attachImpl;
beginTransaction(txSettings?: Ydb.Query.ITransactionSettings | null): Promise<void>;
commitTransaction(): Promise<Ydb.Query.CommitTransactionResponse>;
rollbackTransaction(): Promise<Ydb.Query.RollbackTransactionResponse>;
[sessionBeginTransactionSymbol]: typeof beginTransaction;
[sessionCommitTransactionSymbol]: typeof commitTransaction;
[sessionRollbackTransactionSymbol]: typeof rollbackTransactionImpl;
execute: typeof executeImpl;
}
//# sourceMappingURL=query-session.d.ts.map