<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ ModeShape (http://www.modeshape.org)
  ~
  ~ See the COPYRIGHT.txt file distributed with this work for information
  ~ regarding copyright ownership.  Some portions may be licensed
  ~ to Red Hat, Inc. under one or more contributor license agreements.
  ~ See the AUTHORS.txt file in the distribution for a full listing of 
  ~ individual contributors.
  ~
  ~ ModeShape is free software. Unless otherwise indicated, all code in ModeShape
  ~ is licensed to you under the terms of the GNU Lesser General Public License as
  ~ published by the Free Software Foundation; either version 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ ModeShape is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  ~ or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
  ~ for more details.
  ~
  ~ You should have received a copy of the GNU Lesser General Public License
  ~ along with this distribution; if not, write to:
  ~ Free Software Foundation, Inc.
  ~ 51 Franklin Street, Fifth Floor
  ~ Boston, MA  02110-1301  USA
  -->
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"	[
<!ENTITY % CustomDTD SYSTEM "../../custom.dtd">
%CustomDTD;
]>
<chapter id="teiid-vdb-sequencer">
  <title>Teiid VDB Sequencer</title>
    <para>
		  <ulink url="http://www.jboss.org/teiiddesigner">Teiid Designer</ulink>,
		  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 <emphasis>virtual database</emphasis>, which can be deployed to a Teiid runtime engine.
		</para>
		<para>
			<ulink url="http://www.jboss.org/teiid">Teiid</ulink> 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.
		</para>
		<para>
			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.
		</para>
		<para>
			The &VdbSequencer; has no properties for changing behavior.
		</para>
  <sect1 id="teiid-vdb-sequencer-uuids">
    <title>UUIDs and References</title>
		<para>
			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 
			<link linkend="teiid-model-sequencer">Teiid Model Sequencer</link>.
		</para>
	</sect1>
  <sect1 id="teiid-vdb-sequencer-nodetypes">
    <title>Node Types</title>
		<para>
			The VDB sequencer follows JCR best-practices by defining all nodes to have a primary type of "<code>nt:unstructured</code>" (or a node type that extends
			"<code>nt:unstructured</code>"), 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.
		</para>
		<para>
			The VDB sequencer reuses all of the <link linkend="teiid-model-sequencer-nodetypes">model node types</link> from the
			<link linkend="teiid-model-sequencer">Teiid Model Sequencer</link>, 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 "<code>modeshape-sequencer-teiid</code>" JAR file (or source) for the official
			definitions.
		</para>
	  <sect2 id="teiid-model-sequencer-nodetypes-vdb">
	    <title>VDB Namespace</title>
			<para>
				The compact node definitions for the "vdb" namespace are as follows:
			</para>
<programlisting><![CDATA[
<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)
]]></programlisting>
		</sect2>
	</sect1>
  <sect1 id="teiid-vdb-sequencer-using">
    <title>Configuration</title>
    <para>
        To use this sequencer, simply include the <code>modeshape-sequencer-teiid-&versionNumber;.jar</code> file
        in your application and define a sequencing configuration in the ModeShape configuration, using something similar to:
    </para>
   	<programlisting language="XML" role="XML"><![CDATA[
<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>
]]></programlisting>
		<para>or using the &JcrConfiguration;:</para>
   	<programlisting language="JAVA" role="JAVA"><![CDATA[
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");
]]></programlisting>
	</sect1>
  <sect1 id="teiid-vdb-sequencer-example">
    <title>Example</title>
    <para>
       Here is a representation of the nodes output by the sequencing of an example "<code>qe.2.vdb</code>" virtual database:
    </para>
  	<programlisting><![CDATA[
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"
]]></programlisting>
	</sect1>
</chapter>
