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

stringTableType()

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

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

TableFlag

stringTableFlag()

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

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

stringTableDescription()

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

사용 형식
stringTableDescription(type, flag)

ColumnType

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

stringColumnFlag()

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

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