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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
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 NameTypeDescription
DataType string Data type name
Name string Property name
Value string Property value
UID string Data type UID