JBoss.org Community Documentation

- Prev
- Next

## Chapter 33. Teiid VDB Sequencer

Teiid Designer, is a visual tool that enables rapid, model-driven definition, integration, management and testing of data services without programming using the Teiid runtime engine. It is capable of modeling several different kinds of data structures, but the most common and widely-used are relational models that describe a relational database schema, including the catalogs/schemas, tables, views, columns, primary keys, foreign keys, indexes, procedures, procedure results, procedure results, and logical relationships. Teiid Designer can reverse-engineer a relational model from a JDBC relational database or DDL file. It can also define "virtual" models that are transformations of other models (where the transformations are defined in terms of SQL select, insert, update, and delete statements). These models can then be packaged into a virtual database, which can be deployed to a Teiid runtime engine.

Teiid is a high-performance database virtualization engine that allows JDBC and ODBC client applications access the virtual database as if it were a real database, using relational, XML, XQuery and procedural queries. Teiid dynamically (and in real-time) figures out how to answer the queries and operations issued by clients by efficiently accessing and manipulating the data inside the underlying data sources. Teiid's sophisticated engine is able to plan and optimize these operations, even when multiple heterogeneous relational and non-relational data sources must be accessed to obtain the required information.

The Teiid VDB sequencer parses the VDB archive files produced by the Teiid Designer, and extracts the structured relational data model described by each of the contained XMI files. This means that when VDB files are uploaded into a ModeShape repository, the sequencer writes to the repository all this virtual database and relational metadata contained in the VDB, where it can be queried and accessed by JCR, RESTful, and even JDBC clients.

The `VdbSequencer` has no properties for changing behavior.

## 33.1. UUIDs and References

A Teiid virtual database file is entirely self-contained: it contains all of the models required for the VDB. No model can contain references to objects outside of these models, so the entire VDB archive is consistent and complete. When the sequencer extracts the relational information from these models, it automatically resolves all references. Also, the resulting content is independent of any the content from all other previous sequencing operations, including that of the Teiid Model Sequencer.

## 33.2. Node Types

The VDB sequencer follows JCR best-practices by defining all nodes to have a primary type of "`nt:unstructured`" (or a node type that extends "`nt:unstructured`"), meaning it's possible and valid for any node to have any property (with single or multiple values). However, it is still useful to capture the metadata about what that node represents, and so the sequencer use mixins for this.

The VDB sequencer reuses all of the model node types from the Teiid Model Sequencer, plus several new node types that are used for the VDB-specific metadata, as described below. Note that these are non-normative definitions of the node types; see the CND files in the "`modeshape-sequencer-teiid`" JAR file (or source) for the official definitions.

### 33.2.1. VDB Namespace

The compact node definitions for the "vdb" namespace are as follows:

    <nt  = "http://www.jcp.org/jcr/nt/1.0">
    <xmi = "http://www.omg.org/XMI">
    <vdb = "http://www.metamatrix.com/metamodels/VirtualDatabase">
    <mmcore = "http://www.metamatrix.com/metamodels/Core">

    //------------------------------------------------------------------------------
    // N O D E T Y P E S
    //------------------------------------------------------------------------------

    [vdb:virtualDatabase] > nt:unstructured
     - vdb:description (string)
     - vdb:version (long) = '1'
     - vdb:preview (boolean) = 'false'
     - vdb:originalFile (string)
     - mmcore:sha1 (string)

    [vdb:model] > xmi:model, mmcore:model
     - vdb:visible (boolean) = 'true'
     - vdb:checksum (long)
     - vdb:builtIn (boolean) = 'false'
     - vdb:pathInVdb (string)
     - vdb:sourceTranslator (string)
     - vdb:sourceJndiName (string)
     - vdb:sourceName (string)
     + vdb:markers (vdb:markers) = vdb:markers copy

    [vdb:markers] > nt:unstructured
     + vdb:marker (vdb:marker) = vdb:marker copy sns

    [vdb:marker] > nt:unstructured
     - vdb:severity (string) = 'WARNING' < 'WARNING','ERROR','INFO'
     - vdb:path (string)
     - vdb:message (string)

## 33.3. Configuration

