Skip to content

machcli

Since v8.0.73

machcli 모듈은 JSH 애플리케이션에서 Machbase 데이터베이스를 사용할 수 있는 클라이언트 API를 제공합니다.

Client

데이터베이스 클라이언트를 생성합니다.

사용 형식
new Client(config)
설정 필드
  • host (기본값: 127.0.0.1)
  • port (기본값: 5656)
  • user (기본값: sys)
  • password (기본값: manager)
  • alternativeHost (선택)
  • alternativePort (선택)
사용 예시
1
2
const { Client } = require('machcli');
const db = new Client({ host: '127.0.0.1', port: 5656, user: 'sys', password: 'manager' });

Client.connect()

연결을 열고 Connection 객체를 반환합니다.

사용 형식
connect()

Client.close()

내부 데이터베이스 클라이언트를 종료합니다.

사용 형식
close()

Client.user()

설정된 사용자 이름(대문자)을 반환합니다.

사용 형식
user()

Client.normalizeTableName()

테이블 이름을 [database, user, table] 형식으로 정규화합니다.

사용 형식
normalizeTableName(tableName)

Connection

Client.connect()가 반환하는 연결 객체입니다.

Connection.query()

조회 SQL을 실행하고 Rows 객체를 반환합니다.

사용 형식
query(sql[, ...params])
사용 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
const { Client } = require('machcli');
var db, conn, rows;
const conf = {
    host: '127.0.0.1',
    port: 5656,
    user: 'sys',
    password: 'manager' 
};
try {
    db = new Client(conf);
    conn = db.connect();
    rows = conn.query('SELECT NAME, TIME, VALUE FROM TAG LIMIT ?', 1);
    for (const row of rows) {
        console.println(row.NAME, row.TIME, row.VALUE);
    }
} catch( e ) {
    console.println("ERROR", e.message);
}
rows && rows.close();
conn && conn.close();
db && db.close();

Connection.queryRow()

조회 SQL을 실행하고 단일 행 객체를 반환합니다.

반환 객체에는 _ROWNUM과 각 컬럼명이 프로퍼티로 포함됩니다.

사용 형식
queryRow(sql[, ...params])

Connection.exec()

DDL/DML을 실행하고 결과 객체를 반환합니다.

반환 필드:

  • rowsAffected
  • message
사용 형식
exec(sql[, ...params])

Connection.explain()

실행 계획 문자열을 반환합니다.

사용 형식
explain(sql[, ...params])

Connection.append()

대량 입력용 appender 객체를 생성합니다.

반환된 appender는 append(), flush(), close() 같은 메서드를 지원합니다.

사용 형식
append(tableName)
사용 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const { Client } = require('machcli');
const db = new Client({ host: '127.0.0.1', port: 5656, user: 'sys', password: 'manager' });
const conn = db.connect();
const appender = conn.append('TAG');
appender.append('sensor-1', new Date(), 12.34);
appender.flush();
const result = appender.close();
console.println(result);
conn.close();
db.close();

Connection.close()

연결을 종료합니다.

사용 형식
close()

Rows

Connection.query()가 반환하는 결과 집합 객체입니다.

Rows.message

조회 실행 결과 메시지입니다.

Rows.isFetchable()

행을 가져올 수 있는 결과인지 반환합니다.

사용 형식
isFetchable()

Rows.next()

이터레이터 결과 객체를 반환합니다.

  • 행이 있으면 { value: Row, done: false }
  • 완료되면 { done: true }
사용 형식
next()

Rows.close()

결과 집합을 닫습니다.

사용 형식
close()

Row

조회된 행을 나타내는 객체입니다.

  • 각 컬럼은 row.COLUMN_NAME으로 접근할 수 있습니다.
  • for...of 반복을 지원합니다.

queryDatabaseId()

마운트된 데이터베이스의 backup tablespace ID를 반환합니다.

  • 기본 DB('' 또는 MACHBASEDB)는 -1 반환
  • 데이터베이스가 없으면 예외를 발생시킵니다.
사용 형식
queryDatabaseId(conn, dbName)

queryTableType()

정규화된 테이블 이름 토큰으로 테이블 타입 코드를 반환합니다.

사용 형식
queryTableType(conn, names)

TableType and stringTableType()

테이블 타입 상수와 문자열 변환 함수입니다.

TableType 값
  • Log, Fixed, Volatile, Lookup, KeyValue, Tag
사용 형식
stringTableType(type)

TableFlag and stringTableFlag()

테이블 플래그 상수와 문자열 변환 함수입니다.

TableFlag 값
  • None, Data, Rollup, Meta, Stat
사용 형식
stringTableFlag(flag)

stringTableDescription()

테이블 타입/플래그를 결합한 설명 문자열을 반환합니다.

사용 형식
stringTableDescription(type, flag)

ColumnType and stringColumnType()

컬럼 타입 상수와 문자열 변환 함수입니다.

주요 ColumnType 값
  • Short, UShort, Integer, UInteger, Long, ULong
  • Float, Double, Varchar, Text, Clob, Blob, Binary
  • Datetime, IPv4, IPv6, JSON
사용 형식
stringColumnType(columnType)

columnWidth()

컬럼 타입의 기본 표시 폭을 반환합니다.

사용 형식
columnWidth(columnType, length)

ColumnFlag and stringColumnFlag()

컬럼 플래그 상수와 문자열 변환 함수입니다.

ColumnFlag 값
  • TagName
  • Basetime
  • Summarized
  • MetaColumn
사용 형식
stringColumnFlag(flag)
최근 업데이트