Skip to content

Latest commit

 

History

History
60 lines (58 loc) · 1.64 KB

connection.mdx

File metadata and controls

60 lines (58 loc) · 1.64 KB

Connecting

const conn = new Connection(config: MapiConfig | string);

All the optional fields get default values if not specified.

Using configuration options

interface MapiConfig {
    database: string;
    username?: string;
    password?: string;
    language?: MAPI_LANGUAGE; // sql
    host?: string;
    port?: number;
    timeout?: number;
    autoCommit?: boolean;
    replySize?: number;
}

const defaults = {
    host: process.env.MAPI_HOST || 'localhost',
    port: process.env.MAPI_PORT || 50000,
    username: process.env.MAPI_USER || 'monetdb',
    password: process.env.MAPI_PASSWORD || 'monetdb',
    database: process.env.MAPI_DATABASE,
    autoCommit: false,
    replySize: -1,
};

const config: MapiConfig = {
    ...defaults
    database: 'test',
    }
const conn = new Connection(config);

Using URL

const conn = new Connection('mapi:monetdb://<username>:<password>@<hostname>:<port>/<database>');

Connection object

declare class Connection extends EventEmitter {
    autoCommit?: boolean;
    replySize?: number;
    sizeHeader?: boolean;
    mapi: MapiConnection;
    constructor(params: MapiConfig | MAPI_URI);
    connect(callback?: ConnectCallback): Promise<boolean>;
    close(): Promise<boolean>;
    commit(): Promise<any>;
    private command;
    execute(sql: string, stream?: boolean): Promise<QueryResult|QueryStream>;
    prepare(sql: string): Promise<PrepareStatement>;
    setAutocommit(v: boolean): Promise<boolean>;
    setReplySize(v: number): Promise<number>;
    setSizeHeader(v: boolean): Promise<boolean>;
    setTimezone(sec: number): Promise<any>;
    rollback(): Promise<any>;
}