To use this sequencer, simply include the `modeshape-sequencer-teiid-2.8.3.Final.jar` file in your application and define a sequencing configuration in the ModeShape configuration, using something similar to:

    <configuration xmlns:mode="http://www.modeshape.org/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0">

        <mode:sequencers>

              ...

            <mode:sequencer jcr:name="Teiid VDB Sequencer" mode:classname="org.modeshape.sequencer.teiid.VdbSequencer">

                <mode:description>Sequences Teiid Virtual Databases (e.g., *.vdb) loaded into the repository under '/files', extracting the VDB metadata and the structure defined in the VDB's relational models.</mode:description>

                <!-- Note this path expression captures the path below '/files' but excludes the filename, and places the sequenced

                     content under the same relative path below '/sequenced/teiid/models'. For example, if a VDB file is uploaded

                     to '/files/my/favorites/Customers.vdb', then the sequenced output will be placed at

                     the '/sequenced/teiid/models/Customer' node, which will have a primary type of 'vdb:virtualDatabase' and will

                     contain under it the nodes representing the models (which will each contain the nodes representing that

                     model's catalogs, schemas, tables, views, columns, etc.).  Of course, the path expression

                     can be modified as needed; for example, to include the filename of the XMI model in the sequenced output path. -->

                <mode:pathExpression>/files(//)(*.vdb[*])/jcr:content[@jcr:data] => /sequenced/teiid/vdbs$1 </mode:pathExpression>

            </mode:sequencer>

            ...

        </mode:sequencers>

        ...

    </configuration>

or using the `JcrConfiguration`:

    JcrConfiguration config = ...

    config.sequencer("Teiid VDB Sequencer")

          .usingClass(VdbSequencer.class)

          .setDescription("Sequences Teiid VDBs")

          .sequencingFrom("/files(//)(*.vdb[*])/jcr:content[@jcr:data]")

          .andOutputtingTo("/sequenced/teiid/vdbs$1");

## 33.4. Example

Here is a representation of the nodes output by the sequencing of an example "`qe.2.vdb`" virtual database:

    qe jcr:primaryType="vdb:virtualDatabase"
      - jcr:mixinTypes=["mix:referenceable", "mode:derived"]
      - jcr:uuid="1d110326-f8e9-4f5e-becd-2f3e4d63296e"
      - mode:derivedAt="2011-05-13T13:12:03.925Z"
      - mode:derivedFrom="/files/foo.vdb"
      - vdb:description="This VDB is for testing Recursive XML documents and Text Sources"
      - vdb:originalFile="/vdb/qe.vdb"
      - vdb:preview="false"
      - mode:sha1="4cec9166f20a8d3772a1cfddb493329e35c3adb7"
      - vdb:version="2"
      text jcr:primaryType="vdb:model" jcr:mixinTypes=["mmcore:model","mix:referenceable","xmi:referenceable"] jcr:uuid="5cffd0ee-2edd-44af-8a8d-46459d849afe"
        - vdb:builtIn="true"
        - vdb:checksum="958072371"
        - mmcore:maxSetSize="100"
        - mmcore:modelType="PHYSICAL"
        - mmcore:originalFile="/vdb/qe.vdb"
        - vdb:pathInVdb="QuickText/text.xmi"
        - mmcore:primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"
        - mmcore:producerName="Teiid Designer"
        - mmcore:producerVersion="7.0.0.v20100807-1026-H168-M1"
        - mode:sha1="893accdcb0745f8061626b4ab60079daeb3eb74f"
        - vdb:sourceJndiName="empdata-file"
        - vdb:sourceName="text"
        - vdb:sourceTranslator="file"
        - mmcore:supportsDistinct="true"
        - mmcore:supportsJoin="true"
        - mmcore:supportsOrderBy="true"
        - mmcore:supportsOuterJoin="true"
        - mmcore:supportsWhereAll="true"
        - xmi:uuid="ba1f1ca6-b9a7-44f8-9d89-8d9ba9f801ba"
        - xmi:version="2.0"
        - mmcore:visible="true"
        - vdb:visible="true"
        vdb:markers jcr:primaryType="vdb:markers"
          vdb:marker jcr:primaryType="vdb:marker"
            - vdb:message="Missing or invalid Length on column with a string/character datatype  (See validation Preferences)"
            - vdb:path="getTextFiles/NewProcedureResult/filePath"
            - vdb:severity="WARNING"
        XMLSchema jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="1787cc24-d545-437c-a7ef-e18569eec9c3"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:5a23faba-871a-490e-9799-efdffea80b6b"
        SimpleDatatypes-instance jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="4e11258b-06e2-4d39-8a10-7e6b8e02dc37"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:b09c455c-1c5a-4de4-8373-e823482ce517"
        getTextFiles jcr:primaryType="relational:procedure" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="137968e0-e375-43c3-b25a-03953ff975ff"
          - xmi:uuid="bf60b5cb-fd8c-474a-9f4c-68eb42ca40f2"
          pathAndPattern jcr:primaryType="relational:procedureParameter" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="2a2de9a3-561d-4d14-82cf-8155b965d2bb"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - xmi:uuid="f44bb026-8bdf-413b-b705-65dcd40bf437"
          NewProcedureResult jcr:primaryType="relational:procedureResult" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="b5d7be35-9a73-477e-ab20-5a4b9248da9f"
            - xmi:uuid="eb2f5c65-bede-4dd2-8c85-441c240ebca1"
            file jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="2ebe184b-25ce-4cb4-89f4-0e6289112c68"
              - relational:autoIncremented="false"
              - relational:caseSensitive="true"
              - relational:currency="false"
              - relational:distinctValueCount="-1"
              - relational:nullValueCount="-1"
              - relational:nullable="NULLABLE"
              - relational:radix="10"
              - relational:searchability="SEARCHABLE"
              - relational:selectable="true"
              - relational:signed="true"
              - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#clob"
              - relational:typeName="clob"
              - relational:typeXmiUuid="559646c0-4941-1ece-b22b-f49159d22ad3"
              - relational:updateable="true"
              - xmi:uuid="092a2a85-7ec6-40da-9437-afd0812eccbb"
            filePath jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="ec43aa0d-20df-49ff-8b4f-ed95961aa9a5"
              - relational:autoIncremented="false"
              - relational:caseSensitive="true"
              - relational:currency="false"
              - relational:distinctValueCount="-1"
              - relational:nullValueCount="-1"
              - relational:nullable="NULLABLE"
              - relational:radix="10"
              - relational:searchability="SEARCHABLE"
              - relational:selectable="true"
              - relational:signed="true"
              - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
              - relational:typeName="string"
              - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
              - relational:updateable="true"
              - xmi:uuid="232d5fd7-e5a6-49a7-bd5f-e5d6b7e753a3"
      Employees jcr:primaryType="vdb:model" jcr:mixinTypes=["mmcore:model","mix:referenceable","xmi:referenceable"] jcr:uuid="88ca643b-ebab-43a1-902c-462f3ea17fd8"
        - vdb:builtIn="true"
        - vdb:checksum="1269937912"
        - mmcore:maxSetSize="100"
        - mmcore:modelType="VIRTUAL"
        - mmcore:originalFile="/vdb/qe.vdb"
        - vdb:pathInVdb="QuickEmployees/Employees.xmi"
        - mmcore:primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"
        - mmcore:producerName="Teiid Designer"
        - mmcore:producerVersion="7.0.0.v20100807-1026-H168-M1"
        - mode:sha1="a63c108098232739aad1d6ab4cf0d3cc1911aa12"
        - mmcore:supportsDistinct="true"
        - mmcore:supportsJoin="true"
        - mmcore:supportsOrderBy="true"
        - mmcore:supportsOuterJoin="true"
        - mmcore:supportsWhereAll="true"
        - xmi:uuid="9c034c0d-10c7-4fa5-beae-ff602bfcf88e"
        - xmi:version="2.0"
        - mmcore:visible="true"
        - vdb:visible="true"
        vdb:markers jcr:primaryType="vdb:markers"
          vdb:marker jcr:primaryType="vdb:marker"
            - vdb:message="Possible cross-join: Group/s '[f, emp]' are not joined either directly or transitively to other groups through a join criteria. Check all queries in the transformation."
            - vdb:path="EmpTable"
            - vdb:severity="WARNING"
        text jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="ee4b288a-47b0-4c81-98e5-ddf01f8a4cda"
          - mmcore:modelType="PHYSICAL"
          - mmcore:primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"
          - xmi:uuid="mmuuid:46ba6b40-bb81-43ba-996e-6f3ebaffea3b"
        SimpleDatatypes-instance jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="98b1dbae-5ad6-4439-adb0-64d6e5d0a42f"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:36a2080b-7243-445c-a153-79a19d42f558"
        XMLSchema jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="71eba18c-195e-47ec-b925-415f981bcd45"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:ea4a1ff7-fa32-4348-b5a2-192c554b70a4"
        EmpTable jcr:primaryType="relational:baseTable" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="6209d827-62eb-4909-8e66-edbf615a42db"
          - transform:deleteAllowed="true"
          - transform:deleteSqlDefault="true"
          - transform:inputHrefs="../QuickText/text.xmi#mmuuid/bf60b5cb-fd8c-474a-9f4c-68eb42ca40f2"
          - transform:inputNames="getTextFiles"
          - transform:inputXmiUuids="bf60b5cb-fd8c-474a-9f4c-68eb42ca40f2"
          - transform:inputs="137968e0-e375-43c3-b25a-03953ff975ff"
          - transform:insertAllowed="true"
          - transform:insertSqlDefault="true"
          - relational:materialized="false"
          - transform:selectSql="SELECT * FROM (EXEC text.getTextFiles('EmpData.txt')) AS f, TEXTTABLE(F.file COLUMNS lastName string, firstName string, middleName string, empId biginteger, department string, annualSalary double, title string, homePhone string, mgrId biginteger, street string, city string, state string, ZipCode string HEADER 3) AS emp"
          - relational:supportsUpdate="true"
          - relational:system="false"
          - transform:updateAllowed="true"
          - transform:updateSqlDefault="true"
          - xmi:uuid="6179a495-7b7e-4e12-9da3-998e4f709de4"
          file jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="de7902d1-9782-4137-a002-85681e45c0c6"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="../QuickText/text.xmi#mmuuid/092a2a85-7ec6-40da-9437-afd0812eccbb"
            - transform:inputNames="file"
            - transform:inputXmiUuids="092a2a85-7ec6-40da-9437-afd0812eccbb"
            - transform:inputs="2ebe184b-25ce-4cb4-89f4-0e6289112c68"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#clob"
            - relational:typeName="clob"
            - relational:typeXmiUuid="559646c0-4941-1ece-b22b-f49159d22ad3"
            - relational:updateable="true"
            - xmi:uuid="5ca79549-8edc-4972-9d05-cb3066d41676"
          filePath jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="4b19a0f6-d65b-4b5b-845f-f30027947f6c"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="../QuickText/text.xmi#mmuuid/232d5fd7-e5a6-49a7-bd5f-e5d6b7e753a3"
            - transform:inputNames="filePath"
            - transform:inputXmiUuids="232d5fd7-e5a6-49a7-bd5f-e5d6b7e753a3"
            - transform:inputs="ec43aa0d-20df-49ff-8b4f-ed95961aa9a5"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="fea43d8f-94e4-41f3-9743-3286f8c28590"
          lastName jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="6672adb4-1ded-4289-989d-3b707fc7384b"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="f0b80cce-dd11-44b7-ab2d-4e382befd701"
          firstName jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="13986096-1e2f-483b-b603-3e7098bc0897"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="aae0eea7-fb09-4b46-9a41-8815bf5331db"
          middleName jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="53ba886e-e6b7-4771-8a70-bf0e6c9cad63"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="74333281-f3f8-4907-8ac1-4c819dfc76a8"
          empId jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="80fcf4ac-d51d-4d24-b84f-3db7dbbcfa2b"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#biginteger"
            - relational:typeName="biginteger"
            - relational:typeXmiUuid="822b9a40-a066-1e26-9b08-d6079ebe1f0d"
            - relational:updateable="true"
            - xmi:uuid="5e42fcfc-fe7a-476d-8b55-8a5ce0cd7050"
          department jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="8c805831-d1f9-4070-9e4b-a95234e6a7d7"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="36ea6df0-ddc0-4311-be2e-f4a6cbe2b580"
          annualSalary jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="d9ee87bd-3567-4446-80f8-17bead52dd4b"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#double"
            - relational:typeName="double"
            - relational:typeXmiUuid="1f18b140-c4a3-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="79c7b080-c9de-42c9-b252-a449d44e5d34"
          title jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="794a1e06-6160-4255-8f7a-23f30e5e9af5"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="001ac238-21c6-45f3-8959-3fa0c7bea6c6"
          homePhone jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="24edebac-093d-4aaf-8063-2b4e48c9f08d"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="432c3937-e7ad-40de-9cb4-deb9d52511b2"
          mgrId jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="c61173a4-27c8-41c2-bebf-05e24fa82f94"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#biginteger"
            - relational:typeName="biginteger"
            - relational:typeXmiUuid="822b9a40-a066-1e26-9b08-d6079ebe1f0d"
            - relational:updateable="true"
            - xmi:uuid="9c7b26dc-bbf6-4b83-9f03-438ad6a0b3f0"
          street jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="ae505cbf-13bd-4c87-b020-526dece5c8b9"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="1181dfe5-0d2b-4331-b10b-5d6409dd6cbe"
          city jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="7f32a1c1-622f-40ff-8005-ab42bb02a857"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="60792162-1659-416b-a6da-b78119429247"
          state jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="41067115-320e-44e3-a70a-8a71e85fa8d8"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="67ed3d16-7fd6-43bb-b16a-61579a49db91"
          ZipCode jcr:primaryType="relational:column" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="93c47676-fec3-46fa-aa19-777be6136de2"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="2c2267b6-bddf-4d42-aef8-7d24e7527b65"
      EmpV jcr:primaryType="vdb:model" jcr:mixinTypes=["mmcore:model","mix:referenceable","xmi:referenceable"] jcr:uuid="c9722b47-03ad-4cdd-81d1-d75e639517a1"
        - vdb:builtIn="true"
        - vdb:checksum="2273245105"
        - mmcore:maxSetSize="100"
        - mmcore:modelType="VIRTUAL"
        - mmcore:originalFile="/vdb/qe.vdb"
        - vdb:pathInVdb="QuickEmployees/EmpV.xmi"
        - mmcore:primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"
        - mmcore:producerName="Teiid Designer"
        - mmcore:producerVersion="7.0.0.v20100807-1026-H168-M1"
        - mode:sha1="502cc1e3dbec4c5cd880662473e8dc2a668d5e78"
        - mmcore:supportsDistinct="true"
        - mmcore:supportsJoin="true"
        - mmcore:supportsOrderBy="true"
        - mmcore:supportsOuterJoin="true"
        - mmcore:supportsWhereAll="true"
        - xmi:uuid="e17f3917-d880-4bad-9a19-7d0f8f3d2135"
        - xmi:version="2.0"
        - mmcore:visible="true"
        - vdb:visible="true"
        vdb:markers jcr:primaryType="vdb:markers"
          vdb:marker jcr:primaryType="vdb:marker"
            - vdb:message="Missing or invalid Precision on column with a numeric datatype (See validation Preferences)"
            - vdb:path="EmpTable/empId"
            - vdb:severity="WARNING"
        XMLSchema jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="54a5401e-3bab-4918-81cb-4a278d0263c4"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:deb854d2-af4d-4158-9846-4ac17f207291"
        SimpleDatatypes-instance jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="699f153e-7301-4ef4-bffa-7522475f8c0a"
          - mmcore:modelType="TYPE"
          - mmcore:primaryMetamodelUri="http://www.eclipse.org/xsd/2002/XSD"
          - xmi:uuid="mmuuid:6471e823-eeee-46e8-8d7d-fb00b336cfe7"
        Employees jcr:primaryType="mmcore:import" jcr:mixinTypes=["mix:referenceable","xmi:referenceable"] jcr:uuid="5f672add-38cd-469f-a180-ac75306298b5"
          - mmcore:modelType="VIRTUAL"
          - mmcore:primaryMetamodelUri="http://www.metamatrix.com/metamodels/Relational"
          - xmi:uuid="mmuuid:5806eb6e-fc70-4ad7-b7ff-13f14ec00ca2"
        EmpTable jcr:primaryType="relational:baseTable" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="0568b4b9-44c9-4798-9bee-662094015d67"
          - transform:deleteAllowed="true"
          - transform:deleteSqlDefault="true"
          - transform:inputHrefs="Employees.xmi#mmuuid/6179a495-7b7e-4e12-9da3-998e4f709de4"
          - transform:inputNames="EmpTable"
          - transform:inputXmiUuids="6179a495-7b7e-4e12-9da3-998e4f709de4"
          - transform:inputs="6209d827-62eb-4909-8e66-edbf615a42db"
          - transform:insertAllowed="true"
          - transform:insertSqlDefault="true"
          - relational:materialized="false"
          - transform:selectSql="SELECT "Employees.EmpTable.lastName", "Employees.EmpTable.firstName", "Employees.EmpTable.middleName", "Employees.EmpTable.empId", "Employees.EmpTable.department", "Employees.EmpTable.annualSalary", "Employees.EmpTable.title", "Employees.EmpTable.homePhone", "Employees.EmpTable.mgrId", "Employees.EmpTable.street", "Employees.EmpTable.city", "Employees.EmpTable.state", "Employees.EmpTable.ZipCode" FROM "Employees.EmpTable""
          - relational:supportsUpdate="true"
          - relational:system="false"
          - transform:updateAllowed="true"
          - transform:updateSqlDefault="true"
          - xmi:uuid="92cbc96b-f080-42d6-85dc-95cd07edd682"
          lastName jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="cf26def7-de5a-4a1a-8276-f48d988439e4"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/f0b80cce-dd11-44b7-ab2d-4e382befd701"
            - transform:inputNames="lastName"
            - transform:inputXmiUuids="f0b80cce-dd11-44b7-ab2d-4e382befd701"
            - transform:inputs="6672adb4-1ded-4289-989d-3b707fc7384b"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="a4c30553-7f10-445b-971b-c54cee534639"
          firstName jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="5b932651-6de2-4e89-917f-0d515a5270b0"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/aae0eea7-fb09-4b46-9a41-8815bf5331db"
            - transform:inputNames="firstName"
            - transform:inputXmiUuids="aae0eea7-fb09-4b46-9a41-8815bf5331db"
            - transform:inputs="13986096-1e2f-483b-b603-3e7098bc0897"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="a48c7515-d271-45ed-8920-22cf8c9d01bb"
          middleName jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="ac7511b4-4b3d-4d42-886e-26ea5b669b5b"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/74333281-f3f8-4907-8ac1-4c819dfc76a8"
            - transform:inputNames="middleName"
            - transform:inputXmiUuids="74333281-f3f8-4907-8ac1-4c819dfc76a8"
            - transform:inputs="53ba886e-e6b7-4771-8a70-bf0e6c9cad63"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="1d792d5e-ae70-4855-b59f-3eb7dceeb5a3"
          empId jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="d1a61bb1-f94d-40c9-bee7-f91d12b26d80"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/5e42fcfc-fe7a-476d-8b55-8a5ce0cd7050"
            - transform:inputNames="empId"
            - transform:inputXmiUuids="5e42fcfc-fe7a-476d-8b55-8a5ce0cd7050"
            - transform:inputs="80fcf4ac-d51d-4d24-b84f-3db7dbbcfa2b"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#biginteger"
            - relational:typeName="biginteger"
            - relational:typeXmiUuid="822b9a40-a066-1e26-9b08-d6079ebe1f0d"
            - relational:updateable="true"
            - xmi:uuid="d9cc45f7-c9de-44f9-b22e-3674b1a7d33c"
          department jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="46c5910c-0cb0-481c-bbad-577e52ac9c96"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/36ea6df0-ddc0-4311-be2e-f4a6cbe2b580"
            - transform:inputNames="department"
            - transform:inputXmiUuids="36ea6df0-ddc0-4311-be2e-f4a6cbe2b580"
            - transform:inputs="8c805831-d1f9-4070-9e4b-a95234e6a7d7"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="19932ef1-4794-496d-a98b-027971cb5599"
          annualSalary jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="61cb7c5a-c7f8-420d-b84a-0a4cabceed81"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/79c7b080-c9de-42c9-b252-a449d44e5d34"
            - transform:inputNames="annualSalary"
            - transform:inputXmiUuids="79c7b080-c9de-42c9-b252-a449d44e5d34"
            - transform:inputs="d9ee87bd-3567-4446-80f8-17bead52dd4b"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#double"
            - relational:typeName="double"
            - relational:typeXmiUuid="1f18b140-c4a3-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="925999e2-15a5-4728-a76e-e0c9ae235d80"
          title jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="e2db3e5e-d2c9-462c-9581-24c700792f0c"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/001ac238-21c6-45f3-8959-3fa0c7bea6c6"
            - transform:inputNames="title"
            - transform:inputXmiUuids="001ac238-21c6-45f3-8959-3fa0c7bea6c6"
            - transform:inputs="794a1e06-6160-4255-8f7a-23f30e5e9af5"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="36cf25e4-5164-4c9f-81a9-572d0fc11e8b"
          homePhone jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="6ef5a18f-db08-44e6-beb0-d7e6842f3ca5"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/432c3937-e7ad-40de-9cb4-deb9d52511b2"
            - transform:inputNames="homePhone"
            - transform:inputXmiUuids="432c3937-e7ad-40de-9cb4-deb9d52511b2"
            - transform:inputs="24edebac-093d-4aaf-8063-2b4e48c9f08d"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="8a782b60-0296-4e10-85b1-e0ec03b34d00"
          mgrId jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="11a41f81-5a32-434a-8cd9-04bbbdc4b00c"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/9c7b26dc-bbf6-4b83-9f03-438ad6a0b3f0"
            - transform:inputNames="mgrId"
            - transform:inputXmiUuids="9c7b26dc-bbf6-4b83-9f03-438ad6a0b3f0"
            - transform:inputs="c61173a4-27c8-41c2-bebf-05e24fa82f94"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#biginteger"
            - relational:typeName="biginteger"
            - relational:typeXmiUuid="822b9a40-a066-1e26-9b08-d6079ebe1f0d"
            - relational:updateable="true"
            - xmi:uuid="4f0439b3-8899-44f9-99a6-30971c4a563f"
          street jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="8b7dea23-1a6b-4a76-9fbf-5b4770b8cac9"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/1181dfe5-0d2b-4331-b10b-5d6409dd6cbe"
            - transform:inputNames="street"
            - transform:inputXmiUuids="1181dfe5-0d2b-4331-b10b-5d6409dd6cbe"
            - transform:inputs="ae505cbf-13bd-4c87-b020-526dece5c8b9"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="c68dfbeb-bc26-4932-ae0b-d354ed000a4e"
          city jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="a1c94897-33ae-4d9e-9dd5-7c9a09e7ebf2"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/60792162-1659-416b-a6da-b78119429247"
            - transform:inputNames="city"
            - transform:inputXmiUuids="60792162-1659-416b-a6da-b78119429247"
            - transform:inputs="7f32a1c1-622f-40ff-8005-ab42bb02a857"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="b27874ae-4c7b-4545-84f1-5d95c6a70b3a"
          state jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="d5fded76-1ddc-4a87-af76-a566bb5919dc"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/67ed3d16-7fd6-43bb-b16a-61579a49db91"
            - transform:inputNames="state"
            - transform:inputXmiUuids="67ed3d16-7fd6-43bb-b16a-61579a49db91"
            - transform:inputs="41067115-320e-44e3-a70a-8a71e85fa8d8"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="248a034b-7331-46ee-a4a4-5db5176ce1bc"
          ZipCode jcr:primaryType="relational:column" jcr:mixinTypes=["transform:transformed","mix:referenceable","xmi:referenceable"] jcr:uuid="a73b2a7c-9b19-4697-ae83-f7be5cca7778"
            - relational:autoIncremented="false"
            - relational:caseSensitive="true"
            - relational:currency="false"
            - relational:distinctValueCount="-1"
            - transform:inputHrefs="Employees.xmi#mmuuid/2c2267b6-bddf-4d42-aef8-7d24e7527b65"
            - transform:inputNames="ZipCode"
            - transform:inputXmiUuids="2c2267b6-bddf-4d42-aef8-7d24e7527b65"
            - transform:inputs="93c47676-fec3-46fa-aa19-777be6136de2"
            - relational:length="10"
            - relational:nullValueCount="-1"
            - relational:nullable="NULLABLE"
            - relational:radix="10"
            - relational:searchability="SEARCHABLE"
            - relational:selectable="true"
            - relational:signed="true"
            - relational:typeHref="http://www.w3.org/2001/XMLSchema#string"
            - relational:typeName="string"
            - relational:typeXmiUuid="bf6c34c0-c442-1e24-9b01-c8207cd53eb7"
            - relational:updateable="true"
            - xmi:uuid="836656b4-30b1-4c57-a64b-f810763a4a0c"

- PrevChapter 32. Teiid Relational Model Sequencer
- Top of page
- Front page
- NextPart V. MIME Type Detector Library