| <?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="rdb" |
| nsURI="http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb" nsPrefix="rdb"> |
| <eClassifiers xsi:type="ecore:EClass" name="Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Element"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NamedColumnSet" abstract="true" eSuperTypes="#//SchemaElement"/> |
| <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="schemas" upperBound="-1" |
| eType="#//Schema" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="server_id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Schema" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" |
| eType="#//SchemaElement" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SchemaElement" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//NamedColumnSet"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="columns" lowerBound="1" |
| upperBound="-1" eType="#//TableColumn" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKey" eType="#//constraints/PrimaryKey" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1" |
| eType="#//constraints/UniqueConstraint" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKeys" upperBound="-1" |
| eType="#//constraints/ForeignKey" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="indices" upperBound="-1" |
| eType="#//constraints/Index" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="checks" upperBound="-1" |
| eType="#//constraints/CheckConstraint" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Column" abstract="true" eSuperTypes="#//NamedElement"/> |
| <eClassifiers xsi:type="ecore:EClass" name="TableColumn" eSuperTypes="#//Column"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="domain" eType="#//datatypes/Domain"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//datatypes/PrimitiveDataType" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPrimaryKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isForeignKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> |
| </eClassifiers> |
| <eSubpackages name="constraints" nsURI="http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb/constraints" nsPrefix="constraints"> |
| <eClassifiers xsi:type="ecore:EClass" name="Constraint" abstract="true" eSuperTypes="#//NamedElement"/> |
| <eClassifiers xsi:type="ecore:EClass" name="CheckConstraint" eSuperTypes="#//constraints/Constraint"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="expression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ColumnRefConstraint" abstract="true" |
| eSuperTypes="#//constraints/Constraint"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="includedColumns" lowerBound="1" |
| upperBound="-1" eType="#//TableColumn"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="UniqueConstraint" eSuperTypes="#//constraints/ColumnRefConstraint"/> |
| <eClassifiers xsi:type="ecore:EClass" name="PrimaryKey" eSuperTypes="#//constraints/UniqueConstraint"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//constraints/ColumnRefConstraint"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referredUC" lowerBound="1" |
| eType="#//constraints/UniqueConstraint"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Index" eSuperTypes="#//constraints/Constraint"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="indexedColumns" upperBound="-1" |
| eType="#//constraints/IndexedColumn" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="IndexedColumn" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="ascending" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="refColumn" lowerBound="1" |
| eType="#//TableColumn"/> |
| </eClassifiers> |
| </eSubpackages> |
| <eSubpackages name="datatypes" nsURI="http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb/datatypes" nsPrefix="datatypes"> |
| <eClassifiers xsi:type="ecore:EClass" name="Domain" eSuperTypes="#//SchemaElement #//datatypes/PrimitiveDataType"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parentDomain" eType="#//datatypes/Domain"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="decimalDigits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="check" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="var" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataType" eSuperTypes="#//datatypes/DataType"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| </eSubpackages> |
| <eSubpackages name="view" nsURI="http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb/view" nsPrefix="view"> |
| <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="#//NamedColumnSet"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="columns" lowerBound="1" |
| upperBound="-1" eType="#//view/ViewColumn" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referencedTablesAndViews" |
| upperBound="-1" eType="#//view/ViewAlias" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="ddl" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ViewAlias" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referencedTableOrView" |
| lowerBound="1" eType="#//NamedColumnSet"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ViewColumn" abstract="true" eSuperTypes="#//Column"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ViewExpressionColumn" eSuperTypes="#//view/ViewColumn"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="expression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ReferencedViewColumn" eSuperTypes="#//view/ViewColumn"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="refColumn" lowerBound="1" |
| eType="#//Column"/> |
| </eClassifiers> |
| </eSubpackages> |
| </ecore:EPackage> |