npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@sap/dwf-ndso-backend

v2.3.6

Published

Service backend of the Native DataStore Object

Downloads

102

Readme

Native DataStore Object (NDSO) Service Backend

This Node.js package contains service implementations (tasks) of the Native DataStore Object. The NDSO backend is part of the SAP HANA Data Warehousing Foundation product.

As such it is used, for example, by the DataStore Manage UI of the Database Explorer or the Data Warehouse Scheduler.

Change Log

Be aware that as this being a technical reuse package you are not supposed to consume it directly in a custom application. It is used by the aforementioned SAP products/tools though.

NDSO Task Reference

NDSO tasks are exposed as simple asynchronous functions

activate(tracer, client1, client2, schema, ndso, loadIds, [callback]) ⇒ Promise

Moves data from inbound queue(s) to active data and change log. Writing of active data and change log is done by the HANA core procedure SYS.DSO_ACTIVATE_CHANGES.

This operation takes care of

  • verifying the provided load IDs
  • setting status of earlier, failed activations to 'DELETED'
  • compiling procedure options like aggregation behavior and before-image handling
  • calling the procedure
  • deleting load data from inbound queue(s)

Fulfills: ActivationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | loadIds | Array.<integer> | load requests to be activated | | [callback] | function | callback function |

addSubscriber(tracer, client1, client2, schema, ndso, subscriberName, [description], [callback]) ⇒ Promise

Adds a new subscriber entry to the subscribers entity

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | subscriberName | string | name (and key) of the subscriber | | [description] | string | optional description | | [callback] | function | callback function |

checkMetadataConsistency(tracer, client1, client2, schema, ndso, [callback]) ⇒ Promise

Performs consistency checks on the NDSO. The operation fails, if inconsistencies are found

Performed checks ensure:

  • Inbound queues consistency
  • Change log entries deleted for cleaned up activations
  • Inbound queue entries deleted for finished activations
  • Affected requests consistency

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

cleanupChangelog(tracer, client1, client2, schema, ndso, requestIds, [callback]) ⇒ Promise

Cleans up change log. The operation verifies, if the provided activation request IDs can be cleaned up and then deletes them from the change log

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | requestIds | Array.<integer> | activation requests for which change log shall be deleted | | [callback] | function | callback function |

cleanupMetadata(tracer, client1, client2, schema, ndso, [maxRequestId], [maxTimestamp], [callback]) ⇒ Promise

Cleans up metadata up to either the provided maximal activation request ID or corresponding creation timestamp (whichever is higher).

Fulfills: OperationResult
Todo

  • [ ] not implemented, i.e., it does not actually delete any data

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [maxRequestId] | integer | request ID up to which to clean up | | [maxTimestamp] | string | ISO 8601 UTC timestamp up to which to clean up | | [callback] | function | callback function |

deleteAll(tracer, client1, client2, schema, ndso, [callback]) ⇒ Promise

Deletes all NDSO data (main and metadata entities). The operation fails, if there are subscribers

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

deleteRequest(tracer, client1, client2, schema, ndso, requestIds, [callback]) ⇒ Promise

Deletes load requests. The operation verifies, if the provided request IDs can be deleted and then deletes them from the inbound queue(s)

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | requestIds | Array.<integer> | load requests to be deleted | | [callback] | function | callback function |

deleteWithFilter(tracer, client1, client2, schema, ndso, queryOptions, propagateDeletion, [callback]) ⇒ Promise

Deletes active data by the provided query filter. Optionally writes an activation request into the change log which allows rollback

Fulfills: DeleteResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | queryOptions | QueryOptions | note that for this task, the 'options' (and more specifically, the filter flt) are actually mandatory because the context is selective deletion from active data which must not be unrestricted (that would be deleteAll) | | propagateDeletion | bool | if true, deletions will be added to change log | | [callback] | function | callback function |

getDataStores(tracer, client, schema, [queryOptions], [callback]) ⇒ Promise

Provides a list of NDSOs in the schema

