JBoss.orgCommunity Documentation

Appendix B. Designer Metadata Usage Requirements In Teiid Runtime

Based on the metadata exposed by the Teiid Desinger the below table shows which fields are required and how that information is being used in Teiid runtime currently as of Teiid version 7.5. A ODS file attached if you like to modify.

Table B.1. Data Usage for Tables

TABLETypeIn DesignerIn Metadata APIRequiredDescription
FullNameStringYesYesYesName of the Table
NameInSourceStringYesYesYesName of Table in the source system, for view this can be empty, also used on variety of use cases
CardinalityIntegerYesYesYesCardinality is used to calculate the cost of source node access
TableTypeIntegerYesYesYesTable,View,Document,XmlMappingClass,XmlStagingTable,MaterializedTable
IsVirtualBooleanYesYesYesUsed to find if this is source table Vs view
IsSystemBooleanYesYesNoOnly used for System metadata
IsMaterializedBooleanYesYesYesTo identify that the table is materialized
SupportsUpdateBooleanYesYesYesTo allow updates on the table
PrimaryKeyIDStringYesKeyRecordYesUsed for creating indexes on temp tables and to create default update/delete procedures
ForeignKeyIDsCollectionYesList<ForeignKey>YesUsed in Planning of query (rule raise access)
IndexIDsCollectionYesList<KeyRecord>YesUsed for creating indexes on temp tables and in planning (estimate predicate cost)
UniqueKeyIDsCollectionYesList<KeyRecord>YesUsed for query planning
AccessPatternIDsCollectionYesList<KeyRecord>YesUsed for enforcing the criteria on query
MaterializedTableIDStringYesTableYesReference to Materialization table
insertEnabledBoolean**YesYesFlag for checking insert procedure is enabled for view
deleteEnabledBoolean**YesYesFlag for checking delete procedure is enabled for view
updateEnabledBoolean**YesYesFlag for checking update procedure is enabled for view
Select TransformationString**YesYesTransformation for Select in case of View
Insert PlanString**YesYesTransformation for Insert in case of View
Update PlanString**YesYesTransformation for Update in case of View
Delete PlanString**YesYesTransformation for Delete in case of View
BindingsCollection**YesYesXML Document
SchemaPathsCollection**YesYesXML Document


Table B.2. Data Usage for Columns

COLUMNTypeIn DesignerIn Metadata APIRequiredDescription
FullNameStringYesYesYesName of the column
NameInSourceStringYesYesYesName of the column in source system
IsSelectableBooleanYesYesYesColumn is allowed in select
IsUpdatableBooleanYesYesYesColumn is allowed in Update/Insert/Delete
NullTypeIntegerYesYesYesUsed for validation if null value allowed
IsAutoIncrementableBooleanYesYesYesDuring insert used to validate if a value is required or not
IsCaseSensitiveBooleanYesYes????
IsSignedBooleanYesYes??Used in System Metadata
IsCurrencyBooleanYesYesNoOnly used for System metadata
IsFixedLengthBooleanYesYesNoOnly used for System metadata
IsTranformationInputParameterBooleanYes??????
SearchTypeIntegerYesYesYesUsed for defining the capability of the source
LengthIntegerYesYes??Used in System Metadata
ScaleIntegerYesYes??Used in System Metadata
PrecisionIntegerYesYes??Used in System Metadata
CharOctetLengthIntegerYesYesNoonly used for System metadata
RadixIntegerYesYes??Used in System Metadata
DistinctValuesIntegerYesYesYesUsed for cost calculations, System metadata
NullValuesIntegerYesYesYesUsed for cost calculations, System metadata
MinValueStringYesYesYesUsed for cost calculations, System metadata
MaxValueStringYesYesYesUsed for cost calculations, System metadata
FormatStringYesYesNoOnly used for System metadata
RuntimeTypeStringYesDataTypeYesData Type
NativeTypeStringYesYesYesTranslators can use this field to further plan
DatatypeObjectIDStringYes???? 
DefaultValueStringYesYesYesUsed for Insert and procedure execute operations when the values are not supplied
PositionIntegerYesYesYesUsed in the index calculations


Table B.3. Data Usage for Primary Keys

PRIMARY KEYTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See the KeyRecord, See Table
NameInSourceString    
ColumnIDsCollection    
ForeignKeyIDsCollection   Extends KeyRecord


Table B.4. Data Usage for Unique Keys

UNIQUE KEYTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See the KeyRecord, See Table
NameInSourceString    
ColumnIDsCollection    
ForeignKeyIDsCollection    


Table B.5. Data Usage for Indexes

INDEXTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See the KeyRecord, See Table
NameInSourceString    
ColumnIDsCollection    


