Initial commit
This commit is contained in:
245
references/db-inspection.md
Normal file
245
references/db-inspection.md
Normal file
@@ -0,0 +1,245 @@
|
||||
# SAP HANA CLI - Database Inspection Functions
|
||||
|
||||
**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js)
|
||||
|
||||
Detailed documentation of the database inspection functions used by hana-cli.
|
||||
|
||||
---
|
||||
|
||||
## Version & Metadata Functions
|
||||
|
||||
### getHANAVersion(db)
|
||||
|
||||
Returns HANA version information.
|
||||
|
||||
```javascript
|
||||
// Returns: { version: "2.00.045", versionMajor: 2 }
|
||||
```
|
||||
|
||||
**System Table**: `M_DATABASE`
|
||||
|
||||
### isCalculationView(db, schema, viewId)
|
||||
|
||||
Checks if a view is a Calculation View.
|
||||
|
||||
**System Table**: `_SYS_BI.BIMC_REPORTABLE_VIEWS`
|
||||
|
||||
**Note**: HANA 2.0+ only
|
||||
|
||||
---
|
||||
|
||||
## Table Inspection Functions
|
||||
|
||||
### getTable(db, schema, tableId)
|
||||
|
||||
Returns table metadata.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| TABLE_NAME | Table name |
|
||||
| TABLE_OID | Object ID |
|
||||
| TABLE_TYPE | Table type |
|
||||
| HAS_PRIMARY_KEY | Primary key exists |
|
||||
| UNLOAD_PRIORITY | Memory priority |
|
||||
| IS_PRELOAD | Preload enabled |
|
||||
|
||||
**System Table**: `TABLES`
|
||||
|
||||
### getTableFields(db, tableOid)
|
||||
|
||||
Returns column metadata for a table.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| COLUMN_NAME | Column name |
|
||||
| DATA_TYPE_NAME | Data type |
|
||||
| LENGTH | Field length |
|
||||
| SCALE | Decimal scale |
|
||||
| IS_NULLABLE | Nullable flag |
|
||||
| DEFAULT_VALUE | Default value |
|
||||
| POSITION | Column position |
|
||||
|
||||
**System Table**: `TABLE_COLUMNS`
|
||||
|
||||
### getConstraints(db, object)
|
||||
|
||||
Returns PRIMARY KEY constraints.
|
||||
|
||||
---
|
||||
|
||||
## View Inspection Functions
|
||||
|
||||
### getView(db, schema, viewId)
|
||||
|
||||
Returns view metadata.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| VIEW_NAME | View name |
|
||||
| VIEW_OID | Object ID |
|
||||
| COMMENTS | Documentation |
|
||||
| VIEW_TYPE | View type |
|
||||
|
||||
**Note**: Version-aware queries (HANA 1.0 vs 2.0+)
|
||||
|
||||
### getViewFields(db, viewOid)
|
||||
|
||||
Returns view column metadata.
|
||||
|
||||
**System Table**: `VIEW_COLUMNS`
|
||||
|
||||
### getViewParameters(db, viewOid)
|
||||
|
||||
Returns view input parameters.
|
||||
|
||||
**System Table**: `VIEW_PARAMETERS`
|
||||
|
||||
### getCalcViewFields(db, schema, viewId, viewOid)
|
||||
|
||||
Returns Calculation View field metadata.
|
||||
|
||||
**System Table**: `_SYS_BI.BIMC_DIMENSION_VIEW`
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| POSITION | Field position |
|
||||
| DATA_TYPE_NAME | Data type |
|
||||
| SCALE | Decimal scale |
|
||||
| KEY_COLUMN_NAME | Key indicator |
|
||||
|
||||
### getCalcViewParameters(db, schema, viewId, viewOid)
|
||||
|
||||
Returns Calculation View parameters.
|
||||
|
||||
**System Table**: `_SYS_BI.BIMC_VARIABLE_VIEW`
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| PARAMETER_NAME | Parameter name |
|
||||
| DATA_TYPE_NAME | Data type |
|
||||
| MANDATORY | Required flag |
|
||||
| DEFAULT_VALUE | Default value |
|
||||
|
||||
---
|
||||
|
||||
## Procedure & Function Functions
|
||||
|
||||
### getProcedure(db, schema, procedure)
|
||||
|
||||
Returns procedure metadata.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| PROCEDURE_OID | Object ID |
|
||||
| SQL_SECURITY | Security mode |
|
||||
| INPUT_PARAMETER_COUNT | Input params |
|
||||
| OUTPUT_PARAMETER_COUNT | Output params |
|
||||
| READ_ONLY | Read-only flag |
|
||||
| IS_VALID | Validity status |
|
||||
|
||||
**System Table**: `PROCEDURES`
|
||||
|
||||
### getProcedurePrams(db, procOid)
|
||||
|
||||
Returns procedure parameters.
|
||||
|
||||
**System Table**: `PROCEDURE_PARAMETERS`
|
||||
|
||||
### getProcedurePramCols(db, procOid)
|
||||
|
||||
Returns procedure parameter columns (for table-type params).
|
||||
|
||||
**System Table**: `PROCEDURE_PARAMETER_COLUMNS`
|
||||
|
||||
### getFunction(db, schema, functionName)
|
||||
|
||||
Returns function metadata.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| FUNCTION_OID | Object ID |
|
||||
| SQL_SECURITY | Security mode |
|
||||
| INPUT_PARAMETER_COUNT | Input params |
|
||||
| RETURN_VALUE_COUNT | Return values |
|
||||
|
||||
**System Table**: `FUNCTIONS`
|
||||
|
||||
### getFunctionPrams(db, funcOid)
|
||||
|
||||
Returns function parameters.
|
||||
|
||||
**Returns**:
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| PARAMETER_NAME | Parameter name |
|
||||
| DATA_TYPE_NAME | Data type |
|
||||
| PARAMETER_TYPE | IN/OUT/INOUT |
|
||||
|
||||
**System Table**: `FUNCTION_PARAMETERS`
|
||||
|
||||
### getFunctionPramCols(db, funcOid)
|
||||
|
||||
Returns function parameter columns.
|
||||
|
||||
---
|
||||
|
||||
## Utility Functions
|
||||
|
||||
### getDef(db, schema, Id)
|
||||
|
||||
Returns object creation statement.
|
||||
|
||||
**System Procedure**: `GET_OBJECT_DEFINITION`
|
||||
|
||||
### getGeoColumns(db, object, field, type)
|
||||
|
||||
Returns SRS_ID for spatial geometry columns.
|
||||
|
||||
### formatCDS(db, object, fields, constraints, type, schema, parent, parameters)
|
||||
|
||||
Formats database object as CDS entity.
|
||||
|
||||
**Features**:
|
||||
- Type mapping (HANA to CDS)
|
||||
- Name normalization
|
||||
- Constraint handling
|
||||
- Parameter support
|
||||
|
||||
### parseSQLOptions(output, cdsSource)
|
||||
|
||||
Extracts extended SQL syntax via regex:
|
||||
- PARTITION clauses
|
||||
- UNLOAD PRIORITY
|
||||
- AUTO MERGE settings
|
||||
|
||||
---
|
||||
|
||||
## System Tables Summary
|
||||
|
||||
| Table | Purpose |
|
||||
|-------|---------|
|
||||
| `M_DATABASE` | Version info |
|
||||
| `TABLES` | Table metadata |
|
||||
| `TABLE_COLUMNS` | Column definitions |
|
||||
| `VIEWS` | View metadata |
|
||||
| `VIEW_COLUMNS` | View columns |
|
||||
| `VIEW_PARAMETERS` | View input params |
|
||||
| `PROCEDURES` | Procedure metadata |
|
||||
| `PROCEDURE_PARAMETERS` | Procedure params |
|
||||
| `PROCEDURE_PARAMETER_COLUMNS` | Table-type columns |
|
||||
| `FUNCTIONS` | Function metadata |
|
||||
| `FUNCTION_PARAMETERS` | Function params |
|
||||
| `_SYS_BI.BIMC_REPORTABLE_VIEWS` | Calc view detection |
|
||||
| `_SYS_BI.BIMC_DIMENSION_VIEW` | Calc view fields |
|
||||
| `_SYS_BI.BIMC_VARIABLE_VIEW` | Calc view variables |
|
||||
|
||||
---
|
||||
|
||||
*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js*](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js*)
|
||||
Reference in New Issue
Block a user