Fulfills: DataStores

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | [queryOptions] | QueryOptions | | | [callback] | function | callback function |

getDataStoreFeature(tracer, client, schema, [callback]) ⇒ Promise

Provides information if the NDSO metamodel exists in the schema. The metamodel is a prerequisite to model NDSOs

Fulfills: DataStoreFeature

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | [callback] | function | callback function |

getLogForOperation(tracer, client, schema, ndso, operationId, [callback]) ⇒ Promise

Provides the message log for an operation

Fulfills: LogForOperation

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | operationId | integer | ID of the operation logs shall be read for | | [callback] | function | callback function |

getMetadata(tracer, client, schema, ndso, [callback]) ⇒ Promise

Provides NDSO metadata

Fulfills: Metadata

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

getMonitoringOverview(tracer, client, schema, [queryOptions], [callback]) ⇒ Promise

Provides monitoring relevant information about all NDSOs in the schema.

Fulfills: MonitoringOverview

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | [queryOptions] | QueryOptions | | | [callback] | function | callback function |

getOperationInfo(tracer, client, schema, ndso, [queryOptions], [callback]) ⇒ Promise

Provides general request information

Fulfills: OperationInfo

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [queryOptions] | QueryOptions | | | [callback] | function | callback function |

getOperationsForRequest(tracer, client, schema, ndso, requestId, [callback]) ⇒ Promise

Provides the list of operations that affected a specific request

Fulfills: OperationsForRequest

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | requestId | integer | request ID which to retrieve operations for | | [callback] | function | callback function |

getRequestInfo(tracer, client, schema, ndso, [queryOptions], [callback]) ⇒ Promise

Provides general request information

Fulfills: RequestInfo

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [queryOptions] | QueryOptions | | | [callback] | function | callback function |

getRequestsForActivation(tracer, client, schema, ndso, [maxRequestId], [callback]) ⇒ Promise

Provides requests that can be activated. Condition:

  • finished load requests
  • after latest activation
  • not subject to a deleteRequest operation
  • (optional) load request ID lower than provided maxRequestId

Fulfills: RequestsForOperation

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [maxRequestId] | integer | request ID up to which to retrieve load requests | | [callback] | function | callback function |

getRequestsForCleanup(tracer, client, schema, ndso, [maxRequestId], [maxTimestamp], [callback]) ⇒ Promise

Provides requests that can be cleaned up. Condition:

  • finished activation requests
  • not subject to rollback/clean-up operation
  • extracted by all subscribers
  • (optional) activation request ID less than or equal to provided max ID or timestamp

Fulfills: RequestsForOperation

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [maxRequestId] | integer | request ID up to which to fetch requests | | [maxTimestamp] | string | ISO 8601 UTC timestamp up to which to fetch requests | | [callback] | function | callback function |

getRequestsForDeletion(tracer, client, schema, ndso, [callback]) ⇒ Promise

Provides requests that can be deleted. Condition:

  • load request failed OR finished and after latest activation
  • not subject to a deleteRequest operation

Fulfills: RequestsForOperation

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

getRequestsForRollback(tracer, client, schema, ndso, minRequestId, [callback]) ⇒ Promise