Table B.6. Data Usage for Access Patterns

ACCESS PATTERNSTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See the KeyRecord, See Table
NameInSourceString    
ColumnIDsCollection    


Table B.7. Data Usage for Result Sets

RESULT SETTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See DataType
NameInSourceString    
ColumnIDsCollection    


Table B.8. Data Usage for Foreign Keys

FOREIGN KEYTypeIn DesignerIn Metadata APIRequiredDescription
FullNameString   See the KeyRecord, See Table
NameInSourceString    
ColumnIDsCollection    
UniqueKeyIDString    


Table B.9. Data Usage for Data Types

DATA TYPETypeIn DesignerIn Metadata APIRequiredDescription
FullNameString  NoOnly used for System metadata
NameInSourceString  NoOnly used for System metadata
LengthInteger  NoOnly used for System metadata
PrecisionLengthInteger  NoOnly used for System metadata
ScaleInteger  NoOnly used for System metadata
RadixInteger  NoOnly used for System metadata
IsSignedBoolean  NoOnly used for System metadata
IsAutoIncrementBoolean  NoOnly used for System metadata
IsCaseSensitiveBoolean  NoOnly used for System metadata
TypeInteger  NoOnly used for System metadata
SearchTypeInteger  NoOnly used for System metadata
NullTypeInteger  NoOnly used for System metadata
JavaClassNameString  YesMaps to runtime type based on java class name
RuntimeTypeNameString  NoOnly used for System metadata
DatatypeIDString  NoOnly used for System metadata
BaseTypeIDString  NoOnly used for System metadata
PrimitiveTypeIDString  NoOnly used for System metadata
VarietyTypeInteger  NoOnly used for System metadata
VarietyPropsCollection  NoOnly used for System metadata


Table B.10. Data Usage for Procedures

PROCEDURETypeIn DesignerIn Metadata APIRequiredDescription
FullNameStringYesYesYesName of the column
NameInSourceStringYesYesYesName of the column in source system
IsFunctionBoolean YesYesDetermines if this function
IsVirtualBoolean YesYesIf Function then UDF else stored procedure
ParametersIDsCollection YesYesParameter List
ResultSetIDString YesYesResult set columns
UpdateCountInteger YesYesUpdate count defines the number of sources being updated, only applicable for virtual procedures


Table B.11. Data Usage for Procedure Parameters

PROCEDURE PARAMETERTypeIn DesignerIn Metadata APIRequiredDescription
ObjectIDString   Same as Column
FullNameString   Same as Column
nameInSourceString   Same as Column
defaultValueString   Same as Column
RuntimeTypeString   Same as Column
DatatypeObjectIDString   Same as Column
LengthInteger   Same as Column
RadixInteger   Same as Column
ScaleInteger   Same as Column
NullTypeInteger   Same as Column
PrecisionInteger   Same as Column
PositionInteger   Same as Column
TypeString  YesDefines parameter is IN/OUT/RETURN
OptionalBoolean  NoDefines if the parameter is optional or not, only used system metadata


Table B.12. Data Usage for SQL Transformations

SQL TRANSFORMATION(**)TypeIn DesignerIn Metadata APIRequiredDescription
VirtualGroupNameStringYesNoYesSee Table, the properties defined on Table
TransformedObjectIDStringYesNoYesSee Table, the properties defined on Table
TransformationObjectIDStringYesNoYesSee Table, the properties defined on Table
TransformationSqlStringYesNoYesSee Table, the properties defined on Table
BindingsCollectionYesNoYesSee Table, the properties defined on Table
SchemaPathsCollectionYesNoYesSee Table, the properties defined on Table


Table B.13. Data Usage for VDBs

VDBTypeIn DesignerIn Metadata APIRequiredDescription
FullNameStringYesvdb.xmlYesName of the VDB
NameInSourceString??NoNoNot required
VersionStringYesvdb.xmlYesVDB version
IdentifierStringYesNoNoNot required
DescriptionStringYesvdb.xmlNoUsed by System metadata
ProducerNameStringYesNoNoNot required
ProducerVersionStringYesNoNoNot required
ProviderStringYesNoNoNot required
TimeLastChangedStringYesNoNoNot required
TimeLastProducedStringYesNoNoNot required
ModelIDsCollectionYesvdb.xmlYesDefines the model list in a VDB


Table B.14. Data Usage for Annotations

ANNOTATIONTypeIn DesignerIn Metadata APIRequiredDescription
FullNameStringYesYesNoSystem metadata, as description on procedure parameter
NameInSourceStringYesNoNoNot required
DescriptionStringYesNoNoNot required