Skip to content

machcli

Since v8.0.73

The machcli module provides a Machbase client API for JSH applications.

Client

Creates a database client.

Syntax
new Client(config)
Configuration fields
  • host (default: 127.0.0.1)
  • port (default: 5656)
  • user (default: sys)
  • password (default: manager)
  • alternativeHost (optional)
  • alternativePort (optional)
Usage example
1
2
const { Client } = require('machcli');
const db = new Client({ host: '127.0.0.1', port: 5656, user: 'sys', password: 'manager' });

Client.connect()

Opens a connection and returns a Connection object.

Syntax
connect()

Client.close()

Closes the underlying database client.

Syntax
close()

Client.user()

Returns the configured user name (uppercase).

Syntax
user()

Client.normalizeTableName()

Normalizes table name into [database, user, table] format.

Syntax
normalizeTableName(tableName)

Connection

Connection object returned by Client.connect().

Connection.query()

Executes a query and returns a Rows object.

Syntax
query(sql[, ...params])
Usage example
 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()

Executes a query and returns a single row object.

Returned object includes _ROWNUM and each column as a property.

Syntax
queryRow(sql[, ...params])

Connection.exec()

Executes DDL/DML and returns result object.

Returned fields:

  • rowsAffected
  • message
Syntax
exec(sql[, ...params])

Connection.explain()

Returns execution plan text.

Syntax
explain(sql[, ...params])

Connection.append()

Creates an appender object for high-volume insert.

The returned appender supports methods such as append(), flush(), close().

Syntax
append(tableName)
Usage example
 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()

Closes the connection.

Syntax
close()

Rows

Result set object returned by Connection.query().

Rows.message

Message from query execution.

Rows.isFetchable()

Returns whether the result set can fetch rows.

Syntax
isFetchable()

Rows.next()

Returns iterator result object:

  • { value: Row, done: false } while rows remain
  • { done: true } when completed
Syntax
next()

Rows.close()

Closes the result set.

Syntax
close()

Row

Row object generated from a fetched row.

  • Each column is available as row.COLUMN_NAME.
  • for...of iteration is supported.

queryDatabaseId()

Returns backup tablespace ID for a mounted database.

  • Returns -1 for default database ('' or MACHBASEDB).
  • Throws an error when the database is not found.
Syntax
queryDatabaseId(conn, dbName)

queryTableType()

Returns table type code by normalized table name tokens.

Syntax
queryTableType(conn, names)

TableType and stringTableType()

Table type constants and string converter.

TableType values
  • Log, Fixed, Volatile, Lookup, KeyValue, Tag
Syntax
stringTableType(type)

TableFlag and stringTableFlag()

Table flag constants and string converter.

TableFlag values
  • None, Data, Rollup, Meta, Stat
Syntax
stringTableFlag(flag)

stringTableDescription()

Returns combined table description with type and flag text.

Syntax
stringTableDescription(type, flag)

ColumnType and stringColumnType()

Column type constants and string converter.

Main ColumnType values
  • Short, UShort, Integer, UInteger, Long, ULong
  • Float, Double, Varchar, Text, Clob, Blob, Binary
  • Datetime, IPv4, IPv6, JSON
Syntax
stringColumnType(columnType)

columnWidth()

Returns default display width for a column type.

Syntax
columnWidth(columnType, length)

ColumnFlag and stringColumnFlag()

Column flag constants and string converter.

ColumnFlag values
  • TagName
  • Basetime
  • Summarized
  • MetaColumn
Syntax
stringColumnFlag(flag)
Last updated on