Provides requests that can be rolled back. Condition:

  • finished activation requests
  • after latest rollback/clean-up operation
  • not yet extracted by any subscriber (as rollbacks are just deleted from change log, subscribers won't get a corresponding delta corrupting their data)
  • (optional) load request ID greater than or equal to provided minRequestId

Fulfills: RequestsForOperation

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | minRequestId | integer | request ID from which to roll back later activations | | [callback] | function | callback function |

getRowcountWithFilter(tracer, client, schema, ndso, queryOptions, [callback]) ⇒ Promise

Provides number of rows in active data filtered by the provided query filter

Fulfills: RowcountWithFilter

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | queryOptions | QueryOptions | note that for this task, the 'options' (and more specifically, the filter flt) are actually mandatory because this is a preview task for deleteWithFilter | | [callback] | function | callback function |

getSubscribers(tracer, client, schema, ndso, [callback]) ⇒ Promise

Provides a list of subscribers

Fulfills: Subscribers

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

removeSubscriber(tracer, client1, client2, schema, ndso, subscriberName, [callback]) ⇒ Promise

Removes a subscriber from the subscribers entity

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | subscriberName | string | name (and key) of the subscriber | | [callback] | function | callback function |

repairRunningOperations(tracer, client1, client2, schema, ndso, [callback]) ⇒ Promise

Repairs running operations that are not really running anymore and sets their status to failed. This is done by attempting to retrieve a lock for the corresponding entry in the operation history

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | function | callback function |

resetSubscriber(tracer, client1, client2, schema, ndso, subscriberName, [callback]) ⇒ Promise

Resets maxRequestId of a subscriber in the subscribers entity back to 0

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | subscriberName | string | name (and key) of the subscriber | | [callback] | function | callback function |

rollback(tracer, client1, client2, schema, ndso, activationIds, [callback]) ⇒ Promise

Restores data from the change log back to active data. Writing of active data and change log is done by the HANA core procedure SYS.DSO_ROLLBACK_CHANGES.

This operation takes care of

  • verifying the provided activation IDs
  • compiling procedure options like aggregation behavior and before-image handling
  • calling the procedure

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | activationIds | Array.<integer> | activation requests to roll back | | [callback] | function | callback function |

storeCsv(tracer, client1, client2, schema, ndso, iqName, data, withHeader, [callback]) ⇒ Promise

Loads CSV data into the provided inbound queue.

If the data contain a header row, it is excluded from data but serves as field list for the INSERT statement.

Data is generally loaded by just providing the data unaltered to the prepared statement except for binary data types (VARBINARY, BLOB) where a hexadecimal string is expected instead

Fulfills: LoadResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | iqName | string | inbound queue to load the data into | | data | array | string | CSV data as array or string | | withHeader | bool | load requests to be activated | | [callback] | function | callback function |

storeSql(tracer, client1, client2, schema, ndso, iqName, externalSql, [callback]) ⇒ Promise

Loads data into the provided inbound queue by the FROM clause provided via externalSql.

externalSql needs to provide technicalAttributes.recordMode and all semantical column names as the inbound queue (if the source table has different column names, they must be aliased accordingly).

Fulfills: LoadResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | iqName | string | inbound queue to load the data into | | externalSql | string | SQL by which to load data (used as FROM clause) | | [callback] | function | callback function |

Example

 SELECT
   ''    AS "technicalAttributes.recordMode",
   CUST  AS "CustomerName",
   PRICE AS "Amount"
 FROM CUST_PRICES

smokeTest(tracer, client1, client2, schema, ndso, [callback]) ⇒ Promise

Performs a smoke test on the provided NDSO, executing all tasks, beginning with operations related to subscribers, then deletes all of them and runs deleteAll to have a defined start-state

:warning: Only use this in test environments!

Fulfills: OperationResult

| Param | Type | Description | | --- | --- | --- | | tracer | object | tracer e.g. by @sap/logging | | client1 | object | DB client by node-hdb or @sap/hana-client | | client2 | object | DB client by node-hdb or @sap/hana-client | | schema | string | DB schema | | ndso | string | full DataStore name with namespace | | [callback] | operationCallback | callback function |

ActivationResult

Properties

| Name | Type | Description | | --- | --- | --- | | operationId | integer | ID of the activate operation | | activationId | integer | ID of the resulting activation request |

DeleteResult

Properties

| Name | Type | Description | | --- | --- | --- | | operationId | integer | ID of the deleteWithFilter operation | | [changeLogId] | integer | ID of the optional activation request |

DataStores

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<string> | NDSO names |

DataStoreFeature

Properties

| Name | Type | Description | | --- | --- | --- | | isDataStoreActive | bool | true, if metamodel found | | [version] | string | model version |

LogForOperation

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.posit | integer | defines message order | | result.timestamp | string | ISO 8601 UTC timestamp of message creation | | result.msgType | string | message severity | | result.msgNumber | integer | numeric message ID | | result.msgText | string | message text |

MetadataMetaTable

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | entity name of the meta table | | fullName | string | fully qualified and quoted table name including schema and namespace |

MetadataActiveDataField

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | field name | | isKey | bool | indicates, if field is a semantical key | | aggregation | string | defines before-image behavior (NOP or SUM) | | sqlDataTypename | string | HANA data type | | [typeParam1] | integer | parameter attribute 1 (e.g. length) | | [typeParam2] | integer | parameter attribute 2 (e.g. scale) | | [defaultValue] | string | default value |

MetadataChangeLogField

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | field name | | isKey | bool | indicates, if field is a semantical key | | sqlDataTypename | string | HANA data type |

MetadataInboundQueueField

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | field name | | isKey | bool | indicates, if field is a semantical key | | aggregation | string | defines aggregation behavior (NOP, MOV, MIN, MAX or SUM) | | sqlDataTypename | string | HANA data type | | [typeParam1] | integer | parameter attribute 1 (e.g. length) | | [typeParam2] | integer | parameter attribute 2 (e.g. scale) | | [defaultValue] | string | default value |

MetadataProcedure

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | qualified name of the procedure (with namespace, without schema) | | ifVersion | string | interface version of the procedure in the form X.Y (e.g. 1.0), major version incremented for backwards incompatible changes and minor for backwards compatible changes |

Metadata

Properties

| Name | Type | Description | | --- | --- | --- | | name | string | NDSO name | | snapshotSupport | bool | if true, every activation will overwrite the complete active data table, i.e., inbound queue data is considered to always be complete | | operationHistory | MetadataMetaTable | operation history containing operation ID, timestamp, user, status etc. | | affectedRequests | MetadataMetaTable | mapping table of n:m relation of operations to requests | | aggregationHistory | MetadataMetaTable | stores aggregation behavior on activation. Needed to account for model changes between activation and rollback | | logMessages | MetadataMetaTable | log messages per operation | | idGen | MetadataMetaTable | indicates request type (load, activation, general operation). Without sequence, new IDs are drawn based on the content of this table | | subscribers | MetadataMetaTable | stores subscribers doing delta-extractions from the change log. The latest extracted activation requests are written by each subscriber and affect housekeeping, like cleanupChangelog | | activeData | object | main, reportable data entity | | activeData.name | string | entity name of the data table | | activeData.fullName | string | fully qualified and quoted table name including schema and namespace | | activeData.fields | Array.<MetadataActiveDataField> | | | [changeLog] | object | optional data entity to track changes | | changeLog.name | string | entity name of the data table | | changeLog.fullName | string | fully qualified and quoted table name including schema and namespace | | changeLog.fields | Array.<MetadataChangeLogField> | | | activationQueues | Array.<object> | one or more data entity to queue inbound data for activation | | activationQueues.name | string | entity name of the data table | | activationQueues.fullName | string | fully qualified and quoted table name including schema and namespace | | activationQueues.fields | Array.<MetadataInboundQueueField> | | | procedures | object.<string, MetadataProcedure> | map of supported SQL procedures. Key is the operation identifier, e.g. LOAD | | sequence | string | sequence used to draw new IDs | | metaModel | object | information about current NDSO metamodel | | metaModel.version | string | metamodel version |

MonitoringTableStats

Properties

| Name | Type | Description | | --- | --- | --- | | tableName | string | table name | | [size] | integer | table estimated maximal memory size in bytes (not provided, if user lacks authorization) | | [rows] | integer | table row count (not provided, if user lacks authorization) |

MonitoringOverview

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.name | string | NDSO name | | result.lastOp | string | type of the last operation | | result.lastOpBy | string | user last changing the last operation | | result.lastOpAt | string | ISO 8601 UTC timestamp when the last operation was last changed | | result.lastOpStatus | string | status of the last operation | | result.subscribers | integer | number of subscribers | | result.stats | object | table statistics | | result.stats.activeData | MonitoringTableStats | stats for active data entity | | result.stats.inboundQueues | Array.<MonitoringTableStats> | stats for inbound queue entities | | [result.stats.changeLog] | MonitoringTableStats | optional stats for change log entity | | [result.message] | string | optional warning message derived from authorization errors by HANA; thrown, if user lacks authorization for monitoring synonyms (e.g. M_CS_TABLES) |

OperationInfo

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.operationId | integer | operation ID | | result.operation | string | operation type | | result.status | string | operation status | | result.userName | string | user last changing the operation | | result.lastTimestamp | string | ISO 8601 UTC timestamp when the operation was last changed | | [result.operationDetails] | object | optional operation details |

OperationsForRequest

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.operationId | integer | operation ID | | result.operation | string | operation type | | result.status | string | operation status | | result.userName | string | user last changing the operation | | result.lastTimestamp | string | ISO 8601 UTC timestamp when the operation was last changed | | result.affectedRequests | Array.<integer> | related request IDs |

RequestInfo

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.operationId | integer | ID of the last operation affecting the request | | result.operation | string | type of the last operation affecting the request | | result.status | string | status of the last operation affecting the request | | result.userName | string | user last changing the operation | | result.startTimestamp | string | ISO 8601 UTC timestamp when the operation was started | | result.lastTimestamp | string | ISO 8601 UTC timestamp when the operation was last changed | | result.dependentRequests | Array.<integer> | related request IDs | | result.requestStatus | string | current status of the request (derived from the latest operation affecting it) | | [result.operationDetails] | object | optional operation details |

RowcountWithFilter

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.tableName | string | fully qualified name of active data table | | result.rowCount | integer | total number of rows |

Subscribers

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.subscriberName | string | subscriber name | | result.description | string | additional description | | result.userName | string | user that created the subscriber | | result.creationTimestamp | string | ISO 8601 UTC timestamp of the subscriber creation | | result.maxRequest | integer | last activation request the subscriber extracted from the change log | | result.pushNotification | string | not implemented |

OperationResult

Properties

| Name | Type | Description | | --- | --- | --- | | operationId | integer | ID of the operation |

LoadResult

Properties

| Name | Type | Description | | --- | --- | --- | | operationId | integer | ID of the load operation | | loadId | integer | ID of the resulting load request |

QueryOptions

Some tasks offer a parameter queryOptions that allow for backend-side paging, sorting and filtering. The task expects it to be an object like this:

Example

{
  lim: 100,             // LIMIT in SQL: returns up to 100 rows
  off: 200,             // OFFSET in SQL: skips first 200 rows
  flt: {                // builds WHERE in SQL; multiple columns are connected
    COLUMN1: 'value1',  // by AND
    COLUMN2: 123,
    COLUMN3: [          // array elements for same column are connected by OR
      {
        op: 'BT',       // BT resolves to 'BETWEEN ? AND ?'
        val: [10, 20]
      },
      {
        op: 'EQ',       // EQ resolves to 'IN (?,?,?)'
        val: [95, 99, 101]
      },
      {
        op: 'LT',      // LT ('less than') resolves to '< ?'
        val: 50        // there's also LE ('less or equal')
      },
      {
        op: 'GT',      // GT ('greater than') resolves to '> ?'
        val: 'abc'     // there's also GE ('greater or equal')
      }
    ]
  },
  fltMode: 'PARTIAL',   // instead of 'WHERE = ?' this resolves to 'WHERE LIKE ?'
                        // and wildcards around value (e.g. '%value1%')
                        // default is 'EXACT'
  ord: [                // builds ORDER BY in SQL
    {
      col: 'COLUMN1'    // defaults to 'ASC'
    },
    {
      col: 'COLUMN3',
      dir: 'DESC'
    }
  ]
}

RequestsForOperation

Properties

| Name | Type | Description | | --- | --- | --- | | result | Array.<object> | | | result.requestId | integer | request ID | | result.userName | string | user last affecting the request (by operation) | | result.timestamp | string | ISO 8601 UTC timestamp when the operation was last changed |