MetaMatrix Explained
MetaMatrix System Tables
MetaMatrix exposes integration model metadata through system tables. These are accessible through the APIs of MetaMatrix Query (JDBC) and the MetaMatrix Enterprise Server (JDBC, ODBC, and SOAP).
VDB and Model Metadata
System.VirtualDatabases
This table supplies information about the currently connected virtual database, of which there is always exactly one (in the context of a connection).
| Column Name | Type | Description |
|---|---|---|
| Name | string | The name of the VDB |
| Version | string | The version of the VDB |
System.Models
This table supplies information about all the models in the virtual database, including the system model itself (System).
| Column Name | Type | Description |
|---|---|---|
| Name | string | Model name |
| Version | string | Model version |
| IsPhysical | boolean | True if source model, false for view |
| SupportsWhereAll | boolean | Model supports queries with no criteria |
| SupportsOrderBy | boolean | Model supports ORDER BY queries |
| SupportsJoin | boolean | Model supports queries with joins |
| SupportsDistinct | boolean | Model supports SELECT DISTINCT queries |
| SupportsOuterJoin | boolean | Model supports queries with outer joins |
| MaxSetSize | integer | Max number of values to pass in an IN value set for a dependent join |
| UID | string | Unique ID |
| Description | string | Description |
| PrimaryMetamodelURI | string | URI for the primary metamodel describing this model |
System.ModelProperties
This table supplies user-defined properties on models based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| Name | string | Property name |
| Value | string | Property value |
| UID | string | Model unique ID |
Table Metadata
System.Groups
This table supplies information about all the groups (tables, views, documents, etc) in the virtual database.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| FullName | string | Full group name |
| Name | string | Short group name |
| Type | string | Table type (Table, View, Document, ...) |
| NameInSource | string | Name of this group in the source |
| IsPhysical | boolean | True if this is a source model |
| UpperName | string | Upper-case full group name for easier matching |
| SupportsUpdates | boolean | True if group can be updated |
| UID | string | Group unique ID |
| Cardinality | integer | Approximate number of rows in the group |
| Description | string | Description |
| IsSystem | boolean | True if in system model |
System.GroupProperties
This table supplies user-defined properties on groups based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupFullName | string | Full group name |
| Name | string | Property name |
| Value | string | Property value |
| GroupName | string | Short group name |
| GroupUpperName | string | Full upper-case group name |
| ID | string | Group unique ID |
System.Elements
This table supplies information about all the elements (columns, tags, attributes, etc) in the virtual database.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupName | string | Short group name |
| GroupFullName | string | Full group name |
| Name | string | Element name (not qualified) |
| Position | integer | Position in group (1-based) |
| NameInSource | string | Name of element in source |
| DataType | string | MetaMatrix runtime data type name |
| Scale | integer | Number of digits after the decimal point |
| ElementLength | integer | Element length (mostly used for strings) |
| sLengthFixed | boolean | Whether the length is fixed or variable |
| SupportsSelect | boolean | Element can be used in SELECT |
| SupportsUpdates | boolean | Values can be inserted or updated in the element |
| IsCaseSensitive | boolean | Element is case-sensitive |
| IsSigned | boolean | Element is signed numeric value |
| IsCurrency | boolean | Element represents monetary value |
| IsAutoIncremented | boolean | Element is auto-incremented in the source |
| NullType | string | Nullability: "Nullable", "No Nulls", "Unknown" |
| MinRange | string | Minimum numeric value |
| MaxRange | string | Maximum numeric value |
| SearchType | string | Searchability: "Searchable", "All Except Like", "Like Only", "Unsearchable" |
| Format | string | Format of string value |
| DefaultValue | string | Default value |
| JavaClass | string | Java class that will be returned |
| Precision | integer | Number of digits in numeric value |
| CharOctetLength | integer | Measure of return value size |
| Radix | integer | Radix for numeric values |
| GroupUpperName | string | Upper-case full group name |
| UpperName | string | Upper-case element name |
| UID | string | Element unique ID |
| Description | string | Description |
System.ElementProperties
This table supplies user-defined properties on groups based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupFullName | string | Full group name |
| ElementName | string | Element name |
| Name | string | Property name |
| Value | string | Property value |
| GroupName | string | Short group name |
| ElementUpperName | string | Upper-case element name |
| GroupUpperName | string | Upper-case group name |
| UID | string | Element unique ID |
System.Keys
This table supplies information about primary, foreign, and unique keys.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupFullName | string | Full group name |
| Name | string | Key name |
| Description | string | Description |
| NameInSource | string | Name of key in source system |
| Type | string | Type of key: "Primary", "Foreign", "Unique", etc |
| IsIndexed | boolean | True if key is indexed |
| GroupName | string | Short group name |
| GroupUpperName | string | Upper-case full group name |
| RefKeyUID | string | Referenced key UID (if foreign key) |
| UID | string | Key unique ID |
System.KeyProperties
This table supplies user-defined properties on keys based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupFullName | string | Full group name |
| KeyName | string | Key name |
| Name | string | Extension property name |
| Value | string | Extension property value |
| GroupName | string | Short group name |
| GroupUpperName | string | Upper-case full group name |
| UID | string | Key unique ID |
System.KeyElements
This table supplies information about the elements referenced by a key.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| GroupFullName | string | Full group name |
| Name | string | Element name |
| KeyName | string | Key name |
| KeyType | string | Key type: "Primary", "Foreign", "Unique", etc |
| GroupName | string | Short group name |
| GroupUpperName | string | Upper case full group name |
| RefKeyUID | string | Referenced key UID |
| UID | string | Key UID |
| Position | integer | Position in key |
Procedure Metadata
System.Procedures
This table supplies information about the procedures in the virtual database.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| Name | string | Procedure name |
| NameInSource | string | Procedure name in source system |
| ReturnsResults | boolean | Returns a result set |
| ModelUID | string | Model UID |
| UID | string | Procedure UID |
| Description | string | Description |
| FullName | string | Full procedure name |
System.ProcedureProperties
This table supplies user-defined properties on procedures based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| ProcedureName | string | Procedure name |
| Name | string | Property name |
| Value | string | Property value |
| UID | string | Procedure UID |
System.ProcedureParams
This supplies information on procedure parameters.
| Column Name | Type | Description |
|---|---|---|
| ModelName | string | Model name |
| ProcedureName | string | Procedure name |
| Name | string | Parameter name |
| DataType | string | MetaMatrix runtime data type name |
| Position | integer | Position in procedure args |
| Type | string | Parameter direction: "In", "Out", "InOut", "ResultSet", "ReturnValue" |
| Optional | boolean | Parameter is optional |
| Precision | integer | Precision of parameter |
| TypeLength | integer | Length of parameter value |
| Scale | integer | Scale of parameter |
| Radix | integer | Radix of parameter |
| NullType | string | Nullability: "Nullable", "No Nulls", "Unknown" |
Datatype Metadata
System.DataTypes
This table supplies information on data types.
| Column Name | Type | Description |
|---|---|---|
| Name | string | MetaMatrix design-time type name |
| IsStandard | boolean | Always false |
| IsPhysical | boolean | Always false |
| TypeName | string | Design-time type name (same as Name) |
| JavaClass | string | Java class returned for this type |
| Scale | integer | Max scale of this type |
| TypeLength | integer | Max length of this type |
| NullType | string | Nullability: "Nullable", "No Nulls", "Unknown" |
| IsSigned | boolean | Is signed numeric? |
| IsAutoIncremented | boolean | Is auto-incremented? |
| IsCaseSensitive | boolean | Is case-sensitive? |
| Precision | integer | Max precision of this type |
| Radix | integer | Radix of this type |
| SearchType | string | Searchability: "Searchable", "All Except Like", "Like Only", "Unsearchable" |
| UID | string | Data type unique ID |
| RuntimeType | string | MetaMatrix runtime data type name |
| BaseType | string | Base type |
| Description | string | Description of type |
System.DataTypeProperties
This table supplies user-defined properties on data types based on metamodel extensions. Normally, this table is empty if no metamodel extensions are being used.
| Column Name | Type | Description |
|---|---|---|
| DataType | string | Data type name |
| Name | string | Property name |
| Value | string | Property value |
| UID | string | Data type UID |