blob: bda0d27753901cf9e3403d564d6fa16d20b44259 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sqlmodel" nsURI="http:///SQLModel.ecore" nsPrefix="SQLModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eSubpackages name="schema" nsURI="http:///org/eclipse/datatools/modelbase/sql/schema.ecore" nsPrefix="SQLSchema">
<eClassifiers xsi:type="ecore:EClass" name="IdentitySpecifier" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="generationType" eType="#//schema/GenerateType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startValue" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cycleOption" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="GenerateType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="DEFAULT_GENERATED"/>
<eLiterals name="ALWAYS_GENERATED" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="setDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eParameters name="newType" eType="#//datatypes/DataType"/>
</eOperations>
<eOperations name="getDataType" eType="#//datatypes/DataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="containedType" eType="#//datatypes/SQLDataType" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedType" eType="#//datatypes/UserDefinedType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Dependency" eSuperTypes="#//schema/SQLObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="targetEnd" lowerBound="1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dependencyType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Schema" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1" eType="#//tables/Trigger" eOpposite="#//tables/Trigger/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="indices" upperBound="-1" eType="#//constraints/Index" eOpposite="#//constraints/Index/Schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tables" upperBound="-1" eType="#//tables/Table" eOpposite="#//tables/Table/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sequences" upperBound="-1" eType="#//schema/Sequence" eOpposite="#//schema/Sequence/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="database" lowerBound="1" eType="#//schema/Database" eOpposite="#//schema/Database/schemas"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="Catalog" lowerBound="1" eType="#//schema/Catalog" eOpposite="#//schema/Catalog/schemas"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="assertions" upperBound="-1" eType="#//constraints/Assertion" eOpposite="#//constraints/Assertion/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="userDefinedTypes" upperBound="-1" eType="#//datatypes/UserDefinedType" eOpposite="#//datatypes/UserDefinedType/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="charSets" upperBound="-1" eType="#//datatypes/CharacterSet" eOpposite="#//datatypes/CharacterSet/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="routines" upperBound="-1" eType="#//routines/Routine" eOpposite="#//routines/Routine/schema"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/ownedSchema"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLObject" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="addEAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation">
<eParameters name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="addEAnnotationDetail">
<eParameters name="eAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"/>
<eParameters name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEAnnotationDetail" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eParameters name="eAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"/>
<eParameters name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="setAnnotationDetail">
<eParameters name="eAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"/>
<eParameters name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="removeEAnnotationDetail">
<eParameters name="eAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"/>
<eParameters name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEAnnotation" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation">
<eParameters name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="dependencies" upperBound="-1" eType="#//schema/Dependency" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="comments" upperBound="-1" eType="#//schema/Comment" eOpposite="#//schema/Comment/SQLObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="privileges" upperBound="-1" eType="#//accesscontrol/Privilege" eOpposite="#//accesscontrol/Privilege/object"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Sequence" eSuperTypes="#//schema/TypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="identity" lowerBound="1" eType="#//schema/IdentitySpecifier" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/sequences"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Database" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getUserDefinedTypes" eType="#//schema/List"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vendor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schemas" upperBound="-1" eType="#//schema/Schema" eOpposite="#//schema/Schema/database"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//schema/Event" eOpposite="#//schema/Event/Database"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="catalogs" upperBound="-1" eType="#//schema/Catalog" eOpposite="#//schema/Catalog/Database"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="authorizationIds" upperBound="-1" eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/Database"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Date" instanceClassName="java.util.Date"/>
<eClassifiers xsi:type="ecore:EDataType" name="List" instanceClassName="java.util.List"/>
<eClassifiers xsi:type="ecore:EEnum" name="ReferentialActionType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="NO_ACTION"/>
<eLiterals name="RESTRICT" value="1"/>
<eLiterals name="CASCADE" value="2"/>
<eLiterals name="SET_NULL" value="3"/>
<eLiterals name="SET_DEFAULT" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Event" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="for" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="Database" lowerBound="1" eType="#//schema/Database" eOpposite="#//schema/Database/events"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Comment">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="SQLObject" lowerBound="1" eType="#//schema/SQLObject" eOpposite="#//schema/SQLObject/comments"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Catalog" eSuperTypes="#//schema/SQLObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="Database" lowerBound="1" eType="#//schema/Database" eOpposite="#//schema/Database/catalogs"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schemas" upperBound="-1" eType="#//schema/Schema" eOpposite="#//schema/Schema/Catalog"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="constraints" nsURI="http:///org/eclipse/datatools/modelbase/sql/constraints.ecore" nsPrefix="SQLConstraints">
<eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//constraints/Constraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="searchCondition" eType="#//expressions/SearchCondition" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/assertions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="constrainedTables" lowerBound="1" upperBound="-1" eType="#//tables/BaseTable" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Constraint" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deferrable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initiallyDeferred" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enforced" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableConstraint" abstract="true" eSuperTypes="#//constraints/Constraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="BaseTable" eType="#//tables/BaseTable" transient="true" eOpposite="#//tables/BaseTable/constraints"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceConstraint" abstract="true" eSuperTypes="#//constraints/TableConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="members" lowerBound="1" upperBound="-1" eType="#//tables/Column"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CheckConstraint" eSuperTypes="#//constraints/TableConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="searchCondition" eType="#//expressions/SearchCondition" containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//constraints/ReferenceConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="match" eType="#//constraints/MatchType" defaultValueLiteral="MATCH_SIMPLE"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="onUpdate" eType="#//schema/ReferentialActionType" defaultValueLiteral="NO_ACTION"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="onDelete" eType="#//schema/ReferentialActionType" defaultValueLiteral="NO_ACTION"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraint" eType="#//constraints/UniqueConstraint" eOpposite="#//constraints/UniqueConstraint/ForeignKey"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedMembers" lowerBound="1" upperBound="-1" eType="#//tables/Column"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="uniqueIndex" eType="#//constraints/Index" eOpposite="#//constraints/Index/ForeignKey"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedTable" eType="#//tables/BaseTable" eOpposite="#//tables/BaseTable/referencingForeignKeys"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UniqueConstraint" eSuperTypes="#//constraints/ReferenceConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ForeignKey" upperBound="-1" eType="#//constraints/ForeignKey" eOpposite="#//constraints/ForeignKey/uniqueConstraint"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimaryKey" eSuperTypes="#//constraints/UniqueConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MatchType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="MATCH_SIMPLE"/>
<eLiterals name="MATCH_FULL" value="1"/>
<eLiterals name="MATCH_PARTIAL" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Index" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="Schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/indices"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="clustered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fillFactor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="systemGenerated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="members" lowerBound="1" upperBound="-1" eType="#//constraints/IndexMember" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="table" lowerBound="1" eType="#//tables/Table" eOpposite="#//tables/Table/index"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ForeignKey" upperBound="-1" eType="#//constraints/ForeignKey" eOpposite="#//constraints/ForeignKey/uniqueIndex"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="includedMembers" upperBound="-1" eType="#//constraints/IndexMember" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IndexMember" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="incrementType" eType="#//constraints/IncrementType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="column" lowerBound="1" eType="#//tables/Column"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="IncrementType">
<eLiterals name="ASC"/>
<eLiterals name="DESC" value="1"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="datatypes" nsURI="http:///org/eclipse/datatools/modelbase/sql/datatypes.ecore" nsPrefix="SQLDataTypes">
<eClassifiers xsi:type="ecore:EClass" name="UserDefinedType" abstract="true" eSuperTypes="#//datatypes/DataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/userDefinedTypes"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ordering" eType="#//datatypes/UserDefinedTypeOrdering" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="setContainer">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eParameters name="newContainer" eType="#//schema/TypedElement"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PredefinedDataType" abstract="true" eSuperTypes="#//datatypes/SQLDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="primitiveType" eType="#//datatypes/PrimitiveType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionDataType" abstract="true" eSuperTypes="#//datatypes/ConstructedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1" upperBound="-1" eType="#//datatypes/DataType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NumericalDataType" abstract="true" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CharacterStringDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="coercibility" eType="#//datatypes/CoercibilityType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fixedLength" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="collationName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="characterSet" lowerBound="1" eType="#//datatypes/CharacterSet"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RowDataType" eSuperTypes="#//datatypes/ConstructedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="fields" lowerBound="1" upperBound="-1" eType="#//datatypes/Field" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayDataType" abstract="true" eSuperTypes="#//datatypes/CollectionDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxCardinality" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultisetDataType" abstract="true" eSuperTypes="#//datatypes/CollectionDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BooleanDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntervalDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="leadingQualifier" eType="#//datatypes/IntervalQualifierType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="trailingQualifier" eType="#//datatypes/IntervalQualifierType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="leadingFieldPrecision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="trailingFieldPrecision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fractionalSecondsPrecision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BinaryStringDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="equals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CharacterSet" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="repertoire" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultCollation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="encoding" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/charSets"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CoercibilityType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="IMPLICIT"/>
<eLiterals name="EXPLICIT" value="1"/>
<eLiterals name="COERCIBILE" value="2"/>
<eLiterals name="NO_COLLATION" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TimeDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fractionalSecondsPrecision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timeZone" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="IntervalQualifierType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="YEAR"/>
<eLiterals name="MONTH" value="1"/>
<eLiterals name="DAY" value="2"/>
<eLiterals name="HOUR" value="3"/>
<eLiterals name="MINUTE" value="4"/>
<eLiterals name="SECOND" value="5"/>
<eLiterals name="FRACTION" value="6"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DistinctUserDefinedType" eSuperTypes="#//datatypes/UserDefinedType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="predefinedRepresentation" lowerBound="1" eType="#//datatypes/PredefinedDataType" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructuredUserDefinedType" eSuperTypes="#//datatypes/UserDefinedType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="True"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="super" eType="#//datatypes/StructuredUserDefinedType" eOpposite="#//datatypes/StructuredUserDefinedType/sub"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sub" upperBound="-1" eType="#//datatypes/StructuredUserDefinedType" eOpposite="#//datatypes/StructuredUserDefinedType/super"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1" eType="#//datatypes/AttributeDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1" eType="#//routines/Method" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OrderingType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="EQUALS"/>
<eLiterals name="FULL" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OrderingCategoryType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="RELATIVE"/>
<eLiterals name="MAP" value="1"/>
<eLiterals name="STATE" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeDefinition" eSuperTypes="#//schema/TypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeCheck" eType="#//schema/ReferentialActionType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeChecked" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FixedPrecisionDataType" eSuperTypes="#//datatypes/ExactNumericDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="PrimitiveType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="CHARACTER"/>
<eLiterals name="CHARACTER_VARYING" value="1"/>
<eLiterals name="CHARACTER_LARGE_OBJECT" value="2"/>
<eLiterals name="NATIONAL_CHARACTER" value="3"/>
<eLiterals name="NATIONAL_CHARACTER_VARYING" value="4"/>
<eLiterals name="NATIONAL_CHARACTER_LARGE_OBJECT" value="5"/>
<eLiterals name="BINARY" value="6"/>
<eLiterals name="BINARY_VARYING" value="7"/>
<eLiterals name="BINARY_LARGE_OBJECT" value="8"/>
<eLiterals name="NUMERIC" value="9"/>
<eLiterals name="DECIMAL" value="10"/>
<eLiterals name="SMALLINT" value="11"/>
<eLiterals name="INTEGER" value="12"/>
<eLiterals name="BIGINT" value="13"/>
<eLiterals name="FLOAT" value="14"/>
<eLiterals name="REAL" value="15"/>
<eLiterals name="DOUBLE_PRECISION" value="16"/>
<eLiterals name="BOOLEAN" value="17"/>
<eLiterals name="DATE" value="18"/>
<eLiterals name="TIME" value="19"/>
<eLiterals name="TIMESTAMP" value="20"/>
<eLiterals name="INTERVAL" value="21"/>
<eLiterals name="DATALINK" value="22"/>
<eLiterals name="XML_TYPE" value="23"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Domain" eSuperTypes="#//datatypes/DistinctUserDefinedType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="constraint" upperBound="-1" eType="#//constraints/CheckConstraint" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Field" eSuperTypes="#//schema/TypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeCheck" eType="#//schema/ReferentialActionType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeChecked" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceDataType" abstract="true" eSuperTypes="#//datatypes/ConstructedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="scopeTable" lowerBound="1" eType="#//tables/Table"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedType" lowerBound="1" eType="#//datatypes/StructuredUserDefinedType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstructedDataType" abstract="true" eSuperTypes="#//datatypes/SQLDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLDataType" abstract="true" eSuperTypes="#//datatypes/DataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataLinkDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="linkControl" eType="#//datatypes/LinkControlOption"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="integrityControl" eType="#//datatypes/IntegrityControlOption"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="readPermission" eType="#//datatypes/ReadPermissionOption"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="writePermission" eType="#//datatypes/WritePermissionOption"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="recovery" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unlink" eType="#//datatypes/UnlinkOption"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="LinkControlOption">
<eLiterals name="FILE_LINK_CONTROL"/>
<eLiterals name="NO_FILE_LINK_CONTROL" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="IntegrityControlOption">
<eLiterals name="ALL"/>
<eLiterals name="SELECTIVE" value="1"/>
<eLiterals name="NONE" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ReadPermissionOption">
<eLiterals name="FS"/>
<eLiterals name="DB" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="WritePermissionOption">
<eLiterals name="FS"/>
<eLiterals name="ADMIN" value="1"/>
<eLiterals name="BLOCKED" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="UnlinkOption">
<eLiterals name="RESTORE"/>
<eLiterals name="DELETE" value="1"/>
<eLiterals name="NONE" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UserDefinedTypeOrdering" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="orderingForm" eType="#//datatypes/OrderingType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="orderingCategory" eType="#//datatypes/OrderingCategoryType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="orderingRoutine" lowerBound="1" eType="#//routines/Routine"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DateDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExactNumericDataType" abstract="true" eSuperTypes="#//datatypes/NumericalDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ApproximateNumericDataType" eSuperTypes="#//datatypes/NumericalDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntegerDataType" eSuperTypes="#//datatypes/ExactNumericDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XMLDataType" eSuperTypes="#//datatypes/PredefinedDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="expressions" nsURI="http:///org/eclipse/datatools/modelbase/sql/expressions.ecore" nsPrefix="SQLExpressions">
<eClassifiers xsi:type="ecore:EClass" name="QueryExpression" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getSQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="setSQL">
<eParameters name="sqlText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ValueExpression" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getSQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="setSQL">
<eParameters name="sqlText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SearchCondition" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getSQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="setSQL">
<eParameters name="sqlText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QueryExpressionDefault" eSuperTypes="#//schema/SQLObject #//expressions/QueryExpression">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="SQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SearchConditionDefault" eSuperTypes="#//schema/SQLObject #//expressions/SearchCondition">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="SQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ValueExpressionDefault" eSuperTypes="#//schema/SQLObject #//expressions/ValueExpression">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="SQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="routines" nsURI="http:///org/eclipse/datatools/modelbase/sql/routines.ecore" nsPrefix="SQLRoutines">
<eClassifiers xsi:type="ecore:EClass" name="Routine" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="specificName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterStyle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deterministic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sqlDataAccess" eType="#//routines/DataAccess">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="creationTS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lastAlteredTS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="authorizationID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="security" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="externalName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" eType="#//routines/Parameter" containment="true" eOpposite="#//routines/Parameter/routine"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//routines/Source" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/routines"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Source" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//schema/TypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" eType="#//routines/ParameterMode">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="locator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="routine" lowerBound="1" eType="#//routines/Routine" transient="true" eOpposite="#//routines/Routine/parameters"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stringTypeOption" eType="#//datatypes/CharacterStringDataType" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Procedure" eSuperTypes="#//routines/Routine">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxResultSets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="oldSavePoint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="resultSet" upperBound="-1" eType="#//routines/RoutineResultTable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//routines/Routine">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nullCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="transformGroup" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typePreserving" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mutator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="returnTable" eType="#//routines/RoutineResultTable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="returnScalar" eType="#//routines/Parameter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="returnCast" eType="#//routines/Parameter" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DataAccess">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="NO_SQL"/>
<eLiterals name="CONTAINS_SQL" value="1"/>
<eLiterals name="READS_SQL_DATA" value="2"/>
<eLiterals name="MODIFIES_SQL_DATA" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ParameterMode">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="IN"/>
<eLiterals name="OUT" value="1"/>
<eLiterals name="INOUT" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoutineResultTable" eSuperTypes="#//tables/Table">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="#//routines/Function">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="overriding" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="constructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UserDefinedFunction" eSuperTypes="#//routines/Function">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuiltInFunction" eSuperTypes="#//routines/Function">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="statements" nsURI="http:///org/eclipse/datatools/modelbase/sql/statements.ecore" nsPrefix="SQLStatements">
<eClassifiers xsi:type="ecore:EClass" name="SQLStatement" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getSQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="setSQL">
<eParameters name="sqlText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLDataStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLSchemaStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLControlStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLDataChangeStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLDataStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLStatementDefault" eSuperTypes="#//schema/SQLObject #//statements/SQLStatement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="SQL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLConnectionStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLDiagnosticsStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLDynamicStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLSessionStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SQLTransactionStatement" abstract="true" interface="true" eSuperTypes="#//statements/SQLStatement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="tables" nsURI="http:///org/eclipse/datatools/modelbase/sql/tables.ecore" nsPrefix="SQLTables">
<eClassifiers xsi:type="ecore:EClass" name="ViewTable" eSuperTypes="#//tables/DerivedTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="checkType" eType="#//tables/CheckType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemporaryTable" eSuperTypes="#//tables/BaseTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deleteOnCommit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Table" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="columns" lowerBound="1" upperBound="-1" eType="#//tables/Column" containment="true" eOpposite="#//tables/Column/table"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="supertable" eType="#//tables/Table" eOpposite="#//tables/Table/subtables"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subtables" upperBound="-1" eType="#//tables/Table" eOpposite="#//tables/Table/supertable"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/tables"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="udt" eType="#//datatypes/StructuredUserDefinedType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1" eType="#//tables/Trigger" eOpposite="#//tables/Trigger/subjectTable"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="index" upperBound="-1" eType="#//constraints/Index" eOpposite="#//constraints/Index/table"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="selfRefColumnGeneration" eType="#//tables/ReferenceType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="insertable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="updatable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false" volatile="true" transient="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PersistentTable" eSuperTypes="#//tables/BaseTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DerivedTable" abstract="true" eSuperTypes="#//tables/Table">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="queryExpression" eType="#//expressions/QueryExpression" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BaseTable" abstract="true" eSuperTypes="#//tables/Table">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="getUniqueConstraints" eType="#//schema/List"/>
<eOperations name="getForeignKeys" eType="#//schema/List"/>
<eOperations name="getPrimaryKey" eType="#//constraints/PrimaryKey"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1" eType="#//constraints/TableConstraint" containment="true" eOpposite="#//constraints/TableConstraint/BaseTable"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencingForeignKeys" upperBound="-1" eType="#//constraints/ForeignKey" eOpposite="#//constraints/ForeignKey/referencedTable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CheckType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="CASCADED"/>
<eLiterals name="LOCAL" value="1"/>
<eLiterals name="NONE" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ReferenceType">
<eLiterals name="SYSTEM_GENERATED"/>
<eLiterals name="USER_GENERATED" value="1"/>
<eLiterals name="DERIVED_SELF_REF" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Column" eSuperTypes="#//schema/TypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eOperations name="isPartOfForeignKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eOperations name="isPartOfUniqueConstraint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eOperations name="isPartOfPrimaryKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="table" lowerBound="1" eType="#//tables/Table" transient="true" eOpposite="#//tables/Table/columns"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="identitySpecifier" eType="#//schema/IdentitySpecifier" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="generateExpression" eType="#//expressions/ValueExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="implementationDependent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="False"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="True"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeCheck" eType="#//schema/ReferentialActionType" defaultValueLiteral="NO_ACTION"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeChecked" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1" eType="#//schema/Schema" eOpposite="#//schema/Schema/triggers"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subjectTable" lowerBound="1" eType="#//tables/Table" eOpposite="#//tables/Table/triggers"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="actionStatement" lowerBound="1" upperBound="-1" eType="#//statements/SQLStatement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="triggerColumn" upperBound="-1" eType="#//tables/Column"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="actionGranularity" eType="#//tables/ActionGranularityType" defaultValueLiteral="STATEMENT"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="when" eType="#//expressions/SearchCondition" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timeStamp" eType="#//schema/Date" changeable="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="actionTime" eType="#//tables/ActionTimeType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="updateType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="insertType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deleteType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="oldRow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="newRow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="oldTable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="newTable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ActionTimeType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="AFTER"/>
<eLiterals name="BEFORE" value="1"/>
<eLiterals name="INSTEADOF" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ActionGranularityType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eLiterals name="STATEMENT"/>
<eLiterals name="ROW" value="1"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="accesscontrol" nsURI="http:///org/eclipse/datatools/modelbase/sql/accesscontrol.ecore" nsPrefix="SQLAccessControl">
<eClassifiers xsi:type="ecore:EClass" name="AuthorizationIdentifier" abstract="true" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSchema" upperBound="-1" eType="#//schema/Schema" eOpposite="#//schema/Schema/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="Database" lowerBound="1" eType="#//schema/Database" eOpposite="#//schema/Database/authorizationIds"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="receivedRoleAuthorization" upperBound="-1" eType="#//accesscontrol/RoleAuthorization" eOpposite="#//accesscontrol/RoleAuthorization/grantee"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantedRoleAuthorization" upperBound="-1" eType="#//accesscontrol/RoleAuthorization" eOpposite="#//accesscontrol/RoleAuthorization/grantor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantedPrivilege" upperBound="-1" eType="#//accesscontrol/Privilege" eOpposite="#//accesscontrol/Privilege/grantor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="receivedPrivilege" upperBound="-1" eType="#//accesscontrol/Privilege" containment="true" eOpposite="#//accesscontrol/Privilege/grantee"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Privilege" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="grantable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="withHierarchy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantor" lowerBound="1" eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/grantedPrivilege"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantee" eType="#//accesscontrol/AuthorizationIdentifier" transient="true" eOpposite="#//accesscontrol/AuthorizationIdentifier/receivedPrivilege"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="actionObjects" upperBound="-1" eType="#//schema/SQLObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1" eType="#//schema/SQLObject" eOpposite="#//schema/SQLObject/privileges"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//accesscontrol/AuthorizationIdentifier">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="user" upperBound="-1" eType="#//accesscontrol/User" eOpposite="#//accesscontrol/User/group"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="User" eSuperTypes="#//accesscontrol/AuthorizationIdentifier">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="group" upperBound="-1" eType="#//accesscontrol/Group" eOpposite="#//accesscontrol/Group/user"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Role" eSuperTypes="#//accesscontrol/AuthorizationIdentifier">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="roleAuthorization" lowerBound="1" upperBound="-1" eType="#//accesscontrol/RoleAuthorization" eOpposite="#//accesscontrol/RoleAuthorization/role"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoleAuthorization" eSuperTypes="#//schema/SQLObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=""/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="grantable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="role" lowerBound="1" eType="#//accesscontrol/Role" eOpposite="#//accesscontrol/Role/roleAuthorization"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantee" lowerBound="1" eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/receivedRoleAuthorization"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="grantor" lowerBound="1" eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/grantedRoleAuthorization"/>
</eClassifiers>
</eSubpackages>
</ecore:EPackage>