Skip to content

$.hdb

$.hdb namespace provides means for seamless HANA database access. It is intended to be a replacement for the older $.db namespace. The fundamental goal of the new interface is to ensure simplicity, convenience, completeness, and performance.

Overview

Sample Usage

var db = $.hdb;

let connection = null;
try {
    connection = db.getConnection();

    try {
        connection.executeUpdate("DROP TABLE CARS");
    } catch (e) {
        // Do nothing
    }
    connection.executeUpdate("CREATE TABLE CARS (MAKE varchar(255), MODEL varchar(255))");

    let rows = connection.executeUpdate("INSERT INTO CARS (MAKE, MODEL) VALUES ('BMW', '325')");
    rows += connection.executeUpdate("INSERT INTO CARS (MAKE, MODEL) VALUES ('HONDA', 'ACCORD')");
    let totalText = `Query OK, ${rows} rows affected\n\n`;

    let result = connection.executeQuery("SELECT * FROM CARS");
    let iterator = result.getIterator();
    let metadata = result.metadata.columns;

    while(iterator.next()) {
        var currentRow = iterator.value();
        totalText += `${metadata[0].name}: ${currentRow[metadata[0].name]}, ${metadata[1].name}: ${currentRow[metadata[1].name]}\n`;
    }
    $.response.setBody(totalText );
} catch(e) {
    connection.rollback();
    $.response.setBody("Transaction was rolled back: " + e.message);
} finally {
    if (connection) {
        connection.close();
    }
}

Functions

Function Description Returns
getConnection() Returns a connection to the database. $.hdb.Connection

Properties

Name Description Type Default
isolation.READ_COMITTED - number 2
isolation.REPEATABLE_READ - number 4
isolation.SERIALIZABLE - number 8
types.TINYINT - number 1
types.SMALLINT - number 2
types.INTEGER - number 3
types.BIGINT - number 4
types.DECIMAL - number 5
types.REAL - number 6
types.DOUBLE - number 7
types.CHAR - number 8
types.VARCHAR - number 9
types.NCHAR - number 10
types.NVARCHAR - number 11
types.BINARY - number 12
types.VARBINARY - number 13
types.DATE - number 14
types.TIME - number 15
types.TIMESTAMP - number 16
types.CLOB - number 25
types.NCLOB - number 26
types.BLOB - number 27
types.SMALLDECIMAL - number 47
types.TEXT - number 51
types.SHORTTEXT - number 52
types.ALPHANUM - number 55
types.SECONDDATE - number 62
types.ST_GEOMETRY - number 74
types.ST_POINT - number 75

Note

  • isolation - constants that represent the isolation levels for a transaction.
  • types - set of constants of the database column types.
  • types.ST_GEOMETRY - consider using SQL's ST_asGeoJSON() on ST_GEOMETRY columns for easy consumption.
  • types.ST_POINT - consider using SQL's ST_asGeoJSON() on ST_POINT columns for easy consumption

Classes

$.hdb.Connection

Functions

Function Description Returns
close() Closes the connection. -
commit() Commits the changes. -
isClosed() Checks if the connection is closed. boolean
executeQuery(query, args) Executes a database query. $.hdb.ResultSet
executeUpdate(statement, args) Executes a SQL statement, which changes the database state. $.hdb.ResultSet
rollback() Rolls back the changes. -
setAutoCommit(enable) Changes the auto-commit flag of the connection. -

$.hdb.ResultSet

Functions

Function Description Returns
getIterator() Returns an iterator over this result set. $.hdb.ResultSetIterator

Properties

Name Description Type
lenght The number of rows in the $.hdb.ResultSet object number
metadata Returns the ResultSetMetaData from $.hdb.ResultSet object. $.hdb.ResultSetMetaData

$.hdb.ResultSetIterator

Functions

Method Description Type
next() Checks if the result set has more rows and sets the value of the iterator to the next row if it exists. boolean
value() Returns the current row that the iterator's value is set to, should always be called after a call to next(). row of a $.hdb.ResultSet

$.hdb.ResultSetMetaData

Properties

Name Description Type
column Returns an array of column metadata objects, each of which represents the metadata for a particular column. array of $.hdb.ColumnMetadata

$.hdb. ColumnMetadata

Properties

Name Description Type
catalogName Returns the column's catalog name. string
displaySize Returns the column's display size. number
isNullable Returns true if the column is nullable and false otherwise. number
label Returns the column's label. string
precision Returns the column's name. string
scale Returns the column's scale. string
tableName Returns the name of the table to which the column belongs. string
type Returns the column's type. string
typeName Returns the column's type name. $.hdb.types