blob: 989e8a9d6f1804d24e01ef3d881c4cedfc051fc7 [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="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>