Initial check-in of Sybase Enablement contribution
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.classpath b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.cvsignore b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.cvsignore
new file mode 100644
index 0000000..9dcbd60
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.cvsignore
@@ -0,0 +1 @@
+org.eclipse.datatools.enablement.sybase.asa.models.jar
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.project b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.project
new file mode 100644
index 0000000..e62d1b5
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.datatools.enablement.sybase.asa.models</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..605395a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Mar 05 07:08:43 PST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9e02e33
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.datatools.enablement.sybase.asa.models; singleton:=true
+Bundle-Version: 1.0.0.200703051
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel,
+ org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl,
+ org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.util,
+ org.eclipse.datatools.enablement.sybase.asa.models.sybaseasasqlmodel,
+ org.eclipse.datatools.enablement.sybase.asa.models.sybaseasasqlmodel.impl,
+ org.eclipse.datatools.enablement.sybase.asa.models.sybaseasasqlmodel.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.datatools.modelbase.sql;visibility:=reexport,
+ org.eclipse.datatools.enablement.sybase
+Eclipse-LazyStart: true
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/about.html b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/about.html
new file mode 100644
index 0000000..6d7883a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
+<HTML><HEAD><TITLE>About</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<META content="MSHTML 6.00.2800.1515" name=GENERATOR></HEAD>
+<BODY lang=EN-US>
+<H2>About This Content</H2>
+<P>February 24, 2005</P>
+<H3>License</H3>
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the Redistributor's license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the 
+Content.</P></BODY></HTML>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/build.properties b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/build.properties
new file mode 100644
index 0000000..c61ea75
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/build.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.4 2006/11/30 18:26:46 rcernich Exp $
+
+bin.includes = sybase.asa.models.jar,\
+               models/,\
+               META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               .settings/,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+plugin.version =	1.0.0
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sqlmodel.ecore b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sqlmodel.ecore
new file mode 100644
index 0000000..4effd77
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sqlmodel.ecore
@@ -0,0 +1,1016 @@
+<?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="The class descriptions are copied from SQL99 standard:&#xD;&#xA;Title: (ISO-ANSI Working Draft) Foundation (SQL/Foundation)&#xD;&#xA;Author: Jim Melton (Editor)&#xD;&#xA;References:&#xD;&#xA;1) WG3:ZSH-012 = H2-2002-566 = 5WD-01-Framework-2002-12, WD 9075-1 (SQL/Framework), December, 2002&#xD;&#xA;2) WG3:ZSH-013 = H2-2002-567 = 5WD-02-Foundation-2002-12, WD 9075-2 (SQL/Foundation), December, 2002&#xD;&#xA;3) WG3:ZSH-014 = H2-2002-568 = 5WD-03-CLI-2002-12, WD 9075-3 (SQL/CLI), December, 2002&#xD;&#xA;4) WG3:ZSH-015 = H2-2002-569 = 5WD-04-PSM-2002-12, WD 9075-4 (SQL/PSM), December, 2002&#xD;&#xA;5) WG3:ZSH-016 = H2-2002-570 = 5WD-09-MED-2002-12, WD 9075-9 (SQL/MED), December, 2002&#xD;&#xA;6) WG3:ZSH-017 = H2-2002-571 = 5WD-10-OLB-2002-12, WD 9075-10 (SQL/OLB), December, 2002&#xD;&#xA;7) WG3:ZSH-018 = H2-2002-572 = 5WD-11-Schemata-2002-12, WD 9075-11 (SQL/Schemata), December, 2002&#xD;&#xA;8) WG3:ZSH-019 = H2-2002-573 = 5WD-13-JRT-2002-12, WD 9075-13 (SQL/JRT), December, 2002&#xD;&#xA;9) WG3:ZSH-020 = H2-2002-574 = 5WD-14-XML-2002-12, WD 9075-14 (SQL/XML), December, 2002&#xD;&#xA;"/>
+  </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="4.14.4 Identity columns&#xD;&#xA;&#xD;&#xA;The columns of a base table BT can optionally include not more than one identity column. The declared type of an identity column is either an exact numeric type with scale 0 (zero), INTEGER for example, or a distinct type whose source type is an exact numeric type with scale 0 (zero). An identity column has a start value, an increment, a maximum value, a minimum value, and a cycle option.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;An identity column is associated with an internal sequence generator SG. Let IC be the identity column of BT. When a row R is presented for insertion into BT, if R does not contain a column corresponding to IC, then the value V for IC in the row inserted into BT is obtained by applying the General Rules of Subclause 9.21, &quot;Generation of the next value of a sequence generator&quot;, to SG. The definition of an identity column may specify GENERATED ALWAYS or GENERATED BY DEFAULT.&#xD;&#xA;&#xD;&#xA;NOTE 24: &quot;Start value&quot;, &quot;increment&quot;, &quot;maximum value&quot;, &quot;minimum value&quot;, and &quot;cycle option&quot; are defined in Subclause 4.21, &quot;Sequence generators&quot;.&#xD;&#xA;&#xD;&#xA;NOTE 25: The notion of an internal sequence generator being associated with an identity column is used only for definitional purposes in this International Standard."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="generationType" eType="#//schema/GenerateType"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="startValue" eType="ecore:EDataType ../../../plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType ../../../plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" eType="ecore:EDataType ../../../plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBigInteger"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType ../../../plugin/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="4.14.4 Identity columns&#xD;&#xA;&#xD;&#xA;The columns of a base table BT can optionally include not more than one identity column. The declared type of an identity column is either an exact numeric type with scale 0 (zero), INTEGER for example, or a distinct type whose source type is an exact numeric type with scale 0 (zero). An identity column has a start value, an increment, a maximum value, a minimum value, and a cycle option.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;An identity column is associated with an internal sequence generator SG. Let IC be the identity column of BT. When a row R is presented for insertion into BT, if R does not contain a column corresponding to IC, then the value V for IC in the row inserted into BT is obtained by applying the General Rules of Subclause 9.21, &quot;Generation of the next value of a sequence generator&quot;, to SG. The definition of an identity column may specify GENERATED ALWAYS or GENERATED BY DEFAULT."/>
+      </eAnnotations>
+      <eLiterals name="DEFAULT_GENERATED"/>
+      <eLiterals name="ALWAYS_GENERATED" value="1"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//schema/SQLObject">
+      <eOperations name="setDataType">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Set the type for this TypedElement"/>
+        </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="Get the type for this TypedElement"/>
+        </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 ../../../plugin/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="4.20 SQL-schemas&#xD;&#xA;&#xD;&#xA;An SQL-schema is a persistent descriptor that includes:&#xD;&#xA; - The name of the SQL-schema.&#xD;&#xA; - The &lt;authorization identifier> of the owner of the SQL-schema.&#xD;&#xA; - The name of the default character set for the SQL-schema.&#xD;&#xA; - The &lt;schema path specification> defining the SQL-path for SQL-invoked routines for the SQL-schema.&#xD;&#xA; - The descriptor of every component of the SQL-schema.&#xD;&#xA;&#xD;&#xA;In this part of ISO/IEC 9075, the term &quot;schema&quot; is used only in the sense of SQL-schema. The persistent objects described by the descriptors are said to be owned by or to have been created by the &lt;authorization identifier> of the schema. Each component descriptor is one of:&#xD;&#xA; - A domain descriptor.&#xD;&#xA; - A base table descriptor.&#xD;&#xA; - A view descriptor.&#xD;&#xA; - A constraint descriptor.&#xD;&#xA; - A privilege descriptor.&#xD;&#xA; - A character set descriptor.&#xD;&#xA; - A collation descriptor.&#xD;&#xA; - A transliteration descriptor.&#xD;&#xA; - A user-defined type descriptor.&#xD;&#xA; - A routine descriptor.&#xD;&#xA; - A sequence generator descriptor.&#xD;&#xA;&#xD;&#xA;A schema is created initially using a &lt;schema definition> and may be subsequently modified incrementally over time by the execution of &lt;SQL schema statement> s. &lt;schema name> s are unique within a catalog. A &lt;schema name> is explicitly or implicitly qualified by a &lt;catalog name> that identifies a catalog. Base tables and views are identified by &lt;table name> s. A &lt;table name> consists of a &lt;schema name> and an &lt;identifier> . The &lt;schema name> identifies the schema in which a persistent base table or view identified by the &lt;table name> is defined. Base tables and views defined in different schemas can have &lt;identifier> s that are equal according to the General Rules of Subclause 8.2, &quot;&lt;comparison predicate> &quot;.&#xD;&#xA;&#xD;&#xA;If a reference to a &lt;table name> does not explicitly contain a &lt;schema name> , then a specific &lt;schema name> is implied. The particular &lt;schema name> associated with such a &lt;table name> depends on the context in which the &lt;table name> appears and is governed by the rules for &lt;schema qualified name>. If a reference to an SQL-invoked routine that is contained in a &lt;routine invocation> does not explicitly contain a &lt;schema name> , then the SQL-invoked routine is selected from the SQL-path of the schema. The containing schema of an &lt;SQL schema statement> is defined as the schema identified by the &lt;schema name> implicitly or explicitly contained in the name of the object that is created or manipulated by that SQLstatement. &#xD;&#xA;"/>
+      </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="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="../../../plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The base object to be used for any Relation Database concept, representing the placeholder for the name and alias.  This object will extend ENamedElement in the generated code.  The string attribute name will be inherited&#xD;&#xA;from ENamedElement.&#xD;&#xA;&#xD;&#xA;Note: In the RDB sense, only table and view objects can be represented by aliases, but DB2 defines also database and network aliases, and even for nicknames that refer to data tables or views located on federated systems."/>
+      </eAnnotations>
+      <eOperations name="addEAnnotation" eType="ecore:EClass ../../../plugin/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 ../../../plugin/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 ../../../plugin/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 ../../../plugin/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 ../../../plugin/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 ../../../plugin/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"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Sequence" eSuperTypes="#//schema/TypedElement">
+      <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">
+      <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="authorizationIds" upperBound="-1"
+          eType="#//accesscontrol/AuthorizationIdentifier"/>
+    </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">
+      <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">
+      <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="the type of object on which the event applies"/>
+        </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="the condition to be satisfied inorder to activate the event"/>
+        </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="the action that the event performs after being activated"/>
+        </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="event state"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="Database" lowerBound="1"
+          eType="#//schema/Database" eOpposite="#//schema/Database/events"/>
+    </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="4.17.4 Assertions&#xD;&#xA;&#xD;&#xA;An assertion is a named constraint that may relate to the content of individual rows of a table, to the entire contents of a table, or to a state required to exist among a number of tables. An assertion is described by an assertion descriptor. In addition to the components of every constraint descriptor an assertion descriptor includes:&#xD;&#xA; - The &lt;search condition> .&#xD;&#xA;An assertion is satisfied if and only if the specified &lt;search condition> is not False.&#xD;&#xA;&#xD;&#xA;Syntax defined in section 11.37 &lt;assertion definition>&#xD;&#xA;Function: Specify an integrity constraint.&#xD;&#xA;Format: &lt;assertion definition> ::= CREATE ASSERTION &lt;constraint name> CHECK &lt;left paren> &lt;search condition> &lt;right paren> [ &lt;constraint characteristics> ]&#xD;&#xA;&#xD;&#xA;10.8&#xD;&#xA;2) The &lt;qualified identifier> of &lt;constraint name> shall not be equivalent to the &lt;qualified identifier> of the&#xD;&#xA;&lt;constraint name> of any other constraint defined in the same schema."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="searchCondition" eType="#//expressions/SearchCondition"
+          containment="true"/>
+      <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="4.17 Integrity constraints&#xD;&#xA;&#xD;&#xA;Integrity constraints, generally referred to simply as constraints, define the valid states of SQL-data by constrain-ing the values in the base tables. A constraint is either a table constraint, a domain constraint or an assertion.  A constraint is described by a constraint descriptor. A constraint descriptor is either a table constraint descriptor, a domain constraint descriptor or an assertion descriptor. Every constraint descriptor includes:&#xD;&#xA;  - The name of the constraint.&#xD;&#xA;  - An indication of whether or not the constraint is deferrable.&#xD;&#xA;  - An indication of whether the initial constraint mode is deferred or immediate.&#xD;&#xA;&#xD;&#xA;No integrity constraint shall be defined using a &lt;search condition> that is not retrospectively deterministic.&#xD;&#xA;&#xD;&#xA;The checking of a constraint depends on its constraint mode within the current SQL-transaction. If the constraint mode is immediate, then the constraint is effectively checked at the end of each SQL-statement.  If the constraint mode is deferred, then the constraint is effectively checked when the constraint mode is changed to immediate either explicitly by execution of a &lt;set constraints mode statement> , or implicitly at the end of the current SQL-transaction.&#xD;&#xA;&#xD;&#xA;A table constraint is either a unique constraint, a referential constraint or a table check constraint.&#xD;&#xA;&#xD;&#xA;A domain constraint is a constraint that is specified for a domain. It is applied to all columns that are based on that domain, and to all values cast to that domain.&#xD;&#xA;&#xD;&#xA;An assertion is a named constraint that may relate to the content of individual rows of a table, to the entire contents of a table, or to a state required to exist among a number of tables.&#xD;&#xA;&#xD;&#xA;10.8&#xD;&#xA;2) The &lt;qualified identifier> of &lt;constraint name> shall not be equivalent to the &lt;qualified identifier> of the &lt;constraint name> of any other constraint defined in the same schema.&#xD;&#xA;3) If &lt;constraint check time> is not specified, then INITIALLY IMMEDIATE is implicit.&#xD;&#xA;4) Case:&#xD;&#xA;a) If INITIALLY DEFERRED is specified, then:&#xD;&#xA;  i) NOT DEFERRABLE shall not be specified.&#xD;&#xA;  ii) If DEFERRABLE is not specified, then DEFERRABLE is implicit.&#xD;&#xA;"/>
+      </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="If True allows you to specify when the DBMS should check the constraint for violation (statement end or transaction end).  If False it will always be after statement end.&#xD;&#xA;&#xD;&#xA;Could also be named deferralMode with values DEFERRABLE and NOT DEFERRABLE."/>
+        </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="If True isDeferrable must be True and constraint check time will be DEFERRED.  If False constraint check time will be IMMEDIATE.&#xD;&#xA;&#xD;&#xA;Could also be named (initial)ConstraintCheckTime with values INITIALLY DEFERRED and INITIALLY IMMEDIATE.  Default value would be INITIALLY IMMEDIATE.&#xD;&#xA;"/>
+        </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="4.17.2 Table constraints&#xD;&#xA;&#xD;&#xA;A table constraint is either a unique constraint, a referential constraint or a table check constraint. A table constraint is described by a table constraint descriptor which is either a unique constraint descriptor, a referential constraint descriptor or a table check constraint descriptor.&#xD;&#xA;&#xD;&#xA;Every table constraint specified for base table T is implicitly a constraint on every subtable of T, by virtue of the fact that every row in a subtable is considered to have a corresponding superrow in every one of its supertables."/>
+      </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="4.17.2 Table constraints&#xD;&#xA;&#xD;&#xA;A table constraint is either a unique constraint, a referential constraint or a table check constraint. A table constraint is described by a table constraint descriptor which is either a unique constraint descriptor, a referential constraint descriptor or a table check constraint descriptor.&#xD;&#xA;&#xD;&#xA;A referential constraint is described by a referential constraint descriptor. In addition to the components of every table constraint descriptor, a referential constraint descriptor includes:&#xD;&#xA; - A list of the names of the referencing columns specified in the &lt;referencing columns> .&#xD;&#xA; - The referenced table specified in the &lt;referenced table and columns> .&#xD;&#xA; - A list of the names of the referenced columns specified in the &lt;referenced table and columns> .&#xD;&#xA; - The value of the &lt;match type> , if specified, and the &lt;referential triggered actions> , if specified.&#xD;&#xA;&#xD;&#xA;NOTE 30: If MATCH FULL or MATCH PARTIAL is specified for a referential constraint and if the referencing table has only one column specified in &lt;referential constraint definition> for that referential constraint, or if the referencing table has more than one specified column for that &lt;referential constraint definition> , but none of those columns is nullable, then the effect is the same as if no &lt;match type> were specified.&#xD;&#xA;&#xD;&#xA;The ordering of the lists of referencing column names and referenced column names is implementation-defined, but shall be such that corresponding column names occupy corresponding positions in each list."/>
+      </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="4.17.2 Table constraints&#xD;&#xA;&#xD;&#xA;A table constraint is either a unique constraint, a referential constraint or a table check constraint. A table constraint is described by a table constraint descriptor which is either a unique constraint descriptor, a referential constraint descriptor or a table check constraint descriptor.&#xD;&#xA;&#xD;&#xA;A check constraint is satisfied if and only if the specified &lt;search condition> is not False for any or a given row of a table depending on how it was declared.&#xD;&#xA;&#xD;&#xA;A table check constraint is described by a table check constraint descriptor. In addition to the components of every table constraint descriptor, a table check constraint descriptor includes: The &lt;search condition> ."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="searchCondition" eType="#//expressions/SearchCondition"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Section 4.17.2&#xD;&#xA;A check constraint is satisfied if and only if the specified &lt;search condition> is not False for any row of a table."/>
+        </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="Section 4.17&#xD;&#xA;In the case that a table constraint is a referential constraint, the table is referred to as the referencing table. The referenced columns of a referential constraint shall be the unique columns of some unique constraint of the&#xD;&#xA;referenced table.&#xD;&#xA;&#xD;&#xA;Section 11.8&#xD;&#xA;5) The referenced table shall be a base table.&#xD;&#xA; Case:&#xD;&#xA;  a) If the referencing table is a persistent base table, then the referenced table shall be a persistent base table.&#xD;&#xA;  b) If the referencing table is a global temporary table, then the referenced table shall be a global temporary table. &#xD;&#xA;  c) If the referencing table is a created local temporary table, then the referenced table shall be either a global temporary table or a created local temporary table.&#xD;&#xA;  d) If the referencing table is a declared local temporary table, then the referenced table shall be either a global temporary table, a created local temporary table or a declared local temporary table.&#xD;&#xA;&#xD;&#xA;6) If the referenced table is a temporary table with ON COMMIT DELETE ROWS specified, then the ref-erencing table shall specify ON COMMIT DELETE ROWS .&#xD;&#xA;7) Each referencing column shall identify a column of the referencing table, and the same column shall not be identified more than once.&#xD;&#xA;9) The &lt;referencing columns> shall contain the same number of &lt;column name> s as the &lt;referenced table and columns> . The i-th column identified in the &lt;referencing columns> corresponds to the i-th column identified in the &lt;referenced table and columns> . The declared type of each referencing column shall be comparable to the declared type of the corresponding referenced column. There shall not be corresponding constituents of the declared type of a referencing column and the declared type of the corresponding referenced column such that one constituent is datetime with time zone and the other is datetime without time zone.&#xD;&#xA;10) If a &lt;referential constraint definition> does not specify any &lt;update rule> , then an &lt;update rule> with a &lt;referential action> of NO ACTION is implicit.&#xD;&#xA;11) If a &lt;referential constraint definition> does not specify any &lt;delete rule> , then a &lt;delete rule> with a &lt;referential action> of NO ACTION is implicit.&#xD;&#xA;"/>
+      </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="Section 4.17.2&#xD;&#xA;A unique constraint is satisfied if and only if no two rows in a table have the same non-null values in the unique columns.&#xD;&#xA;&#xD;&#xA;Section 11.7&#xD;&#xA;3) If &lt;unique column list> UCL is specified, then&#xD;&#xA;a) Each &lt;column name> in the &lt;unique column list> shall identify a column of T, and the same column&#xD;&#xA;shall not be identified more than once.&#xD;&#xA;b) The set of columns in the &lt;unique column list> shall be distinct from the unique columns of any other unique constraint descriptor that is included in the base table descriptor of T."/>
+      </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="Section 4.17&#xD;&#xA;A PrimaryKey is a specialization of a UniqueConstraint.  A PrimaryKey additionally requires that none of the values in the specified column or columns be a null value.&#xD;&#xA;&#xD;&#xA;Section 11.7&#xD;&#xA;5) If the &lt;unique specification> specifies PRIMARY KEY , then for each &lt;column name> in the explicit or&#xD;&#xA;implicit &lt;unique column list> for which NOT NULL is not specified, NOT NULL is implicit in the&#xD;&#xA;&lt;column definition> .&#xD;&#xA;6) A &lt;table definition> shall specify at most one implicit or explicit &lt;unique constraint definition> that&#xD;&#xA;specifies PRIMARY KEY ."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="MatchType">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="See KeyRelationship description."/>
+      </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">
+      <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="IndexMember is an EObject.  It does not have a name or associated SQL descriptor so it is not an SQLObject.  This is the way we have chosen to model Index columns because EMF does not support association classes."/>
+      </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="4.7 User-defined types&#xD;&#xA;&#xD;&#xA;A user-defined type is a schema object, identified by a &lt;user-defined type name> . The definition of a userdefined type specifies a number of components, including in particular a list of attribute definitions. Although the attribute definitions are said to define the representation of the user-defined type, in fact they implicitly define certain functions (observers and mutators) that are part of the interface of the user-defined type; physical representations of user-defined type values are implementation-dependent.&#xD;&#xA;&#xD;&#xA;The representation of a user-defined type is expressed either as a single data type (some predefined data type, called the source type), in which case the user-defined type is said to be a distinct type, or as a list of attribute definitions, in which case it is said to be a structured type.&#xD;&#xA;&#xD;&#xA;A user-defined type is described by a user-defined type descriptor. A user-defined type descriptor contains:&#xD;&#xA; - The name of the user-defined type (&lt;user-defined type name> ). This is the type designator of that type, used in type precedence lists (see Subclause 9.5, &quot;Type precedence list determination&quot;).&#xD;&#xA; - An indication of whether the user-defined type is a structured type or a distinct type.&#xD;&#xA; - The ordering form for the user-defined type (EQUALS , FULL , or NONE ).&#xD;&#xA; - The ordering category for the user-defined type (RELATIVE , MAP , or STATE ).&#xD;&#xA; - A &lt;specific routine designator> identifying the ordering function, depending on the ordering category.&#xD;&#xA; - If the user-defined type is a direct subtype of another user-defined type, then the name of that user-defined type.&#xD;&#xA; - If the representation is a predefined data type, then the descriptor of that type; otherwise the attribute descriptor of every originally-defined attribute and every inherited attribute of the user-defined type.&#xD;&#xA; - An indication of whether the user-defined type is instantiable or not instantiable.&#xD;&#xA; - An indication of whether the user-defined type is final or not final.&#xD;&#xA; - The transform descriptor of the user-defined type.&#xD;&#xA; - If the user-defined type is a structured type, then:&#xD;&#xA; - Whether the referencing type of the structured type has a user-defined representation, a derived representation, or a system-defined representation.&#xD;&#xA; - If user-defined representation is specified, then the type descriptor of the representation type of the referencing type of the structured type; otherwise, if derived representation is specified, then the list of attributes.&#xD;&#xA;NOTE 15 - &quot;user-defined representation&quot;, &quot;derived representation&quot;, and &quot;system-defined representation&quot; of a reference type are defined in Subclause 4.9, &quot;Reference types&quot;.&#xD;&#xA; - If the &lt;method specification list> is specified, then for each &lt;method specification> contained in &lt;method specification list> , a method specification descriptor that includes:&#xD;&#xA; - The &lt;method name>.&#xD;&#xA; - The &lt;specific method name>.&#xD;&#xA; - The &lt;SQL parameter declaration list> augmented to include the implicit first parameter with parameter name SELF.&#xD;&#xA; - The &lt;language name>.&#xD;&#xA; - If the &lt;language name> is not SQL, then the &lt;parameter style>.&#xD;&#xA; - The &lt;returns data type>.&#xD;&#xA; - The &lt;result cast from type> , if any.&#xD;&#xA; - An indication as to whether the &lt;method specification> is an &lt;original method specification> or an &lt;overriding method specification> .&#xD;&#xA; - If the &lt;method specification> is an &lt;original method specification> , then an indication of whether STATIC or CONSTRUCTOR is specified.&#xD;&#xA; - An indication whether the method is deterministic.&#xD;&#xA; - An indication whether the method possibly writes SQL data, possibly reads SQL data, possibly contains SQL, or does not possibly contain SQL.&#xD;&#xA; - An indication whether the method should not be invoked if any argument is the null value, in which case the value of the method is the null value.&#xD;&#xA;NOTE 16 - The characteristics of an &lt;overriding method specification> other than the &lt;method name> , &lt;SQL parameter declaration list> , and &lt;returns data type> are the same as the characteristics for the corresponding &lt;original method specification> .&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. Exactly one of the data types of a value V, namely the most specific type of V, is a subtype of every data type of V. A &lt;value expression> E has exactly one declared type, common to every possible result of evaluating E. Items that can be referenced by name, such as SQL parameters, columns, fields, attributes, and variables, also have declared types.&#xD;&#xA;&#xD;&#xA;SQL supports three sorts of data types: predefined data types, constructed types, and user-defined types. Predefined data types are sometimes called 'built-in data types', though not in this International Standard. Userdefined types can be defined by a standard, by an implementation, or by an application. A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;&#xD;&#xA;Every predefined data type is a subtype of itself and of no other data types. It follows that every predefined data type is a supertype of itself and of no other data types. The predefined data types are individually described in each of Subclause 4.2, &quot;Character strings&quot;, through Subclause 4.6, &quot;Datetimes and intervals&quot;. Row types, reference types and collection types are described in Subclause 4.8, &quot;Row types&quot;, Subclause 4.9, &quot;Reference types&quot;, Subclause 4.10, &quot;Collection types&quot;, respectively.&#xD;&#xA;&#xD;&#xA;SQL defines predefined data types named by the following &lt;key word> s: CHARACTER , CHARACTER VARYING , CHARACTER LARGE OBJECT , BINARY LARGE OBJECT , NUMERIC , DECIMAL , SMALLINT , INTEGER , BIGINT , FLOAT , REAL , DOUBLE PRECISION , BOOLEAN , DATE , TIME , TIMESTAMP , and INTERVAL . These names are used in the type designators that constitute the type precedence lists specified in Subclause 9.5, &quot;Type precedence list determination&quot;.&#xD;&#xA;&#xD;&#xA;For reference purposes:&#xD;&#xA; - The data types CHARACTER , CHARACTER VARYING , and CHARACTER LARGE OBJECT are collectively referred to as character string types.&#xD;&#xA; - The data type BINARY LARGE OBJECT is referred to as the binary string type and the values of binary string types are referred to as binary strings.&#xD;&#xA; - The data types CHARACTER LARGE OBJECT and BINARY LARGE OBJECT are collectively referred to as large object string types and the values of large object string types are referred to as large object strings.&#xD;&#xA; - Character string types and binary string types are collectively referred to as string types and values of string types are referred to as strings.&#xD;&#xA; - The data types NUMERIC , DECIMAL , SMALLINT , INTEGER , and BIGINT are collectively referred to as exact numeric types.&#xD;&#xA; - The data types FLOAT , REAL , and DOUBLE PRECISION are collectively referred to as approximate numeric types.&#xD;&#xA; - Exact numeric types and approximate numeric types are collectively referred to as numeric types. Values of numeric types are referred to as numbers.&#xD;&#xA; - The data types TIME WITHOUT TIME ZONE and TIME WITH TIME ZONE are collectively referred to as time types (or, for emphasis, as time with or without time zone).&#xD;&#xA; - The data types TIMESTAMP WITHOUT TIME ZONE and TIMESTAMP WITH TIME ZONE are collectively referred to as timestamp types (or, for emphasis, as timestamp with or without time zone).&#xD;&#xA; - The data types DATE , TIME , and TIMESTAMP are collectively referred to as datetime types.&#xD;&#xA; - Values of datetime types are referred to as datetimes.&#xD;&#xA; - The data type INTERVAL is referred to as an interval type. Values of interval types are called intervals.&#xD;&#xA;&#xD;&#xA;Each data type has an associated data type descriptor; the contents of a data type descriptor are determined by the specific data type that it describes. A data type descriptor includes an identification of the data type and all information needed to characterize a value of that data type. Subclause 6.1, &quot;&lt;data type> &quot;, describes the semantic properties of each data type.&#xD;&#xA;&#xD;&#xA;A structured type ST is directly based on a data type DT if any of the following are true:&#xD;&#xA; - DT is the declared type of some attribute of ST.&#xD;&#xA; - DT is a direct supertype of ST.&#xD;&#xA; - DT is a direct subtype of ST.&#xD;&#xA; - DT is compatible with ST.&#xD;&#xA;&#xD;&#xA;A collection type CT is directly based on a data type DT if DT is the element type of CT.&#xD;&#xA;A row type RT is directly based on a data type DT if DT is the declared type of some field (or the data type of the domain of some field) whose descriptor is included in the descriptor of RT.&#xD;&#xA;A data type DT1 is based on a data type DT2 if DT1 is directly based on DT2 or DT1 is directly based on some data type that is based on DT2.&#xD;&#xA;&#xD;&#xA;A type TY is usage-dependent on a user-defined type UDT if one of the following conditions is true:&#xD;&#xA; - TY is UDT.&#xD;&#xA; - TY is a reference type whose referenced type is UDT.&#xD;&#xA; - TY is a row type, and the declared type of a field of TY is usage-dependent on UDT.&#xD;&#xA; - TY is a collection type, and the declared element type of TY is usage-dependent on UDT.&#xD;&#xA;&#xD;&#xA;Each host language has its own data types, which are separate and distinct from SQL data types, even though similar names may be used to describe the data types. Mappings of SQL data types to data types in host languages are described in Subclause 11.50, &quot;&lt;SQL-invoked routine> &quot;, and Subclause 20.1, &quot;&lt;embedded SQL host program> &quot;. Not every SQL data type has a corresponding data type in every host language. Ordering and comparison of values of the predefined data types requires knowledge only about those predefined data types. However, to be able to compare and order values of constructed types or of user-defined types, additional information is required. We say that some type T is S-ordered, for some set of types S, if, in order to compare and order values of type T, information about ordering at least one of the types in S is first required.&#xD;&#xA;&#xD;&#xA;A definition of S-ordered is required for several S (that is, for several sets of types), but not for all possible such sets.&#xD;&#xA;The general definition of S-ordered is this:&#xD;&#xA;Let T be a type and let S be a set of types. T is S-ordered if one of the following is true:&#xD;&#xA;- T is a member of S.&#xD;&#xA;- T is a row type and the declared type of some field of T is S-ordered.&#xD;&#xA;- T is a collection type and the element type of T is S-ordered.&#xD;&#xA;- T is a structured type whose comparison form is STATE and the declared type of some attribute of T is S-ordered.&#xD;&#xA;- T is a user-defined type whose comparison form is MAP and the return type of the SQL-invoked function that is identified by the &lt;map function specification> is S-ordered.&#xD;&#xA;- T is a reference type with a derived representation and the declared type of some attribute enumerated by the &lt;derived representation> is S-ordered.&#xD;&#xA;&#xD;&#xA;The notion of S-ordered is applied in the following definitions:&#xD;&#xA;- A type T is LOB-ordered if T is L-ordered, where L is the set of large object types.&#xD;&#xA;- A type T is array-ordered if T is ARR-ordered, where ARR is the set of array types.&#xD;&#xA;- A type T is multiset-ordered if T is MUL-ordered, where MUL is the set of multiset types.&#xD;&#xA;- A type T is reference-ordered if T is REF-ordered, where REF is the set of reference types.&#xD;&#xA;- A type T is DT-EC-ordered if T is DTE-ordered, where DTE is the set of distinct types with EQUALS ONLY comparison form (DT-EC stands for &quot;distinct type-equality comparison&quot;).&#xD;&#xA;- A type T is DT-FC-ordered if T is DTF-ordered, where DTF is the set of distinct types with FULL comparison form.&#xD;&#xA;- A type T is DT-NC-ordered if T is DTN-ordered, where DTN is the set of distinct types with no comparison form.&#xD;&#xA;- A type T is ST-EC-ordered if T is STE-ordered, where STE is the set of structured types with EQUALS ONLY comparison form.&#xD;&#xA;- A type T is ST-FC-ordered if T is STF-ordered, where STF is the set of structured types with FULL comparison form.&#xD;&#xA;- A type T is ST-NC-ordered if T is STN-ordered, where STN is the set of structured types with no comparison form.&#xD;&#xA;- A type T is ST-ordered if T is ST-EC-ordered, ST-FC-ordered or ST-NC-ordered.&#xD;&#xA;- A type T is UDT-EC-ordered if T is either DT-EC-ordered or ST-EC-ordered (UDT stands for &quot;user-defined type&quot;).&#xD;&#xA;- A type T is UDT-FC-ordered if T is either DT-FC-ordered or ST-FC-ordered&#xD;&#xA;- A type T is UDT-NC-ordered if T is either DT-NC-ordered or ST-NC-ordered.&#xD;&#xA;&#xD;&#xA;The notion of constituent of a declared type DT is defined recursively as follows:&#xD;&#xA;- DT is a constituent of DT.&#xD;&#xA;- If DT is a row type, then the declared type of each field of DT is a constituent of DT.&#xD;&#xA;- If DT is a collection type, then the element type of DT is a constituent of DT.&#xD;&#xA;- Every constituent of a constituent of DT is a constituent of DT.&#xD;&#xA;&#xD;&#xA;Two data types, T1 and T2, are said to be compatible if T1 is assignable to T2, T2 is assignable to T1, and their descriptors include the same data type name. If they are row types, it shall further be the case that the declared types of their corresponding fields are pairwise compatible. If they are collection types, it shall further be the case that their element types are compatible. If they are reference types, it shall further be the case that their referenced types are compatible.&#xD;&#xA;NOTE 8 - The data types &quot;CHARACTER (n) CHARACTER SET CS1&quot; and &quot;CHARACTER (m) CHARACTER SET CS2&quot;, where CS1 1 CS2, have descriptors that include the same data type name (CHARACTER ), but are not mutually assignable; therefore, they are not compatible.&#xD;&#xA;"/>
+      </eAnnotations>
+      <eOperations name="setContainer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This method is used to set the type on the given Column.  It is implemented on the child classes of DataType.  The concrete children classses will know which type relationship to use on Column to set the data type."/>
+        </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;Every predefined data type is a subtype of itself and of no other data types. It follows that every predefined data type is a supertype of itself and of no other data types. The predefined data types are individually described in each of Subclause 4.2, &quot;Character strings&quot;, through Subclause 4.6, &quot;Datetimes and intervals&quot;. Row types, reference types and collection types are described in Subclause 4.8, &quot;Row types&quot;, Subclause 4.9, &quot;Reference types&quot;, Subclause 4.10, &quot;Collection types&quot;, respectively.&#xD;&#xA;&#xD;&#xA;SQL defines predefined data types named by the following &lt;key word> s: CHARACTER , CHARACTER VARYING , CHARACTER LARGE OBJECT , BINARY LARGE OBJECT , NUMERIC , DECIMAL , SMALLINT , INTEGER , BIGINT , FLOAT , REAL , DOUBLE PRECISION , BOOLEAN , DATE , TIME , TIMESTAMP , and INTERVAL . These names are used in the type designators that constitute the type precedence lists specified in Subclause 9.5, &quot;Type precedence list determination&quot;."/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;"/>
+      </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="4.4 Numbers&#xD;&#xA;&#xD;&#xA;A number is either an exact numeric value or an approximate numeric value. Any two numbers are comparable.&#xD;&#xA;A numeric type is described by a numeric type descriptor. A numeric type descriptor contains:&#xD;&#xA; - The name of the specific numeric type (NUMERIC , DECIMAL , SMALLINT , INTEGER , BIGINT , FLOAT , REAL , or DOUBLE PRECISION).&#xD;&#xA; - The precision of the numeric type.&#xD;&#xA; - The scale of the numeric type, if it is an exact numeric type.&#xD;&#xA; - An indication of whether the precision (and scale) are expressed in decimal or binary terms.&#xD;&#xA;&#xD;&#xA;An SQL-implementation is permitted to regard certain &lt;exact numeric type> s as equivalent, if they have the same precision, scale, and radix, as permitted by the Syntax Rules of Subclause 6.1, &quot;&lt;data type> &quot;. When two or more &lt;exact numeric type> s are equivalent, the SQL-implementation chooses one of these equivalent &lt;exact numeric type> s as the normal form representing that equivalence class of &lt;exact numeric type> s. The normal form determines the name of the exact numeric type in the numeric type descriptor.&#xD;&#xA;&#xD;&#xA;Similarly, an SQL-implementation is permitted to regard certain &lt;approximate numeric type> s as equivalent, as permitted the Syntax Rules of Subclause 6.1, &quot;&lt;data type> &quot;, in which case the SQL-implementation chooses a normal form to represent each equivalence class of &lt;approximate numeric type> and the normal form determines the name of the approximate numeric type.&#xD;&#xA;&#xD;&#xA;For every numeric type, the least value is less than zero and the greatest value is greater than zero.&#xD;&#xA;&#xD;&#xA;4.4.1 Characteristics of numbers&#xD;&#xA;&#xD;&#xA;An exact numeric type has a precision P and a scale S. P is a positive integer that determines the number of significant digits in a particular radix R, where R is either 2 or 10. S is a non-negative integer. Every value of an exact numeric type of scale S is of the form n x 10-S, where n is an integer such that -RP &lt;= n &lt; RP.&#xD;&#xA;NOTE 13 - Not every value in that range is necessarily a value of the type in question.&#xD;&#xA;&#xD;&#xA;An approximate numeric value consists of a mantissa and an exponent. The mantissa is a signed numeric value, and the exponent is a signed integer that specifies the magnitude of the mantissa. An approximate numeric value has a precision. The precision is a positive integer that specifies the number of significant binary digits in the mantissa. The value of an approximate numeric value is the mantissa multiplied by a factor determined by the exponent.&#xD;&#xA;&#xD;&#xA;An &lt;approximate numeric literal> ANL consists of an &lt;exact numeric literal> (called the &lt;mantissa> ), the letter 'E' or 'e', and a &lt;signed integer> (called the &lt;exponent> ). If M is the value of the &lt;mantissa> and E is the value of the &lt;exponent> , then M * 10E is the apparent value of ANL. The actual value of ANL is approximately the apparent value of ANL, according to implementation-defined rules.&#xD;&#xA;&#xD;&#xA;A number is assignable only to sites of numeric type. If an assignment of some number would result in a loss of its most significant digit, an exception condition is raised. If least significant digits are lost, implementationdefined rounding or truncating occurs, with no exception condition being raised. The rules for arithmetic are specified in Subclause 6.26, &quot;&lt;numeric value expression> &quot;.&#xD;&#xA;&#xD;&#xA;Whenever an exact or approximate numeric value is assigned to an exact numeric value site, an approximation of its value that preserves leading significant digits after rounding or truncating is represented in the declared type of the target. The value is converted to have the precision and scale of the target. The choice of whether to truncate or round is implementation-defined.&#xD;&#xA;&#xD;&#xA;An approximation obtained by truncation of a numeric value N for an &lt;exact numeric type> T is a value V in T such that N is not closer to zero than is V and there is no value in T between V and N. An approximation obtained by rounding of a numeric value N for an &lt;exact numeric type> T is a value V in T such that the absolute value of the difference between N and the numeric value of V is not greater than half the absolute value of the difference between two successive numeric values in T. If there is more than one such value V, then it is implementation-defined which one is taken.&#xD;&#xA;&#xD;&#xA;All numeric values between the smallest and the largest value, inclusive, in a given exact numeric type have an approximation obtained by rounding or truncation for that type; it is implementation-defined which other numeric values have such approximations. An approximation obtained by truncation or rounding of a numeric value N for an &lt;approximate numeric type> T is a value V in T such that there is no numeric value in T and distinct from that of V that lies between the numeric value of V and N, inclusive.&#xD;&#xA;&#xD;&#xA;If there is more than one such value V then it is implementation-defined which one is taken. It is implementationdefined which numeric values have approximations obtained by rounding or truncation for a given approximate numeric type. Whenever an exact or approximate numeric value is assigned to an approximate numeric value site, an approximation of its value is represented in the declared type of the target. The value is converted to have the precision of the target.&#xD;&#xA;&#xD;&#xA;Operations on numbers are performed according to the normal rules of arithmetic, within implementationdefined limits, except as provided for in Subclause 6.26, &quot;&lt;numeric value expression> &quot;.&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;For reference purposes:&#xD;&#xA; - The data types CHARACTER , CHARACTER VARYING , and CHARACTER LARGE OBJECT are collectively referred to as character string types.&#xD;&#xA; - The data type BINARY LARGE OBJECT is referred to as the binary string type and the values of binary string types are referred to as binary strings.&#xD;&#xA; - The data types CHARACTER LARGE OBJECT and BINARY LARGE OBJECT are collectively referred to as large object string types and the values of large object string types are referred to as large object strings.&#xD;&#xA; - Character string types and binary string types are collectively referred to as string types and values of string types are referred to as strings.&#xD;&#xA;&#xD;&#xA;4.2 Character strings&#xD;&#xA;&#xD;&#xA;A character string is a sequence of characters. All the characters in a character string are taken from a single character set. A character string has a length, which is the number of characters in the sequence. The length is 0 (zero) or a positive integer. A character string type is described by a character string type descriptor.&#xD;&#xA;&#xD;&#xA;A character string type descriptor contains:&#xD;&#xA; - The name of the specific character string type (CHARACTER , CHARACTER VARYING , and CHARACTER LARGE OBJECT ; NATIONAL CHARACTER , NATIONAL CHARACTER VARYING , and NATIONAL CHARACTER LARGE OBJECT are represented as CHARACTER , CHARACTER VARYING , and CHARACTER LARGE OBJECT , respectively).&#xD;&#xA; - The length or maximum length in characters of the character string type.&#xD;&#xA; - The catalog name, schema name, and character set name of the character set of the character string type.&#xD;&#xA; - The catalog name, schema name, and collation name of the collation of the character string type.&#xD;&#xA;&#xD;&#xA;The character set of a character string type may be specified explicitly or implicitly.&#xD;&#xA;&#xD;&#xA;The &lt;key word>s NATIONAL CHARACTER are used to specify an implementation-defined character set. Special syntax (N'string') is provided for representing literals in that character set. With two exceptions, a character string expression is assignable only to sites of a character string type whose character set is the same. The exceptions are as specified in Subclause 4.2.7, &quot;Universal character sets&quot;, and such other cases as may be implementation-defined. If a store assignment would result in the loss of non-&lt;space> characters due to truncation, then an exception condition is raised. If a retrieval assignment or evaluation of a &lt;cast specification> would result in the loss of characters due to truncation, then a warning condition is raised.&#xD;&#xA;&#xD;&#xA;Character sets fall into three categories: those defined by national or international standards, those defined by SQL-implementations, and those defined by applications. The character sets defined by ISO/IEC 10646 and The Unicode Standard are known as Universal Character Sets (UCS) and their treatment is described in Subclause 4.2.7, &quot;Universal character sets&quot;. Every character set contains the &lt;space> character (equivalent to U+0020). An application defines a character set by assigning a new name to a character set from one of the first two categories. They can be defined to &quot;reside&quot; in any schema chosen by the application. Character sets defined by standards or by SQL-implementations reside in the Information Schema (named INFORMATION_SCHEMA) in each catalog, as do collations defined by standards and collations, transliterations, and transcodings defined by SQL-implementations.&#xD;&#xA;&#xD;&#xA;NOTE 9 : The Information Schema is defined in ISO/IEC 9075-11.&#xD;&#xA;"/>
+      </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" derived="true"/>
+      <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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;"/>
+      </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="4.5 Boolean types&#xD;&#xA;&#xD;&#xA;The data type boolean comprises the distinct truth values True and False. Unless prohibited by a NOT NULL constraint, the boolean data type also supports the Unknown truth value as the null value. This specification does not make a distinction between the null value of the boolean data type and the Unknown truth value that is the result of an SQL &lt;predicate> , &lt;search condition> , or &lt;boolean value expression> ; they may be used interchangeably to mean exactly the same thing.&#xD;&#xA;&#xD;&#xA;The boolean data type is described by the boolean data type descriptor. The boolean data type descriptor contains:&#xD;&#xA; - The name of the boolean data type (BOOLEAN )."/>
+      </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="4.6 Datetimes and intervals&#xD;&#xA;&#xD;&#xA;An interval data type is described by an interval data type descriptor.&#xD;&#xA;&#xD;&#xA;An interval data type descriptor contains:&#xD;&#xA; - The name of the interval data type (INTERVAL ).&#xD;&#xA; - An indication of whether the interval data type is a year-month interval or a day-time interval.&#xD;&#xA; - The &lt;interval qualifier> that describes the precision of the interval data type.&#xD;&#xA;&#xD;&#xA;A value described by an interval data type descriptor is always signed. Every datetime or interval data type has an implied length in positions. Let D denote a value in some datetime or interval data type DT. The length in positions of DT is constant for all D. The length in positions is the number of characters from the character set SQL_TEXT that it would take to represent any value in a given datetime or interval data type.&#xD;&#xA;&#xD;&#xA;An approximation obtained by rounding of a datetime or interval value D for a &lt;datetime type> or &lt;interval type> T is a value V in T such that the absolute value of the difference between D and the numeric value of V is not greater than half the absolute value of the difference between two successive datetime or interval values in T. If there is more than one such value V, then it is implementation-defined which one is taken.&#xD;&#xA;&#xD;&#xA;4.6.2 Intervals&#xD;&#xA;&#xD;&#xA;There are two classes of intervals. One class, called year-month intervals, has an express or implied datetime precision that includes no fields other than YEAR and MONTH , though not both are required. The other class, called day-time intervals, has an express or implied interval precision that can include any fields other than YEAR or MONTH .&#xD;&#xA;&#xD;&#xA;The actual subset of fields that comprise a value of either type of interval is defined by an &lt;interval qualifier> and this subset is known as the precision of the value. Within a value of type interval, the first field is constrained only by the &lt;interval leading field precision> of the associated &lt;interval qualifier> . Table 6, &quot;Valid values for fields in INTERVAL values&quot;, specifies the constraints on subsequent field values.&#xD;&#xA;&#xD;&#xA;Values in interval fields other than SECOND are integers and have precision 2 when not the first field. SECOND, however, can be defined to have an &lt;interval fractional seconds precision> that indicates the number of decimal digits maintained following the decimal point in the seconds value. When not the first field, SECOND has a precision of 2 places before the decimal point.&#xD;&#xA;&#xD;&#xA;Fields comprising an item of type interval are also constrained by the definition of the Gregorian calendar. Year-month intervals are comparable only with other year-month intervals. If two year-month intervals have different interval precisions, they are, for the purpose of any operations between them, effectively converted to the same precision by appending new &lt;primary datetime field> s to either the most significant end of one interval, the least significant end of one interval, or both. New least significant &lt;primary datetime field> s are assigned a value of 0 (zero). When it is necessary to add new most significant datetime fields, the associated value is effectively converted to the new precision in a manner obeying the natural rules for dates and times associated with the Gregorian calendar.&#xD;&#xA;&#xD;&#xA;Day-time intervals are comparable only with other day-time intervals. If two day-time intervals have different interval precisions, they are, for the purpose of any operations between them, effectively converted to the same precision by appending new &lt;primary datetime field> s to either the most significant end of one interval or the least significant end of one interval, or both. New least significant &lt;primary datetime field> s are assigned a value of 0 (zero). When it is necessary to add new most significant datetime fields, the associated value is effectively converted to the new precision in a manner obeying the natural rules for dates and times associated with the Gregorian calendar.&#xD;&#xA;&#xD;&#xA;"/>
+      </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="4.3 Binary strings&#xD;&#xA;&#xD;&#xA;A binary string is a sequence of octets that does not have either a character set or collation associated with it. A binary string data type is described by a binary string data type descriptor. A binary string data type descriptor contains:&#xD;&#xA; - The name of the data type (BINARY LARGE OBJECT ).&#xD;&#xA; - The maximum length of the binary string data type (in octets).&#xD;&#xA;&#xD;&#xA;A binary string is assignable only to sites of data type BINARY LARGE OBJECT . If a store assignment would result in the loss of non-zero octets due to truncation, then an exception condition is raised. If a retrieval assignment would result in the loss of octets due to truncation, then a warning condition is raised."/>
+      </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="4.2.6 Character sets&#xD;&#xA;&#xD;&#xA;An SQL &lt;character set specification> allows a reference to a character set name defined by a standard, an SQLimplementation,&#xD;&#xA;or a user. A character set is described by a character set descriptor. A character set descriptor includes:&#xD;&#xA; - The name of the character set.&#xD;&#xA; - The name of the character repertoire for the character set.&#xD;&#xA; - The name of the character encoding form for the character set.&#xD;&#xA; - The name of the default collation for the character set.&#xD;&#xA;&#xD;&#xA;The following SQL supported character set names are specified as part of ISO/IEC 9075:&#xD;&#xA; - SQL_CHARACTER is a character set whose repertoire is SQL_CHARACTER and whose character encoding form is SQL_CHARACTER. The name of its default collation is SQL_CHARACTER.&#xD;&#xA; - GRAPHIC_IRV is a character set whose repertoire is GRAPHIC_IRV and whose character encoding form is GRAPHIC_IRV. The name of its default collation is GRAPHIC_IRV.&#xD;&#xA; - ASCII_GRAPHIC is a synonym for GRAPHIC_IRV.&#xD;&#xA; - LATIN1 is a character set whose repertoire is LATIN1 and whose character encoding form is LATIN1. The name of its default collation is LATIN1.&#xD;&#xA; - ISO8BIT is a character set whose repertoire is ISO8BIT and whose character encoding form is ISO8BIT. The name of its default collation is ISO8BIT.&#xD;&#xA; - ASCII_FULL is a synonym for ISO8BIT.&#xD;&#xA; - UTF32 is a character set whose repertoire is UCS and whose character encoding form is UTF32. It is implementation-defined whether the name of its default collation is UCS_BASIC or UNICODE.&#xD;&#xA; - UTF16 is a character set whose repertoire is UCS and whose character encoding form is UTF16. It is implementation-defined whether the name of its default collation is UCS_BASIC or UNICODE.&#xD;&#xA; - UTF8 is the name of a character set whose repertoire is UCS and whose character encoding form is UTF8. It is implementation-defined whether the name of its default collation is UCS_BASIC or UNICODE.&#xD;&#xA; - SQL_TEXT is a character set whose repertoire is SQL_TEXT and whose character encoding form is SQL_TEXT. The name of its default collation is SQL_TEXT.&#xD;&#xA; - SQL_IDENTIFIER is a character set whose repertoire is SQL_IDENTIFIER and whose character encoding form is SQL_IDENTIFIER. The name of its default collation is SQL_IDENTIFIER.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;4.2.7 Universal character sets&#xD;&#xA;&#xD;&#xA;A UCS string is a character string whose character repertoire is UCS and whose character encoding form is one of UTF8, UTF16, or UTF32. Any two UCS strings are comparable.&#xD;&#xA;An SQL-implementation may assume that all UCS strings are normalized in Normalization Form C (NFC), as specified by [Unicode15]. With the exception of &lt;normalize function> and &lt;normalized predicate> , the result of any operation on an unnormalized UCS string is implementation-defined.&#xD;&#xA;&#xD;&#xA;Conversion of UCS strings from one character set to another is automatic. Detection of a noncharacter in a UCS-string causes an exception condition to be raised. The detection of an unassigned code point does not."/>
+      </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="4.2.1 Comparison of character strings&#xD;&#xA;&#xD;&#xA;Two character strings are comparable if and only if either they have the same character set or there exists at least one collation that is applicable to both their respective character sets.&#xD;&#xA;&#xD;&#xA;A collation is defined by ISO/IEC 14651 as &quot;a process by which two strings are determined to be in exactly one of the relationships of less than, greater than, or equal to one another&quot;. Each collation known in an SQLenvironment is applicable to one or more character sets, and for each character set, one or more collations are applicable to it, one of which is associated with it as its character set collation.&#xD;&#xA;&#xD;&#xA;Anything that has a declared type can, if that type is a character string type, be associated with a collation applicable to its character set; this is known as a declared type collation. Every declared type that is a character string type has a collation derivation, this being either none, implicit, or explicit. The collation derivation of a declared type with a declared type collation that is explicitly or implicitly specified by a &lt;data type> is implicit. If the collation derivation of a declared type that has a declared type collation is not implicit, then it is explicit. The collation derivation of an expression of character string type that has no declared type collation is none.&#xD;&#xA;&#xD;&#xA;An operation that explicitly or implicitly involves character string comparison is a character comparison operation. At least one of the operands of a character comparison operation shall have a declared type collation. There may be an SQL-session collation for some or all of the character sets known to the SQL-implementation (see Subclause 4.37, &quot;SQL-sessions&quot;).&#xD;&#xA;&#xD;&#xA;The collation used for a particular character comparison is specified by Subclause 9.13, &quot;Collation determination&quot;. The comparison of two character string expressions depends on the collation used for the comparison (see Subclause 9.13, &quot;Collation determination&quot;). When values of unequal length are compared, if the collation for the comparison has the NO PAD characteristic and the shorter value is equal to some prefix of the longer value, then the shorter value is considered less than the longer value. If the collation for the comparison has the PAD SPACE characteristic, for the purposes of the comparison, the shorter value is effectively extended to the length of the longer by concatenation of &lt;space> s on the right. For every character set, there is at least one collation.&#xD;&#xA;"/>
+      </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="4.6.1 Datetimes&#xD;&#xA;&#xD;&#xA;Table 2, &quot;Fields in datetime values&quot; , specifies the fields that can make up a datetime value; a datetime value is made up of a subset of those fields. Not all of the fields shown are required to be in the subset, but every field that appears in the table between the first included primary field and the last included primary field shall also be included. If either time zone field is in the subset, then both of them shall be included.&#xD;&#xA;&#xD;&#xA;There is an ordering of the significance of &lt;primary datetime field> s. This is, from most significant to least significant: YEAR , MONTH , DAY , HOUR , MINUTE , and SECOND .&#xD;&#xA;&#xD;&#xA;The &lt;primary datetime field> s other than SECOND contain non-negative integer values, constrained by the natural rules for dates using the Gregorian calendar. SECOND , however, can be defined to have a &lt;time fractional seconds precision> that indicates the number of decimal digits maintained following the decimal point in the seconds value, a non-negative exact numeric value.&#xD;&#xA;&#xD;&#xA;There are three classes of datetime data types defined within this part of ISO/IEC 9075:&#xD;&#xA; - DATE: contains the &lt;primary datetime field> s YEAR , MONTH , and DAY .&#xD;&#xA; - TIME: contains the &lt;primary datetime field> s HOUR , MINUTE , and SECOND .&#xD;&#xA; - TIMESTAMP: contains the &lt;primary datetime field> s YEAR , MONTH , DAY , HOUR , MINUTE , and SECOND .&#xD;&#xA;&#xD;&#xA;Items of type datetime are comparable only if they have the same &lt;primary datetime field> s. A datetime data type that specifies WITH TIME ZONE is a data type that is datetime with time zone, while a datetime data type that specifies WITHOUT TIME ZONE is a data type that is datetime without time zone. The surface of the earth is divided into zones, called time zones, in which every correct clock tells the same time, known as local time. Local time is equal to UTC (Coordinated Universal Time) plus the time zone displacement, which is an interval value that ranges between INTERVAL '-12:59' HOUR TO MINUTE and INTERVAL '+14:00' HOUR TO MINUTE . The time zone displacement is constant throughout a time zone, changing at the beginning and end of Daylight Time, where applicable.&#xD;&#xA;&#xD;&#xA;A datetime value, of data type TIME WITHOUT TIME ZONE or TIMESTAMP WITHOUT TIME ZONE , may represent a local time, whereas a datetime value of data type TIME WITH TIME ZONE or TIMESTAMP WITH TIME ZONE represents UTC.&#xD;&#xA;&#xD;&#xA;On occasion, UTC is adjusted by the omission of a second or the insertion of a &quot;leap second&quot; in order to maintain synchronization with sidereal time. This implies that sometimes, but very rarely, a particular minute will contain exactly 59, 61, or 62 seconds. Whether an SQL-implementation supports leap seconds, and the consequences of such support for date and interval arithmetic, is implementation-defined.&#xD;&#xA;For the convenience of users, whenever a datetime value with time zone is to be implicitly derived from one without (for example, in a simple assignment operation), SQL assumes the value without time zone to be local, subtracts the current default time zone displacement of the SQL-session from it to give UTC, and associates that time zone displacement with the result. Conversely, whenever a datetime value without time zone is to be implicitly derived from one with, SQL assumes the value with time zone to be UTC, adds the time zone displacement to it to give local time, and the result, without any time zone displacement, is local. The preceding principles, as implemented by &lt;cast specification> , result in data type conversions between the various datetime data types, as summarized in Table 3, &quot;Datetime data type conversions&quot;.&#xD;&#xA;&#xD;&#xA;A datetime is assignable to a site only if the source and target of the assignment are both of type DATE , or both of type TIME (regardless whether WITH TIME ZONE or WITHOUT TIME ZONE is specified or implicit), or both of type TIMESTAMP (regardless whether WITH TIME ZONE or WITHOUT TIME ZONE is specified or implicit).&#xD;&#xA;"/>
+      </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="4.6.2 Intervals&#xD;&#xA;&#xD;&#xA;There are two classes of intervals. One class, called year-month intervals, has an express or implied datetime precision that includes no fields other than YEAR and MONTH , though not both are required. The other class, called day-time intervals, has an express or implied interval precision that can include any fields other than YEAR or MONTH .&#xD;&#xA;&#xD;&#xA;The actual subset of fields that comprise a value of either type of interval is defined by an &lt;interval qualifier> and this subset is known as the precision of the value. Within a value of type interval, the first field is constrained only by the &lt;interval leading field precision> of the associated &lt;interval qualifier> . Table 6, &quot;Valid values for fields in INTERVAL values&quot;, specifies the constraints on subsequent field values.&#xD;&#xA;"/>
+      </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="4.7 User-defined types&#xD;&#xA;&#xD;&#xA;A user-defined type is a schema object, identified by a &lt;user-defined type name> . The definition of a userdefined type specifies a number of components, including in particular a list of attribute definitions. Although the attribute definitions are said to define the representation of the user-defined type, in fact they implicitly define certain functions (observers and mutators) that are part of the interface of the user-defined type; physical representations of user-defined type values are implementation-dependent.&#xD;&#xA;&#xD;&#xA;The representation of a user-defined type is expressed either as a single data type (some predefined data type, called the source type), in which case the user-defined type is said to be a distinct type, or as a list of attribute definitions, in which case it is said to be a structured type.&#xD;&#xA;&#xD;&#xA;A user-defined type is described by a user-defined type descriptor. A user-defined type descriptor contains:&#xD;&#xA; - The name of the user-defined type (&lt;user-defined type name> ). This is the type designator of that type, used in type precedence lists (see Subclause 9.5, &quot;Type precedence list determination&quot;).&#xD;&#xA; - An indication of whether the user-defined type is a structured type or a distinct type."/>
+      </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="4.7 User-defined types&#xD;&#xA;&#xD;&#xA;A user-defined type is a schema object, identified by a &lt;user-defined type name> . The definition of a userdefined type specifies a number of components, including in particular a list of attribute definitions. Although the attribute definitions are said to define the representation of the user-defined type, in fact they implicitly define certain functions (observers and mutators) that are part of the interface of the user-defined type; physical representations of user-defined type values are implementation-dependent.&#xD;&#xA;&#xD;&#xA;The representation of a user-defined type is expressed either as a single data type (some predefined data type, called the source type), in which case the user-defined type is said to be a distinct type, or as a list of attribute definitions, in which case it is said to be a structured type.&#xD;&#xA;&#xD;&#xA;A user-defined type is described by a user-defined type descriptor. A user-defined type descriptor contains:&#xD;&#xA; - The name of the user-defined type (&lt;user-defined type name> ). This is the type designator of that type, used in type precedence lists (see Subclause 9.5, &quot;Type precedence list determination&quot;).&#xD;&#xA; - An indication of whether the user-defined type is a structured type or a distinct type."/>
+      </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="4.7 User-defined types&#xD;&#xA;&#xD;&#xA;A user-defined type is a schema object, identified by a &lt;user-defined type name>.&#xD;&#xA;&#xD;&#xA;A user-defined type is described by a user-defined type descriptor. A user-defined type descriptor contains:&#xD;&#xA; - The name of the user-defined type (&lt;user-defined type name> ). This is the type designator of that type, used in type precedence lists (see Subclause 9.5, &quot;Type precedence list determination&quot;).&#xD;&#xA; - An indication of whether the user-defined type is a structured type or a distinct type.&#xD;&#xA; - The ordering form for the user-defined type (EQUALS , FULL , or NONE ).&#xD;&#xA; - The ordering category for the user-defined type (RELATIVE , MAP , or STATE )."/>
+      </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="4.7 User-defined types&#xD;&#xA;&#xD;&#xA;A user-defined type is a schema object, identified by a &lt;user-defined type name>.&#xD;&#xA;&#xD;&#xA;A user-defined type is described by a user-defined type descriptor. A user-defined type descriptor contains:&#xD;&#xA; - The name of the user-defined type (&lt;user-defined type name> ). This is the type designator of that type, used in type precedence lists (see Subclause 9.5, &quot;Type precedence list determination&quot;).&#xD;&#xA; - An indication of whether the user-defined type is a structured type or a distinct type.&#xD;&#xA; - The ordering form for the user-defined type (EQUALS , FULL , or NONE ).&#xD;&#xA; - The ordering category for the user-defined type (RELATIVE , MAP , or STATE )."/>
+      </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="4.13 Columns, fields, and attributes&#xD;&#xA;&#xD;&#xA;The terms column, field, and attribute refer to structural components of tables, row types, and structured types, respectively, in analogous fashion. As the structure of a table consists of one or more columns, so does the structure of a row type consist of one or more fields and that of a structured type one or more attributes. Every structural element, whether a column, a field, or an attribute, is primarily a name paired with a declared type.&#xD;&#xA;&#xD;&#xA;The elements of a structure are ordered. Elements in different positions in the same structure can have the same declared type but not the same name. Although the elements of a structure are distinguished from each other by name, in some circumstances the compatibility of two structures (for the purpose at hand) is determined solely by considering the declared types of each pair of elements at the same ordinal position.&#xD;&#xA;&#xD;&#xA;An attribute A is described by an attribute descriptor. An attribute descriptor includes:&#xD;&#xA; - The name of the attribute.&#xD;&#xA; - The data type descriptor of the declared type of A.&#xD;&#xA; - The ordinal position of A within the structured type that contains it.&#xD;&#xA; - The value of the implicit or explicit &lt;attribute default> of A.&#xD;&#xA; - If the data type of the attribute is a reference type, then an indication of whether reference values shall be checked, and the &lt;reference scope check action> , if specified or implied.&#xD;&#xA; - The name of the structured type defined by the &lt;user-defined type definition> that defines A.&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;For reference purposes:&#xD;&#xA;[...]&#xD;&#xA; - The data types NUMERIC , DECIMAL , SMALLINT , INTEGER , and BIGINT are collectively referred to as exact numeric types.&#xD;&#xA; - The data types FLOAT , REAL , and DOUBLE PRECISION are collectively referred to as approximate numeric types.&#xD;&#xA; - Exact numeric types and approximate numeric types are collectively referred to as numeric types. Values of numeric types are referred to as numbers.&#xD;&#xA;&#xD;&#xA;4.4.1 Characteristics of numbers&#xD;&#xA;&#xD;&#xA;An exact numeric type has a precision P and a scale S. P is a positive integer that determines the number of significant digits in a particular radix R, where R is either 2 or 10. S is a non-negative integer. Every value of an exact numeric type of scale S is of the form n x 10-S, where n is an integer such that -RP &lt;= n &lt; RP.&#xD;&#xA;NOTE 13 - Not every value in that range is necessarily a value of the type in question.&#xD;&#xA;&#xD;&#xA;An approximate numeric value consists of a mantissa and an exponent. The mantissa is a signed numeric value, and the exponent is a signed integer that specifies the magnitude of the mantissa. An approximate numeric value has a precision. The precision is a positive integer that specifies the number of significant binary digits in the mantissa. The value of an approximate numeric value is the mantissa multiplied by a factor determined by the exponent.&#xD;&#xA;&#xD;&#xA;An &lt;approximate numeric literal> ANL consists of an &lt;exact numeric literal> (called the &lt;mantissa> ), the letter 'E' or 'e', and a &lt;signed integer> (called the &lt;exponent> ). If M is the value of the &lt;mantissa> and E is the value of the &lt;exponent> , then M * 10E is the apparent value of ANL. The actual value of ANL is approximately the apparent value of ANL, according to implementation-defined rules.&#xD;&#xA;"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="PrimitiveType">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;Every predefined data type is a subtype of itself and of no other data types. It follows that every predefined data type is a supertype of itself and of no other data types. The predefined data types are individually described in each of Subclause 4.2, &quot;Character strings&quot;, through Subclause 4.6, &quot;Datetimes and intervals&quot;. Row types, reference types and collection types are described in Subclause 4.8, &quot;Row types&quot;, Subclause 4.9, &quot;Reference types&quot;, Subclause 4.10, &quot;Collection types&quot;, respectively.&#xD;&#xA;&#xD;&#xA;SQL defines predefined data types named by the following &lt;key word> s: CHARACTER , CHARACTER VARYING , CHARACTER LARGE OBJECT , BINARY LARGE OBJECT , NUMERIC , DECIMAL , SMALLINT , INTEGER , BIGINT , FLOAT , REAL , DOUBLE PRECISION , BOOLEAN , DATE , TIME , TIMESTAMP , and INTERVAL . These names are used in the type designators that constitute the type precedence lists specified in Subclause 9.5, &quot;Type precedence list determination&quot;."/>
+      </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="4.12 Domains&#xD;&#xA;&#xD;&#xA;A domain is a set of permissible values. A domain is defined in a schema and is identified by a &lt;domain name> . The purpose of a domain is to constrain the set of valid values that can be stored in a column of a base table by various operations.&#xD;&#xA;&#xD;&#xA;A domain definition specifies a data type. It may also specify a &lt;domain constraint> that further restricts the valid values of the domain and a &lt;default clause> that specifies the value to be used in the absence of an explicitly specified value or column default.&#xD;&#xA;&#xD;&#xA;A domain is described by a domain descriptor. A domain descriptor includes:&#xD;&#xA; - The name of the domain.&#xD;&#xA; - The data type descriptor of the data type of the domain.&#xD;&#xA; - The value of &lt;default option> , if any, of the domain.&#xD;&#xA; - The domain constraint descriptors of the domain constraints, if any, of the domain.&#xD;&#xA;&#xD;&#xA;4.17.3 Domain constraints&#xD;&#xA;&#xD;&#xA;A domain constraint is a constraint that is specified for a domain. It is applied to all columns that are based on that domain, and to all values cast to that domain. A domain constraint is described by a domain constraint descriptor. In addition to the components of every constraint descriptor a domain constraint descriptor includes:&#xD;&#xA; - The &lt;search condition> .&#xD;&#xA;&#xD;&#xA;A domain constraint is satisfied by SQL-data if and only if, for any table T that has a column named C based on that domain, the specified &lt;search condition> , with each occurrence of VALUE replaced by C, is not False for any row of T. A domain constraint is satisfied by the result of a &lt;cast specification> if and only if the specified &lt;search condition>, with each occurrence of VALUE replaced by that result, is not False."/>
+      </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="4.13 Columns, fields, and attributes&#xD;&#xA;&#xD;&#xA;The terms column, field, and attribute refer to structural components of tables, row types, and structured types, respectively, in analogous fashion. As the structure of a table consists of one or more columns, so does the structure of a row type consist of one or more fields and that of a structured type one or more attributes. Every structural element, whether a column, a field, or an attribute, is primarily a name paired with a declared type.&#xD;&#xA;&#xD;&#xA;The elements of a structure are ordered. Elements in different positions in the same structure can have the same declared type but not the same name. Although the elements of a structure are distinguished from each other by name, in some circumstances the compatibility of two structures (for the purpose at hand) is determined solely by considering the declared types of each pair of elements at the same ordinal position.&#xD;&#xA;&#xD;&#xA;A field F is described by a field descriptor. A field descriptor includes:&#xD;&#xA; - The name of the field.&#xD;&#xA; - The data type descriptor of the declared type of F.&#xD;&#xA; - The ordinal position of F within the row type that simply contains it.&#xD;&#xA; - If the data type of the field is a reference type, then an indication of whether reference values shall be checked, and the &lt;reference scope check action> , if specified or implied.&#xD;&#xA;"/>
+      </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="4.1 Data types&#xD;&#xA;&#xD;&#xA;A data type is a set of representable values. Every representable value belongs to at least one data type and some belong to several data types. [...]&#xD;&#xA;&#xD;&#xA;A constructed type is specified using one of SQL's data type constructors, ARRAY , MULTISET , REF , and ROW . A constructed type is either an array type, a multiset type, a reference type, or a row type, according to whether it is specified with ARRAY , MULTISET , REF , or ROW , respectively. Array types and multiset types are known generically as collection types.&#xD;&#xA;"/>
+      </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"/>
+    <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="SQLDataType represents any non user defined data type.  I was introduced because a TypedElement needs to distinguish between UDTs and non UDTs."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DataLinkDataType" eSuperTypes="#//datatypes/PredefinedDataType">
+      <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">
+      <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"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ExactNumericDataType" abstract="true"
+        eSuperTypes="#//datatypes/NumericalDataType">
+      <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"/>
+    <eClassifiers xsi:type="ecore:EClass" name="IntegerDataType" eSuperTypes="#//datatypes/ExactNumericDataType"/>
+    <eClassifiers xsi:type="ecore:EClass" name="XMLDataType" eSuperTypes="#//datatypes/PredefinedDataType"/>
+  </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="A boolean value expression specifying a condition that is True, False, or Unknown.&#xD;&#xA;"/>
+      </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="4.14.5 Base columns and generated columns&#xD;&#xA;&#xD;&#xA;A column of a base table is either a base column or a generated column. A base column is one that is not a generated column.&#xD;&#xA;&#xD;&#xA;A generated column is one whose values are determined by evaluation of a generation expression, a &lt;value expression> whose declared type is by implication that of the column.&#xD;&#xA;&#xD;&#xA;A generation expression can reference base columns of the base table to which it belongs but cannot otherwise access SQLdata. Thus, the value of the field corresponding to a generated column in row R is determined by the values of zero or more other fields of R.&#xD;&#xA;"/>
+      </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">
+      <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">
+      <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">
+      <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">
+      <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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is described by a routine descriptor. A routine descriptor includes:&#xD;&#xA;- The routine name of the SQL-invoked routine.&#xD;&#xA;- The specific name of the SQL-invoked routine.&#xD;&#xA;- The routine authorization identifier of the SQL-invoked routine.&#xD;&#xA;- The name of the language in which the body of the SQL-invoked routine is written.&#xD;&#xA;- For each of the SQL-invoked routine's SQL parameters, the &lt;SQL parameter name> , if it is specified, the &lt;data type> , the ordinal position, and an indication of   whether the SQL parameter is an input SQL parameter, an output SQL parameter, or both an input SQL parameter and an output SQL parameter.&#xD;&#xA;- An indication of whether the SQL-invoked routine is an SQL-invoked function or an SQL-invoked procedure.&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked procedure, then the maximum number of dynamic result sets.&#xD;&#xA;- An indication of whether the SQL-invoked routine is deterministic or possibly non-deterministic.&#xD;&#xA;- Indications of whether the SQL-invoked routine possibly modifies SQL-data, possibly reads SQL-data, possibly contains SQL, or does not possibly contain SQL.&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked function, then:&#xD;&#xA;  * The &lt;returns data type> of the SQL-invoked function.&#xD;&#xA;  * If the &lt;returns data type> simply contains &lt;locator indication> , then an indication that the return value is a locator.&#xD;&#xA;  * An indication of whether the SQL-invoked function is a null-call function.&#xD;&#xA;  * An indication of whether the SQL-invoked function is an SQL-invoked method.&#xD;&#xA;- The creation timestamp.&#xD;&#xA;- The last-altered timestamp.&#xD;&#xA;- If the SQL-invoked routine is an SQL routine, then:&#xD;&#xA;  * The SQL routine body of the SQL-invoked routine.&#xD;&#xA;  * The SQL security characteristic of the SQL routine.&#xD;&#xA;- If the SQL-invoked routine is an external routine, then:&#xD;&#xA;  * The external routine name of the external routine.&#xD;&#xA;  * The &lt;parameter style> of the external routine.&#xD;&#xA;  * If the external routine specifies a &lt;result cast>, then an indication that it specifies a &lt;result cast> and the &lt;data type> specified in the &lt;result cast> . If &lt;result cast> contains &lt;locator indication> , then an indication that the &lt;data type> specified in the &lt;result cast> has a locator indication.&#xD;&#xA;  * The external security characteristic of the external routine.&#xD;&#xA;  * The external routine authorization identifier of the external routine.&#xD;&#xA;  * The effective SQL parameter list of the external routine.&#xD;&#xA;  * For every SQL parameter whose &lt;SQL parameter declaration> contains &lt;locator indication> , an indication that the SQL parameter is a locator parameter.&#xD;&#xA;- The schema name of the schema that includes the SQL-invoked routine.&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked method, then:&#xD;&#xA;  * An indication of the user-defined type whose descriptor contains the corresponding method specification descriptor.&#xD;&#xA;  * An indication of whether STATIC was specified.&#xD;&#xA;- An indication of whether the SQL-invoked routine is dependent on a user-defined type.&#xD;&#xA;- An indication as to whether or not the SQL-invoked routine requires a new savepoint level to be established when it is invoked.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;Not included:&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;- The routine SQL-path of the SQL-invoked routine is not included because the SQL-path, which I read as CURRENT SCHEMA in DB2 land, of the current SQL-session.&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked function, then:&#xD;&#xA;  * An indication of whether the SQL-invoked function is a type-preserving function or not.&#xD;&#xA;  * An indication of whether the SQL-invoked function is a mutator function or not.&#xD;&#xA;  * If the SQL-invoked function is a type-preserving function, then an indication of which parameter is the result parameter.&#xD;&#xA;- If the SQL-invoked routine is an external routine, then:&#xD;&#xA;  * The external routine SQL-path of the external routine.&#xD;&#xA;  * For every SQL parameter that has an associated from-sql function FSF, the specific name of FSF.&#xD;&#xA;  * For every SQL parameter that has an associated to-sql function TSF, the specific name of TSF.&#xD;&#xA;  * If the SQL-invoked routine is an external function and if it has a to-sql function TRF associated with the result, then the specific name of TRF.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/>
+      </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is uniquely identified by a &lt;specific name> , called the specific name of the SQLinvoked&#xD;&#xA;routine.&#xD;&#xA;&#xD;&#xA;Typically qualified with a schema name. &#xD;&#xA;"/>
+        </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="Since there are many languages, rather than constrain ourselves to an enumerated list which is difficult to subclass in the EMF environment, we have chosen to use strings.&#xD;&#xA;&#xD;&#xA;JAVA&#xD;&#xA;SQL&#xD;&#xA;PERL&#xD;&#xA;C&#xD;&#xA;ADA&#xD;&#xA;COBOL&#xD;&#xA;FORTRAN&#xD;&#xA;MUMPS&#xD;&#xA;PASCAL&#xD;&#xA;PLI&#xD;&#xA;and so on..."/>
+        </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="Paraphrased from 5WD-02-Foundation-2002-12 &#xD;&#xA;The spec only calls for two. Though it seems like an easy choice for enumeration as in the language attribute, other vendors have different styles and since enumeration is not good to subclass within the EMF tooling framework, a string representation is used.&#xD;&#xA;&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;SQL &#xD;&#xA;GENERAL.&#xD;&#xA;&#xD;&#xA;Used in stored procedures, user defined functions, and methods.&#xD;&#xA;&#xD;&#xA;"/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is either deterministic or possibly non-deterministic. An SQL-invoked function that&#xD;&#xA;is deterministic always returns the identical return value for a given list of SQL argument values. An SQLinvoked&#xD;&#xA;procedure that is deterministic always returns the identical values in its output and inout SQL parameters&#xD;&#xA;for a given list of SQL argument values. An SQL-invoked routine is possibly non-deterministic if it might&#xD;&#xA;produce nonidentical results when invoked with the identical list of SQL argument values."/>
+        </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="5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&#xD;&#xA;&lt;SQL-data access indication> ::= NO SQL | CONTAINS SQL | READS SQL DATA | MODIFIES SQL DATA&#xD;&#xA;&#xD;&#xA;(see DataAccess enumeration class)"/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is described by a routine descriptor. A routine descriptor includes:&#xD;&#xA;- The creation timestamp.&#xD;&#xA;&#xD;&#xA;Because there is no provision in the spec as to the format of the timestamp, it is left to the individual implementers to determine the format."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is described by a routine descriptor. A routine descriptor includes:&#xD;&#xA;- The last-altered timestamp.&#xD;&#xA;&#xD;&#xA;Because there is no provision in the spec as to the format of the timestamp, it is left to the individual implementers to determine the format."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine has a routine authorization identifier, which is (directly or indirectly) the authorization&#xD;&#xA;identifier of the owner of the schema that contains the SQL-invoked routine at the time that the SQL-invoked&#xD;&#xA;routine is created."/>
+        </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="From the below, typical values would be: &quot;DEFINER&quot;, &quot;INVOKER&quot;, &quot;IMPLEMENTATION DEFINED&quot;&#xD;&#xA;Since there are several implementation defined security designations, it is best to go with the string.&#xD;&#xA;&#xD;&#xA;From 5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&#xD;&#xA;&lt;external security clause> ::=&#xD;&#xA;  EXTERNAL SECURITY DEFINER&#xD;&#xA;  | EXTERNAL SECURITY INVOKER&#xD;&#xA;  | EXTERNAL SECURITY IMPLEMENTATION DEFINED&#xD;&#xA;&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;If the SQL-invoked routine is an SQL routine, then the identifiers are determined according to the SQL security&#xD;&#xA;characteristic of the SQL-invoked routine:&#xD;&#xA;- If the SQL security characteristic is DEFINER , then:&#xD;&#xA;  * If the routine authorization identifier is a user identifier, the user identifier is set to the routine authorization&#xD;&#xA;    identifier and the role name is set to null.&#xD;&#xA;  * Otherwise, the role name is set to the routine authorization identifier and the user identifier is set to&#xD;&#xA;    null.&#xD;&#xA;- If the SQL security characteristic is INVOKER , then the identifiers remain unchanged.      &#xD;&#xA;If the SQL-invoked routine is an external routine, then the identifiers are determined according to the external&#xD;&#xA;security characteristic of the SQL-invoked routine:&#xD;&#xA;- If the external security characteristic is DEFINER , then:&#xD;&#xA;  * If the routine authorization identifier is a user identifier, then the user identifier is set to the routine&#xD;&#xA;    authorization identifier and the role name is set to the null value.&#xD;&#xA;  * Otherwise, the role name is set to the routine authorization identifier and the user identifier is set to the&#xD;&#xA;    null value.&#xD;&#xA;- If the external security characteristic is INVOKER , then the identifiers remain unchanged.&#xD;&#xA;- If the external security characteristic is IMPLEMENTATION DEFINED , then the identifiers are set to&#xD;&#xA;implementation-defined values."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;from 11.50 SQL-invoked routine:&#xD;&#xA;&#xD;&#xA;The external name of the routine descriptor is &lt;external routine name> .&#xD;&#xA;&lt;external body reference> ::= EXTERNAL [ NAME &lt;external routine name> ] [ &lt;parameter&#xD;&#xA;style clause> ] [ &lt;transform group specification> ] [ &lt;external security clause> ]&#xD;&#xA;&#xD;&#xA;from 4.27 SQL-invoked routines&#xD;&#xA;&lt;external routine name> identifies a program written in some&#xD;&#xA;standard programming language other than SQL .&#xD;&#xA;&#xD;&#xA;from 5.4 Names and identifiers&#xD;&#xA;&lt;external routine name> ::= &lt;identifier> | &lt;character string literal>&#xD;&#xA;An &lt;external routine name> identifies an external routine."/>
+        </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="4.23 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine is described by a routine descriptor. A routine descriptor contains (among other things):&#xD;&#xA;- If the SQL-invoked routine is an SQL routine, then the SQL routine body of the SQL-invoked routine."/>
+      </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;11.49 &lt;SQL-invoked routine>&#xD;&#xA;&lt;SQL parameter declaration> ::= [ &lt;parameter mode> ] [ &lt;SQL parameter name> ] &lt;parameter type> [ RESULT ]&#xD;&#xA;&#xD;&#xA;4.23 SQL-invoked routines&#xD;&#xA;For every SQL parameter whose &lt;SQL parameter declaration> contains &lt;locator indication>, an indication that the SQL parameter is a locator parameter.&#xD;&#xA;&#xD;&#xA;4.26.4 Locators&#xD;&#xA;A host parameter, an SQL parameter of an external routine, or the value returned by an external function may be specified to be a locator by specifying AS LOCATOR. A locator is an SQL-session object, rather than SQL-data, that can be used to reference an SQL-data instance. A locator is either a large object locator, an user-defined type locator, or an array locator. A large object locator&#xD;&#xA;is one of the following:&#xD;&#xA;- Binary large object locator, a value of which identifies a binary large object.&#xD;&#xA;- Character large object locator, a value of which identifies a character large object.&#xD;&#xA;- National character large object locator, a value of which identifies a national character large object.&#xD;&#xA;&#xD;&#xA;11.49 &lt;SQL-invoked routine>&#xD;&#xA;&lt;parameter type> ::= &lt;data type> [ &lt;locator indication> ] &#xD;&#xA;&#xD;&#xA;&lt;locator indication> ::= AS LOCATOR&#xD;&#xA;&#xD;&#xA;---------------------&#xD;&#xA;from Information technology - Database languages - SQL - Part 14: XML-Related Specifications (SQL/XML)&#xD;&#xA;&#xD;&#xA;12.7 &lt;SQL-invoked routine>&#xD;&#xA;&lt;parameter type> ::= &lt;data type> [ &lt;locator indication> ] [ &lt;document or content> ] [ &lt;string type option> ]&#xD;&#xA;&lt;returns data type> ::= &lt;data type> [ &lt;locator indication> ] [ &lt;document or content> ] [ &lt;string type option> ]&#xD;&#xA;&lt;string type option> ::= AS &lt;character string type>&#xD;&#xA;&#xD;&#xA;Both [ &lt;document or content> ] [ &lt;string type option> ] are in support of the XML enhancements to SQL:2003."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" eType="#//routines/ParameterMode">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="5WD-02-Foundation-2002-12&#xD;&#xA;&#xD;&#xA;&lt;SQL parameter declaration> ::= [ &lt;parameter mode> ] [ &lt;SQL parameter name> ] &lt;parameter type> [ RESULT ]&#xD;&#xA;&#xD;&#xA;&lt;parameter mode> ::= IN | OUT | INOUT&#xD;&#xA;&#xD;&#xA;For functions, defaults to IN.&#xD;&#xA;See enumerated class ParameterMode"/>
+        </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="5WD-02-Foundation-2002-12&#xD;&#xA;4.29.4 Locators&#xD;&#xA;A host parameter, a host variable, an SQL parameter of an external routine, or the value returned by an external&#xD;&#xA;function may be specified to be a locator by specifying AS LOCATOR . A locator is an SQL-session object,&#xD;&#xA;rather than SQL-data, that can be used to reference an SQL-data instance. A locator is either a large object&#xD;&#xA;locator, a user-defined type locator, an array locator, or a multiset locator. &#xD;&#xA;&#xD;&#xA;A large object locator is one of the following:&#xD;&#xA;- Binary large object locator, a value of which identifies a binary large object.&#xD;&#xA;- Character large object locator, a value of which identifies a large object character string.&#xD;&#xA;- National character large object locator, a value of which identifies a national large object character string.&#xD;&#xA;&#xD;&#xA;A user-defined type locator identifies a value of the user-defined type specified by the locator specification.&#xD;&#xA;An array locator identifies a value of the array type specified by the locator specification. A multiset locator&#xD;&#xA;identifies a value of the multiset type specified by the locator specification."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&#xD;&#xA;&lt;dynamic result sets characteristic> ::= DYNAMIC RESULT SETS &lt;maximum dynamic result sets>&#xD;&#xA;&#xD;&#xA;&lt;maximum dynamic result sets> ::= &lt;unsigned integer>&#xD;&#xA;&#xD;&#xA;&lt;savepoint level indication> ::= NEW SAVEPOINT LEVEL | OLD SAVEPOINT LEVEL"/>
+      </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="Maximun number of result sets the procedure can return.  If the stored procedure returns more result sets than is specified by this value, then a database error will be generated.&#xD;&#xA;&#xD;&#xA;From 5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&lt;dynamic result sets characteristic> ::= DYNAMIC RESULT SETS &lt;maximum dynamic result sets>"/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;An SQL-invoked procedure may optionally be specified to require a new savepoint level to be established when it is invoked and destroyed on return from the executed routine body. The alternative of not taking a savepoint can also be directly specified with OLD SAVEPOINT LEVEL . When an SQL-invoked function is invoked a new savepoint level is always established.&#xD;&#xA;&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&lt;savepoint level indication> ::= NEW SAVEPOINT LEVEL | OLD SAVEPOINT LEVEL"/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.23 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;...&#xD;&#xA;&#xD;&#xA;If the SQL-invoked routine is an SQL-invoked function, then:&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked function, then an indication of whether the SQL-invoked function is an SQL-invoked method.&#xD;&#xA;- The &lt;returns data type> of the SQL-invoked function.&#xD;&#xA;- If the &lt;returns data type> simply contains &lt;locator indication>, then an indication that the return value is a locator.&#xD;&#xA;- An indication of whether the SQL-invoked function is a type-preserving function or not.&#xD;&#xA;- An indication of whether the SQL-invoked function is a mutator function or not.&#xD;&#xA;- If the SQL-invoked function is a type-preserving function, then an indication of which parameter is the result parameter.&#xD;&#xA;- An indication of whether the SQL-invoked function is a null-call function.&#xD;&#xA;&#xD;&#xA;"/>
+      </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&lt;null-call clause> ::= RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT&#xD;&#xA;&#xD;&#xA;If PROCEDURE is specified, then:&#xD;&#xA;- &lt;null-call clause> shall not be specified.&#xD;&#xA;&#xD;&#xA;if &lt;null-call clause> is not specified, then &#xD;&#xA;- CALLED ON NULL INPUT is implicit.&#xD;&#xA;&#xD;&#xA;If the SQL-invoked routine is an SQL-invoked function, then:&#xD;&#xA;- The SQL-invoked routine descriptor includes an indication of whether the SQL-invoked routine&#xD;&#xA;is a null-call function.&#xD;&#xA;&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;A null-call function is an SQL-invoked function that is defined to return the null value if any of its input arguments is the null value. A null-call function is an SQL-invoked function whose &lt;null-call clause> specifies&#xD;&#xA;&quot;RETURNS NULL ON NULL INPUT&quot;."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&#xD;&#xA;&lt;dispatch clause> ::= STATIC DISPATCH&#xD;&#xA;&#xD;&#xA;If R is an SQL-invoked regular function and the &lt;SQL parameter declaration list> contains an&#xD;&#xA;&lt;SQL parameter declaration> that specifies a &lt;data type> that is one of:&#xD;&#xA;1) A user-defined type.&#xD;&#xA;2) A collection type whose element type is a user-defined type.&#xD;&#xA;3) A collection type whose element type is a reference type.&#xD;&#xA;4) A reference type.&#xD;&#xA;then &lt;dispatch clause> shall be specified. Otherwise, &lt;dispatch clause> shall not be specified."/>
+        </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="From 5WD-02-Foundation-2002-12&#xD;&#xA;4.7.5 Transforms for user-defined types&#xD;&#xA;&#xD;&#xA;Transforms are SQL-invoked functions that are automatically invoked when values of user-defined types are&#xD;&#xA;transferred from SQL-environment to host languages or vice-versa.&#xD;&#xA;&#xD;&#xA;A transform is associated with a user-defined type. A transform identifies a list of transform groups of up to&#xD;&#xA;two SQL-invoked functions, called the transform functions, each identified by a group name. The group name&#xD;&#xA;of a transform group is an &lt;identifier> such that no two transform groups for a transform have the same group&#xD;&#xA;name. The two transform functions are:&#xD;&#xA;- from-sql function : This SQL-invoked function maps the user-defined type value into a value of an SQL&#xD;&#xA;  pre-defined type, and gets invoked whenever a user-defined type value is passed to a host language &#xD;&#xA;  program or an external routine.&#xD;&#xA;- to-sql function : This SQL-invoked function maps a value of an SQL predefined type to a value of a&#xD;&#xA;  user-defined type and gets invoked whenever a user-defined type value is supplied by a host language&#xD;&#xA;  program or an external routine."/>
+        </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="returnScaler" 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="5WD-02-Foundation-2002-12&#xD;&#xA;4.27 SQL-invoked routines&#xD;&#xA;&#xD;&#xA;An external routine either does not possibly contain SQL or possibly contains SQL. Only an external routine that possibly contains SQL may execute SQL-statements during its invocation.&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine may or may not possibly read SQL-data. Only an SQL-invoked routine that possibly reads SQL-data may read SQL-data during its invocation.&#xD;&#xA;&#xD;&#xA;An SQL-invoked routine may or may not possibly modify SQL-data. Only an SQL-invoked routine that possibly modifies SQL-data may modify SQL-data during its invocation.&#xD;&#xA;&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&lt;SQL-data access indication> ::= NO SQL | CONTAINS SQL | READS SQL DATA | MODIFIES SQL DATA"/>
+      </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="5WD-02-Foundation-2002-12&#xD;&#xA;11.50 &lt;SQL-invoked routine>&#xD;&#xA;&#xD;&#xA;&lt;parameter mode> ::= IN | OUT | INOUT"/>
+      </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"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="#//routines/Function">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Method is a specialization of Function to indicate the function was created in support of the user-defined type (UDT). &#xD;&#xA;&#xD;&#xA;From 5WD-02-Foundation-2002-12 &#xD;&#xA;4.23 SQL-invoked routines &#xD;&#xA;&#xD;&#xA;- If the SQL-invoked routine is an SQL-invoked method, then an indication of the user-defined type whose descriptor contains the corresponding method specification descriptor"/>
+      </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="The User-Defined Fuction (UDF) is a specialization of Function to indicate the function was created by the user or the database, but one that was not created in support of the user-defined type (UDT). The function created by a UDT is a is another class, Method, in this class diagram"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BuiltInFunction" eSuperTypes="#//routines/Function"/>
+  </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="A single statement of the following types (from section 13.5):&#xD;&#xA;&lt;SQL executable statement> ::=&#xD;&#xA;    &lt;SQL control statement>&#xD;&#xA;  | &lt;SQL data statement>&#xD;&#xA;  | &lt;SQL schema statement>&#xD;&#xA;  | &lt;SQL transaction statement>&#xD;&#xA;  | &lt;SQL connection statement>&#xD;&#xA;  | &lt;SQL session statement>&#xD;&#xA;  | &lt;SQL diagnostics statement>&#xD;&#xA;  | &lt;SQL dynamic statement>&#xD;&#xA;"/>
+      </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"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLSchemaStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLControlStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLDataChangeStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLDataStatement"/>
+    <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"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLDiagnosticsStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLDynamicStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLSessionStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SQLTransactionStatement" abstract="true"
+        interface="true" eSuperTypes="#//statements/SQLStatement"/>
+  </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;&#xD;&#xA;A derived table is a table derived directly or indirectly from one or more other tables by the evaluation of a &lt;query expression> whose result has an element type that is a row type. The values of a derived table are derived from the values of the underlying tables when the &lt;query expression> is evaluated.&#xD;&#xA;&#xD;&#xA;A viewed table is a named derived table defined by a &lt;view definition> . A viewed table is sometimes called a view.&#xD;&#xA;&#xD;&#xA;A view descriptor describes a view. In addition to the components of a derived table descriptor, a view descriptor includes:&#xD;&#xA; - The name of the view.&#xD;&#xA; - An indication of whether the view has the CHECK OPTION ; if so, whether it is to be applied as CASCADED or LOCAL.&#xD;&#xA; - The original &lt;query expression> of the view.&#xD;&#xA;"/>
+      </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;"/>
+      </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. A row is a value of a row type. Every row of the same table has the same row type. The value of the i-th field of every row in a table is the value of the i-th column of that row in the table. The row is the smallest unit of data that can be inserted into a table and deleted from a table.&#xD;&#xA;&#xD;&#xA;The degree of a table, and the degree of each of its rows, is the number of columns of that table. The number of rows in a table is its cardinality. A table whose cardinality is 0 (zero) is said to be empty.&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;&#xD;&#xA;A table is described by a table descriptor. A table descriptor is either a base table descriptor, a view descriptor, or a derived table descriptor (for a derived table that is not a view).&#xD;&#xA;Every table descriptor includes:&#xD;&#xA; - The column descriptor of each column in the table.&#xD;&#xA; - The name, if any, of the structured type, if any, associated with the table.&#xD;&#xA; - An indication of whether the table is insertable-into or not.&#xD;&#xA; - An indication of whether the table is a referenceable table or not, and an indication of whether the selfreferencing column is a system-generated, a user-generated, or a derived self-referencing column.&#xD;&#xA; - A list, possibly empty, of the names of its direct supertables.&#xD;&#xA; - A list, possibly empty, of the names of its direct subtables.&#xD;&#xA;&#xD;&#xA;A base table descriptor describes a base table. In addition to the components of every table descriptor, a base table descriptor includes:&#xD;&#xA; - The name of the base table.&#xD;&#xA; - An indication of whether the table is a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA; - If the base table is a global temporary table, a created local temporary table, or a declared local temporary table, then an indication of whether ON COMMIT PRESERVE ROWS was specified or ON COMMIT DELETE ROWS was specified or implied.&#xD;&#xA; - The descriptor of each table constraint specified for the table.&#xD;&#xA; - A non-empty set of functional dependencies, according to the rules given in Subclause 4.18, &quot;Functional dependencies&quot;.&#xD;&#xA; - A non-empty set of candidate keys, according to the rules of Subclause 4.19, &quot;Candidate keys&quot;.&#xD;&#xA; - A preferred candidate key, which may or may not be additionally designated the primary key, according to the Rules in Subclause 4.18, &quot;Functional dependencies&quot;.&#xD;&#xA;&#xD;&#xA;4.14.2 Referenceable tables, subtables, and supertables&#xD;&#xA;&#xD;&#xA;A table RT whose row type is derived from a structured type ST is called a typed table. Only a base table or a view can be a typed table. A typed table has columns corresponding, in name and declared type, to every attribute of ST and one other column REFC that is the self-referencing column of RT; let REFCN be the &lt;column name> of REFC. The declared type of REFC is necessarily REF (ST) and the nullability characteristic of REFC is known not nullable. If RT is a base table, then the table constraint &quot;UNIQUE (REFCN)&quot; is implicit in the definition of RT. A typed table is called a referenceable table. A self-referencing column cannot be updated.&#xD;&#xA;&#xD;&#xA;Its value is determined during the insertion of a row into the referenceable table. The value of a system-generated self-referencing column and a derived self-referencing column is automatically generated when the row is inserted into the referenceable table. The value of a user-generated self-referencing column is supplied as part of the candidate row to be inserted into the referenceable table.&#xD;&#xA;&#xD;&#xA;A table Ta is a direct subtable of another table Tb if and only if the &lt;table name> of Tb is contained in the &lt;subtable clause> contained in the &lt;table definition> or &lt;view definition> of Ta. Both Ta and Tb shall be created on a structured type and the structured type of Ta shall be a direct subtype of the structured type of Tb.&#xD;&#xA;&#xD;&#xA;A table Ta is a subtable of a table Tb if and only if any of the following are true:&#xD;&#xA;1) Ta and Tb are the same named table.&#xD;&#xA;2) Ta is a direct subtable of Tb.&#xD;&#xA;3) There is a table Tc such that Ta is a direct subtable of Tc and Tc is a subtable of Tb.&#xD;&#xA;A table T is considered to be one of its own subtables. Subtables of T other than T itself are called its proper subtables. A table shall not have itself as a proper subtable.&#xD;&#xA;&#xD;&#xA;A table Tb is called a supertable of a table Ta if Ta is a subtable of Tb. If Ta is a direct subtable of Tb, then Tb is called a direct supertable of Ta. A table that is not a subtable of any other table is called a maximal supertable. Let Ta be a maximal supertable and T be a subtable of Ta. The set of all subtables of Ta (which includes Ta itself) is called the subtable family of T or (equivalently) of Ta. Every subtable family has exactly one maximal supertable. A leaf table is a table that does not have any proper subtables.&#xD;&#xA;&#xD;&#xA;Those columns of a subtable Ta of a structured type STa that correspond to the inherited attributes of STa are&#xD;&#xA;called inherited columns. Those columns of Ta that correspond to the originally-defined attributes of STa are&#xD;&#xA;called originally-defined columns.&#xD;&#xA;&#xD;&#xA;Let TB be a subtable of TA. Let SLA be the &lt;value expression> sequence implied by the &lt;select list> &quot;*&quot; in the&#xD;&#xA;&lt;query specification> &quot;SELECT * FROM TA&quot;. For every row RB in the value of TB there exists exactly one&#xD;&#xA;row RA in the value of TA such that RA is the result of the &lt;row subquery> &quot;SELECT SLA FROM VALUES&#xD;&#xA;RRB&quot;, where RRB is some &lt;row value constructor> whose value is RB. RA is said to be the superrow in TA of&#xD;&#xA;RB and RB is said to be the subrow in TB of RA. If TA is a base table, then the one-to-one correspondence&#xD;&#xA;between superrows and subrows is guaranteed by the requirement for a unique constraint to be specified for&#xD;&#xA;some supertable of TA. If TA is a view, then such one-to-one correspondence is guaranteed by the requirement&#xD;&#xA;for a unique constraint to be specified on the leaf generally underlying table of TA.&#xD;&#xA;Users shall have the UNDER privilege on a table before they can use the table in a subtable definition. A table&#xD;&#xA;can have more than one proper subtable. Similarly, a table can have more than one proper supertable.&#xD;&#xA;"/>
+      </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table.&#xD;&#xA;&#xD;&#xA;A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;"/>
+      </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;&#xD;&#xA;A derived table is a table derived directly or indirectly from one or more other tables by the evaluation of a &lt;query expression> whose result has an element type that is a row type. The values of a derived table are derived from the values of the underlying tables when the &lt;query expression> is evaluated.&#xD;&#xA;&#xD;&#xA;A derived table descriptor describes a derived table. In addition to the components of every table descriptor, a derived table descriptor includes:&#xD;&#xA; - The &lt;query expression> that defines how the table is to be derived.&#xD;&#xA; - An indication of whether the derived table is updatable or not.&#xD;&#xA;"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="queryExpression" eType="#//expressions/QueryExpression"
+          containment="true"/>
+    </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A table is either a base table, a derived table, or a transient table. A base table is either a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA;&#xD;&#xA;All base tables are updatable. Every column of a base table is an updatable column. Derived tables and transient tables are either updatable or not updatable. The operations of update and delete are permitted for updatable tables, subject to constraining Access Rules. Some updatable tables, including all base tables whose row type is not derived from a user-defined type that is not instantiable, are also insertable-into, in which case the operation of insert is also permitted, again subject to Access Rules.&#xD;&#xA;&#xD;&#xA;A base table descriptor describes a base table. In addition to the components of every table descriptor, a base table descriptor includes:&#xD;&#xA; - The name of the base table.&#xD;&#xA; - An indication of whether the table is a persistent base table, a global temporary table, a created local temporary table, or a declared local temporary table.&#xD;&#xA; - If the base table is a global temporary table, a created local temporary table, or a declared local temporary table, then an indication of whether ON COMMIT PRESERVE ROWS was specified or ON COMMIT DELETE ROWS was specified or implied.&#xD;&#xA; - The descriptor of each table constraint specified for the table.&#xD;&#xA; - A non-empty set of functional dependencies, according to the rules given in Subclause 4.18, &quot;Functional dependencies&quot;.&#xD;&#xA; - A non-empty set of candidate keys, according to the rules of Subclause 4.19, &quot;Candidate keys&quot;.&#xD;&#xA; - A preferred candidate key, which may or may not be additionally designated the primary key, according to the Rules in Subclause 4.18, &quot;Functional dependencies&quot;.&#xD;&#xA;"/>
+      </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="4.14 Tables&#xD;&#xA;&#xD;&#xA;A table is a collection of rows having one or more columns. [...]&#xD;&#xA;&#xD;&#xA;A view descriptor describes a view. In addition to the components of a derived table descriptor, a view descriptor includes:&#xD;&#xA; - The name of the view.&#xD;&#xA; - An indication of whether the view has the CHECK OPTION ; if so, whether it is to be applied as CASCADED or LOCAL.&#xD;&#xA; - The original &lt;query expression> of the view.&#xD;&#xA;"/>
+      </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="4.13 Columns, fields, and attributes&#xD;&#xA;&#xD;&#xA;The terms column, field, and attribute refer to structural components of tables, row types, and structured types, respectively, in analogous fashion. As the structure of a table consists of one or more columns, so does the structure of a row type consist of one or more fields and that of a structured type one or more attributes. Every structural element, whether a column, a field, or an attribute, is primarily a name paired with a declared type.&#xD;&#xA;&#xD;&#xA;The elements of a structure are ordered. Elements in different positions in the same structure can have the same declared type but not the same name. Although the elements of a structure are distinguished from each other by name, in some circumstances the compatibility of two structures (for the purpose at hand) is determined solely by considering the declared types of each pair of elements at the same ordinal position.&#xD;&#xA;&#xD;&#xA;A table (see Subclause 4.14, &quot;Tables&quot;) is defined on one or more columns and consists of zero or more rows. A column has a name and a declared type. Each row in a table has exactly one value for each column. Each value in a row is a value in the declared type of the column.&#xD;&#xA;NOTE 21: The declared type includes the null value and values in proper subtypes of the declared type. Every column has a nullability characteristic that indicates whether the value from that column can be the null value. The possible values of nullability characteristic are known not nullable and possibly nullable.&#xD;&#xA;&#xD;&#xA;A column C is described by a column descriptor. A column descriptor includes:&#xD;&#xA; - The name of the column.&#xD;&#xA; - Whether the name of the column is an implementation-dependent name.&#xD;&#xA; - If the column is based on a domain, then the name of that domain; otherwise, the data type descriptor of the declared type of C.&#xD;&#xA; - The value of &lt;default option> , if any, of C.&#xD;&#xA; - The nullability characteristic of C.&#xD;&#xA; - The ordinal position of C within the table that contains it.&#xD;&#xA; - An indication of whether C is a self-referencing column of a base table or not.&#xD;&#xA; - If the declared type of C is a reference type, then an indication of whether references are to be checked, and the &lt;reference scope check action> , if specified or implied.&#xD;&#xA; - An indication of whether C is an identity column or not.&#xD;&#xA; - If C is an identity column, then an indication of whether values are always generated or generated by default.&#xD;&#xA; - If C is an identity column, then the start value of C.&#xD;&#xA; - If C is an identity column, then the descriptor of the internal sequence generator for C.&#xD;&#xA;NOTE 22 - Identity columns and the meaning of &quot;start value&quot; are described in Subclause 4.14.4, &quot;Identity columns&quot;.&#xD;&#xA;&#xD;&#xA; - If C is a generated column, then the generation expression of C.&#xD;&#xA;NOTE 23 - Generated columns and the meaning of &quot;generation expression&quot; are described in Subclause 4.14.5, &quot;Base columns and generated columns&quot;.&#xD;&#xA;&#xD;&#xA;An attribute A is described by an attribute descriptor. An attribute descriptor includes:&#xD;&#xA; - The name of the attribute.&#xD;&#xA; - The data type descriptor of the declared type of A.&#xD;&#xA; - The ordinal position of A within the structured type that contains it.&#xD;&#xA; - The value of the implicit or explicit &lt;attribute default> of A.&#xD;&#xA; - If the data type of the attribute is a reference type, then an indication of whether reference values shall be checked, and the &lt;reference scope check action> , if specified or implied.&#xD;&#xA; - The name of the structured type defined by the &lt;user-defined type definition> that defines A.&#xD;&#xA;&#xD;&#xA;A field F is described by a field descriptor. A field descriptor includes:&#xD;&#xA; - The name of the field.&#xD;&#xA; - The data type descriptor of the declared type of F.&#xD;&#xA; - The ordinal position of F within the row type that simply contains it.&#xD;&#xA; - If the data type of the field is a reference type, then an indication of whether reference values shall be checked, and the &lt;reference scope check action> , if specified or implied.&#xD;&#xA;"/>
+      </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="Section 4.38:&#xD;&#xA;&#xD;&#xA;A trigger is defined by a &lt;trigger definition> . A &lt;trigger definition> specifies a trigger that is described by a&#xD;&#xA;trigger descriptor . A trigger descriptor includes:&#xD;&#xA;  - The name of the trigger.&#xD;&#xA;  - The name of the base table that is the subject table.&#xD;&#xA;  - The trigger action time (BEFORE or AFTER ).&#xD;&#xA;  - The trigger event (INSERT , DELETE , or UPDATE ).&#xD;&#xA;  - Whether the trigger is a statement-level trigger or a row-level trigger.&#xD;&#xA;  - Any old transition variable name, new transition variable name, old transition table name, new transition table name.&#xD;&#xA;  - The triggered action.&#xD;&#xA;  - The trigger column list (possibly empty) for the trigger event.&#xD;&#xA;  - The triggered action column set of the triggered action.&#xD;&#xA;  - The timestamp of creation of the trigger.&#xD;&#xA;&#xD;&#xA;The order of execution of a set of triggers is ascending by value of their timestamp of creation in their descriptors, such that the oldest trigger executes first. If one or more triggers have the same timestamp value, then their relative order of execution is implementation-defined.&#xD;&#xA;&#xD;&#xA;A schema might include one or more trigger descriptors, each of which includes the definition of a triggered action specifying a &lt;triggered SQL statement> that is to be executed (either once for each affected row, in the case of a row-level trigger, or once for the whole triggering INSERT , DELETE , MERGE , or UPDATE statement, in the case of a statement-level trigger) before or after rows are inserted into a table, rows are deleted from a table, or one or more columns are updated in rows of a table. The execution of such a triggered action resulting from the insertion, deletion, or updating of a table may cause the triggering of further triggered actions.&#xD;&#xA;&#xD;&#xA;The &lt;triggered SQL statement> of a triggered action is effectively executed either immediately before or&#xD;&#xA;immediately after the trigger event, as determined by the specified trigger action time.&#xD;&#xA;&#xD;&#xA;Format of trigger definition and syntax rules are defined in section 11.39.&#xD;&#xA;&#xD;&#xA;OCL rules are derived from these syntax rules:&#xD;&#xA;4) The schema identified by the explicit or implicit &lt;schema name> of a &lt;trigger name> TRN shall not include a trigger descriptor whose trigger name is TRN.&#xD;&#xA;5) T shall be a base table that is not a declared local temporary table.&#xD;&#xA;6) If a &lt;trigger column list> is specified, then:&#xD;&#xA;  a) No &lt;column name> shall appear more than once in the &lt;trigger column list> .&#xD;&#xA;  b) The &lt;column name> s of the &lt;trigger column list> shall identify columns of T.&#xD;&#xA;9) If OR or NR is specified, then FOR EACH ROW shall be specified.&#xD;&#xA;12) If BEFORE is specified, then:&#xD;&#xA;  b) Neither OLD TABLE nor NEW TABLE shall be specified.&#xD;&#xA;"/>
+      </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"/>
+      <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="Triggers on the same table with the same action time are executed in order of creation, i.e. the time stamp, such that older triggers have priority."/>
+        </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="The literals of this enumeration are used to indicate whether the actionStatement of Trigger are executed before or after rows are inserted into a table, rows are deleted from a table, or one or more columns are updated in rows of a table."/>
+      </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="The literals of this enumeration are used to indicate whether the actionStatement of a Trigger is to be executed once for each affected row, in the case of a row-level trigger, or once for the whole triggering INSERT , DELETE , MERGE , or UPDATE&#xD;&#xA;statement, in the case of a statement-level trigger.&#xD;&#xA;"/>
+      </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">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSchema" upperBound="-1"
+          eType="#//schema/Schema" eOpposite="#//schema/Schema/owner"/>
+      <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"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Privilege" eSuperTypes="#//schema/SQLObject">
+      <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:EReference" name="grantor" lowerBound="1"
+          eType="#//accesscontrol/AuthorizationIdentifier" eOpposite="#//accesscontrol/AuthorizationIdentifier/grantedPrivilege"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
+          eType="#//schema/SQLObject"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//accesscontrol/AuthorizationIdentifier">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="user" upperBound="-1"
+          eType="#//accesscontrol/User" derived="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="User" eSuperTypes="#//accesscontrol/AuthorizationIdentifier"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Role" eSuperTypes="#//accesscontrol/AuthorizationIdentifier">
+      <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">
+      <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>
+    <eClassifiers xsi:type="ecore:EClass" name="TablePrivilege" eSuperTypes="#//accesscontrol/Privilege">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="withHierarchy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DoubleObjectPrivilege" eSuperTypes="#//accesscontrol/Privilege">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="object2" lowerBound="1"
+          eType="#//schema/SQLObject"/>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.ecore b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.ecore
new file mode 100644
index 0000000..6b5445e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.ecore
@@ -0,0 +1,306 @@
+<?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="sybaseasabasesqlmodel"
+    nsURI="http:///org/eclipse/datatools/connectivity/sqm/sybase/asa/sybaseasabasesqlmodel.ecore"
+    nsPrefix="SybaseASABaseModel">
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseEvent" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/Event">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" eType="#//EventType"
+        defaultValueLiteral=""/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventCreator" lowerBound="1"
+        eType="ecore:EClass ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/Schema"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="#//EventLocationType"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="schedules" upperBound="-1"
+        eType="#//Schedule" containment="true" eOpposite="#//Schedule/event"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseDatabase" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/Database ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/SQLObject">
+    <eOperations name="isBaseOnASA10" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataTypes" upperBound="-1"
+        eType="#//SybaseASABasePredefinedDataType" eOpposite="#//SybaseASABasePredefinedDataType/database"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="webServices" upperBound="-1"
+        eType="#//SybaseASAWebService" eOpposite="#//SybaseASAWebService/database"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="dbSpaces" lowerBound="1"
+        upperBound="-1" eType="#//SybaseASABaseDBSpace" eOpposite="#//SybaseASABaseDBSpace/database"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="databaseFileName" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="logFileName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mirrorFileName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="caseSensitive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="collation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="blankPaddingOn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkSumOn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jConnectOn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+        defaultValueLiteral="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pageSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only 2048 | 4096 | 8192 | 16384 | 32768 are valid values"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="encryptionInfo" eType="#//EncryptionInfo"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaSupport" eType="#//JavaSupportType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="passwordCaseSensitive"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="if passwordCaseSensitive attribute is null, it follow the caseSensitive"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASAWebService" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/SQLObject">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="service_id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="service_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="auth_required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="secure_required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="url_path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="user_name" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="statement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="database" lowerBound="1"
+        eType="#//SybaseASABaseDatabase" eOpposite="#//SybaseASABaseDatabase/webServices"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EncryptionInfo">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="encryptedTable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="encryptionKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="algorithm" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="currently only 'AES' | 'AES_FIPS'  are valid values"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseUserDefinedType" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//datatypes/Domain">
+    <eOperations name="isLiteralDefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eOperations name="getGlobalIncrementPartitionSize" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="-1 stand for default value"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="#//AllowNullType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultType" eType="#//TypeOfDefault"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABasePredefinedDataType" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//datatypes/PredefinedDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//datatypes/SQLDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//datatypes/DataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/SQLObject">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="database" lowerBound="1"
+        eType="#//SybaseASABaseDatabase" defaultValueLiteral="" eOpposite="#//SybaseASABaseDatabase/dataTypes"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseTable" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//tables/PersistentTable ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseBaseTable">
+    <eOperations name="getCheckConstraints" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="dbSpace" lowerBound="1"
+        eType="#//SybaseASABaseDBSpace"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseColumn" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//tables/Column">
+    <eOperations name="isLiteralDefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eOperations name="getGlobalIncrementPartitionSize" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="-1 stand for default value"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="columnConstraint" eType="#//SybaseASABaseColumnCheckConstraint"
+        defaultValueLiteral="" containment="true" eOpposite="#//SybaseASABaseColumnCheckConstraint/column"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeOfDefault" eType="#//TypeOfDefault"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComputedColumn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="TransactionOption">
+    <eLiterals name="DELETE" value="1"/>
+    <eLiterals name="PRESERVE" value="2"/>
+    <eLiterals name="NOT_TRANSACTION"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseUniqueConstraint" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//constraints/UniqueConstraint">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="clustered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABasePrimaryKey" eSuperTypes="#//SybaseASABaseUniqueConstraint ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//constraints/PrimaryKey"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseForeignKey" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//constraints/ForeignKey">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="roleName" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="clustered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseIndex" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//constraints/Index">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="dbSpace" lowerBound="1"
+        eType="#//SybaseASABaseDBSpace"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseDBSpace" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/SQLObject">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="database" lowerBound="1"
+        eType="#//SybaseASABaseDatabase" defaultValueLiteral="" eOpposite="#//SybaseASABaseDatabase/dbSpaces"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseViewTable" eSuperTypes="../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseViewTable">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="withCheckOption" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+        defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="statement" eType="ecore:EClass ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//statements/SQLStatement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseFunction" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//routines/UserDefinedFunction ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseRoutine">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="onExceptionResume" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseProcedure" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//routines/Procedure ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseRoutine">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="onExceptionResume" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseTempTable" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//tables/TemporaryTable">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="transactionOption" eType="#//TransactionOption"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="TypeOfDefault">
+    <eLiterals name="NO_DEFAULT"/>
+    <eLiterals name="USER_DEFINED" value="1"/>
+    <eLiterals name="SYSTEM_DEFINED" value="2"/>
+    <eLiterals name="COMPUTED_VALUE" value="3"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseTrigger" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//tables/Trigger">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="The super actionTime attribute is deprecated and instead of sybaseASABaseActionTime."/>
+    </eAnnotations>
+    <eOperations name="getOldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="delegates to getOldRow or getOldTable based on the action granularity"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getNewName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="delegates to getNewRow or getNewTable based on the action granularity"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="setOldName">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="delegates to setOldRow or setOldTable based on the action granularity"/>
+      </eAnnotations>
+      <eParameters name="oldName" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+    </eOperations>
+    <eOperations name="setNewName">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="delegates to setNewRow or setNewTable based on the action granularity"/>
+      </eAnnotations>
+      <eParameters name="newName" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+        defaultValueLiteral="1"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sybaseASABaseActionTime"
+        eType="#//SybaseASABaseActionTime"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="remoteName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        defaultValueLiteral=""/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateColumnType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="exclusive with other trigger event types. If set to true, triggerColumn cannot be empty"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="SybaseASABaseActionTime">
+    <eAnnotations source="GenModel">
+      <details key="document" value="In Sybase ASA, there are 3 kinds of action time for trigger which are: BEFORE, AFTER and RESOLVE.&#xD;&#xA;The predefined action time enumeration in sql model can not meet our requirement. And we can not &#xD;&#xA;extends the predefined one since it's declared as final.&#xD;&#xA;The actual action time for &quot;ASE&quot; type is &quot;AFTER&quot;, but ASA treats it as another action time."/>
+    </eAnnotations>
+    <eLiterals name="BEFORE"/>
+    <eLiterals name="AFTER" value="1"/>
+    <eLiterals name="RESOLVE" value="2"/>
+    <eLiterals name="ASE" value="3" literal="ASE"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="EventType">
+    <eLiterals name="NOEVENTTYPE"/>
+    <eLiterals name="BACKUPEND" value="1" literal="BackupEnd"/>
+    <eLiterals name="CONNECT" value="2" literal="\&quot;Connect\&quot;"/>
+    <eLiterals name="CONNECTFAILED" value="3" literal="ConnectFailed"/>
+    <eLiterals name="DATABASESTART" value="4" literal="DatabaseStart"/>
+    <eLiterals name="DBDISKSPACE" value="5" literal="DBDiskSpace"/>
+    <eLiterals name="DISCONEECT" value="6" literal="\&quot;Disconnect\&quot;"/>
+    <eLiterals name="GLOBALAUTOINCREMENT" value="7" literal="GlobalAutoincrement"/>
+    <eLiterals name="GROWDB" value="8" literal="GrowDB"/>
+    <eLiterals name="GROWLOG" value="9" literal="GrowLog"/>
+    <eLiterals name="GROWTEMP" value="10" literal="GrowTemp"/>
+    <eLiterals name="LOGDISKSPACE" value="11" literal="LogDiskSpace"/>
+    <eLiterals name="RAISERROR" value="12" literal="\&quot;RAISERROR\&quot;"/>
+    <eLiterals name="SERVERIDLE" value="13" literal="ServerIdle"/>
+    <eLiterals name="TEMPDISKSPACE" value="14" literal="TempDiskSpace"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseProxyTable" eSuperTypes="#//SybaseASABaseTable">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="remoteObjectLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        defaultValueLiteral=""/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="JavaSupportType">
+    <eLiterals name="OFF"/>
+    <eLiterals name="ON" value="1"/>
+    <eLiterals name="JDK13" value="2" literal="JDK '1.3'"/>
+    <eLiterals name="JDK118" value="3" literal="JDK '1.1.8'"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseColumnCheckConstraint"
+      eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//constraints/CheckConstraint">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="column" lowerBound="1"
+        eType="#//SybaseASABaseColumn" defaultValueLiteral="" eOpposite="#//SybaseASABaseColumn/columnConstraint"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="EventLocationType">
+    <eLiterals name="ALL"/>
+    <eLiterals name="REMOTE" value="1"/>
+    <eLiterals name="CONSOLIDATED" value="2"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Schedule" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/SQLObject">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="recurring" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="startTime" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDate"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stopTime" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDate"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="startDate" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDate"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="daysOfWeek" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="x01 = Sunday | x02 = Monday | x04 = Tuesday | x08 = Wednesday&#xD;&#xA; | x10 = Thursday | x20 = Friday | x40 = Saturday&#xD;&#xA;"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="daysOfMonth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="x01 = first day | x02 = second day | ... x40000000 = 31st day&#xD;&#xA; | x80000000 = last day of month&#xD;&#xA;"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="intervalUnit" eType="#//IntervalUnitType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="intervalMount" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//SybaseASABaseEvent"
+        defaultValueLiteral="" eOpposite="#//SybaseASABaseEvent/schedules"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="IntervalUnitType">
+    <eLiterals name="HOURS"/>
+    <eLiterals name="MINUTES" value="1"/>
+    <eLiterals name="SECONDS" value="2"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseRemoteProcedure" eSuperTypes="#//SybaseASABaseProcedure">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="SystemDefinedDefaultType">
+    <eLiterals name="AUTOINCREMENT"/>
+    <eLiterals name="CURRENT_DATABASE" value="1" literal="CURRENT DATABASE"/>
+    <eLiterals name="CURRENT_REMOTE_USER" value="2" literal="CURRENT REMOTE USER"/>
+    <eLiterals name="CURRENT_UTC_TIMESTAMP" value="3" literal="CURRENT UTC TIMESTAMP"/>
+    <eLiterals name="GLOBAL_AUTOINCREMENT" value="4" literal="GLOBAL AUTOINCREMENT"/>
+    <eLiterals name="NULL" value="5"/>
+    <eLiterals name="TIMESTAMP" value="6"/>
+    <eLiterals name="UTC_TIMESTAMP" value="7" literal="UTC TIMESTAMP"/>
+    <eLiterals name="LAST_USER" value="8" literal="LAST USER"/>
+    <eLiterals name="CURRENT_DATE" value="9" literal="CURRENT DATE"/>
+    <eLiterals name="CURRENT_TIME" value="10" literal="CURRENT TIME"/>
+    <eLiterals name="CURRENT_TIMESTAMP" value="11" literal="CURRENT TIMESTAMP"/>
+    <eLiterals name="CURRENT_USER" value="12" literal="CURRENT USER"/>
+    <eLiterals name="CURRENT_PUBLISHER" value="13" literal="CURRENT PUBLISHER"/>
+    <eLiterals name="USER" value="14"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="AllowNullType">
+    <eLiterals name="Nullable"/>
+    <eLiterals name="Not_Nullable" value="1"/>
+    <eLiterals name="Database_Default" value="2"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseParameter" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//routines/Parameter ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseParameter">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parmType" eType="#//ParameterType"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="ParameterType">
+    <eLiterals name="VARIABLE" literal="VARIABLE"/>
+    <eLiterals name="RESULT" value="1"/>
+    <eLiterals name="SQLSTATE" value="2"/>
+    <eLiterals name="SQLCODE" value="3"/>
+    <eLiterals name="RETURN" value="4"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseGroup" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//accesscontrol/User ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//accesscontrol/Group ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseAuthorizationIdentifier"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseUser" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//accesscontrol/User ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.ecore#//SybaseAuthorizationIdentifier"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASABaseSchema" eSuperTypes="../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/Schema">
+    <eOperations name="getNormalTables" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List"/>
+    <eOperations name="getTempTables" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List"/>
+    <eOperations name="getSystemTables" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List"/>
+    <eOperations name="getProxyTables" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List"/>
+    <eOperations name="getViewTables" eType="ecore:EDataType ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.ecore#//schema/List">
+      <eParameters name="systemFlag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASADefaultWrapper">
+    <eOperations name="parse"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLiteral" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="partitionSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+        defaultValueLiteral="-1"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//TypeOfDefault"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.genmodel b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.genmodel
new file mode 100644
index 0000000..048b138
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasabasesqlmodel.genmodel
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.datatools.enablement.sybase.asa.models/src"
+    modelPluginID="org.eclipse.datatools.enablement.sybase.asa.models" modelName="Sybaseasabasesqlmodel"
+    importerID="org.eclipse.emf.importer.ecore" usedGenPackages="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.genmodel#//sqlmodel ../../org.eclipse.datatools.enablement.sybase/models/sybasesqlmodel.genmodel#//sybasesqlmodel">
+  <foreignModel>sybaseasabasesqlmodel.ecore</foreignModel>
+  <genPackages prefix="Sybaseasabasesqlmodel" basePackage="org.eclipse.datatools.enablement.sybase.asa.models"
+      disposableProviderFactory="true" ecorePackage="sybaseasabasesqlmodel.ecore#/">
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//TransactionOption">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TransactionOption/DELETE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TransactionOption/PRESERVE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TransactionOption/NOT_TRANSACTION"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//TypeOfDefault">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TypeOfDefault/NO_DEFAULT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TypeOfDefault/USER_DEFINED"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TypeOfDefault/SYSTEM_DEFINED"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//TypeOfDefault/COMPUTED_VALUE"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//SybaseASABaseActionTime">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SybaseASABaseActionTime/BEFORE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SybaseASABaseActionTime/AFTER"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SybaseASABaseActionTime/RESOLVE"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//EventType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/NOEVENTTYPE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/BACKUPEND"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/CONNECT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/CONNECTFAILED"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/DATABASESTART"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/DBDISKSPACE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/DISCONEECT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/GLOBALAUTOINCREMENT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/GROWDB"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/GROWLOG"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/GROWTEMP"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/LOGDISKSPACE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/RAISERROR"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/SERVERIDLE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventType/TEMPDISKSPACE"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//JavaSupportType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//JavaSupportType/OFF"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//JavaSupportType/ON"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//JavaSupportType/JDK13"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//JavaSupportType/JDK118"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//EventLocationType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventLocationType/CONSOLIDATED"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventLocationType/REMOTE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//EventLocationType/ALL"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//IntervalUnitType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//IntervalUnitType/HOURS"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//IntervalUnitType/MINUTES"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//IntervalUnitType/SECONDS"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/AUTOINCREMENT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_DATABASE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_REMOTE_USER"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_UTC_TIMESTAMP"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/GLOBAL_AUTOINCREMENT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/NULL"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/TIMESTAMP"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/UTC_TIMESTAMP"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/LAST_USER"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_DATE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_TIME"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_TIMESTAMP"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_USER"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/CURRENT_PUBLISHER"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//SystemDefinedDefaultType/USER"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//AllowNullType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//AllowNullType/Nullable"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//AllowNullType/Not_Nullable"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//AllowNullType/Database_Default"/>
+    </genEnums>
+    <genEnums ecoreEnum="sybaseasabasesqlmodel.ecore#//ParameterType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//ParameterType/VARIABLE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//ParameterType/RESULT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//ParameterType/SQLSTATE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//ParameterType/SQLCODE"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasabasesqlmodel.ecore#//ParameterType/RETURN"/>
+    </genEnums>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseEvent">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseEvent/eventType"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseEvent/eventCreator"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseEvent/location"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseEvent/schedules"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/dataTypes"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/webServices"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/dbSpaces"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/databaseFileName"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/logFileName"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/mirrorFileName"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/caseSensitive"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/collation"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/blankPaddingOn"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/checkSumOn"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/jConnectOn"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/pageSize"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/encryptionInfo"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/javaSupport"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/passwordCaseSensitive"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase/isBaseOnASA10"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASAWebService">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/service_id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/service_type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/auth_required"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/secure_required"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/url_path"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/user_name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/parameter"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASAWebService/statement"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASAWebService/database"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//EncryptionInfo">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//EncryptionInfo/encryptedTable"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//EncryptionInfo/encryptionKey"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//EncryptionInfo/algorithm"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseUserDefinedType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseUserDefinedType/nullable"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseUserDefinedType/defaultType"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseUserDefinedType/isLiteralDefault"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseUserDefinedType/getGlobalIncrementPartitionSize"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABasePredefinedDataType">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABasePredefinedDataType/database"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseTable">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseTable/dbSpace"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseTable/getCheckConstraints"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn/columnConstraint"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn/typeOfDefault"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn/unique"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn/isLiteralDefault"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseColumn/getGlobalIncrementPartitionSize"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseUniqueConstraint">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseUniqueConstraint/clustered"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABasePrimaryKey"/>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseForeignKey">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseForeignKey/roleName"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseForeignKey/clustered"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseIndex">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseIndex/dbSpace"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseDBSpace">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseDBSpace/fileName"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseDBSpace/database"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseViewTable">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseViewTable/withCheckOption"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseViewTable/statement"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseFunction">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseFunction/onExceptionResume"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseProcedure">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseProcedure/onExceptionResume"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseTempTable">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseTempTable/transactionOption"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseTrigger">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseTrigger/order"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseTrigger/sybaseASABaseActionTime"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseTrigger/remoteName"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseProxyTable">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseProxyTable/remoteObjectLocation"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseColumnCheckConstraint">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//SybaseASABaseColumnCheckConstraint/column"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//Schedule">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/recurring"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/startTime"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/stopTime"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/startDate"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/daysOfWeek"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/daysOfMonth"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/intervalUnit"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//Schedule/intervalMount"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sybaseasabasesqlmodel.ecore#//Schedule/event"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseRemoteProcedure">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseRemoteProcedure/location"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseParameter">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasabasesqlmodel.ecore#//SybaseASABaseParameter/parmType"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseGroup"/>
+    <genClasses ecoreClass="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema">
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getNormalTables"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getTempTables"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getSystemTables"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getProxyTables"/>
+      <genOperations ecoreOperation="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getViewTables">
+        <genParameters ecoreParameter="sybaseasabasesqlmodel.ecore#//SybaseASABaseSchema/getViewTables/systemFlag"/>
+      </genOperations>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.ecore b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.ecore
new file mode 100644
index 0000000..8dc283f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.ecore
@@ -0,0 +1,29 @@
+<?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="sybaseasasqlmodel"
+    nsURI="http:///org/eclipse/datatools/connectivity/sqm/sybase/asa/sybaseasasqlmodel.ecore"
+    nsPrefix="SybaseASAModel">
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASADatabase" eSuperTypes="sybaseasabasesqlmodel.ecore#//SybaseASABaseDatabase">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ASECompatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASATable" eSuperTypes="sybaseasabasesqlmodel.ecore#//SybaseASABaseTable">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pctfree" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+        defaultValueLiteral="-1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="value = -1 means no pctfree has been set"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASAForeignKey" eSuperTypes="sybaseasabasesqlmodel.ecore#//SybaseASABaseForeignKey">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkOnCommit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASAIndex" eSuperTypes="sybaseasabasesqlmodel.ecore#//SybaseASABaseIndex">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="virtual" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SybaseASATempTable" eSuperTypes="sybaseasabasesqlmodel.ecore#//SybaseASABaseTempTable">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pctfree" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"
+        defaultValueLiteral="-1"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.genmodel b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.genmodel
new file mode 100644
index 0000000..1140360
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/models/sybaseasasqlmodel.genmodel
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.datatools.enablement.sybase.asa.models/src"
+    modelPluginID="org.eclipse.datatools.enablement.sybase.asa.models" modelName="Sybaseasasqlmodel"
+    importerID="org.eclipse.emf.importer.ecore" usedGenPackages="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.datatools.modelbase.sql/model/sqlmodel.genmodel#//sqlmodel sybaseasabasesqlmodel.genmodel#//sybaseasabasesqlmodel">
+  <foreignModel>sybaseasasqlmodel.ecore</foreignModel>
+  <genPackages prefix="Sybaseasasqlmodel" basePackage="org.eclipse.datatools.enablement.sybase.asa.models"
+      disposableProviderFactory="true" ecorePackage="sybaseasasqlmodel.ecore#/">
+    <genEnums ecoreEnum="sybaseasasqlmodel.ecore#//IndexType">
+      <genEnumLiterals ecoreEnumLiteral="sybaseasasqlmodel.ecore#//IndexType/PRIMARY_KEY"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasasqlmodel.ecore#//IndexType/UNIQUE_CONSTRAINT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasasqlmodel.ecore#//IndexType/FOREIGN_CONSTRAINT"/>
+      <genEnumLiterals ecoreEnumLiteral="sybaseasasqlmodel.ecore#//IndexType/INDEX"/>
+    </genEnums>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAEvent"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASADatabase">
+      <genOperations ecoreOperation="sybaseasasqlmodel.ecore#//SybaseASADatabase/isASA10"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAUserDefinedType">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sybaseasasqlmodel.ecore#//SybaseASAUserDefinedType/checkCondition"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAPredefinedDataType"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASATable">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasasqlmodel.ecore#//SybaseASATable/pctFree"/>
+      <genOperations ecoreOperation="sybaseasasqlmodel.ecore#//SybaseASATable/isPctFreeDefault"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAColumn"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAUniqueConstraint"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAPrimaryKey"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAForeignKey">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasasqlmodel.ecore#//SybaseASAForeignKey/checkOnCommit"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasasqlmodel.ecore#//SybaseASAForeignKey/nullable"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAIndex">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasasqlmodel.ecore#//SybaseASAIndex/virtual"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sybaseasasqlmodel.ecore#//SybaseASAIndex/indexType"/>
+    </genClasses>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASADBSpace"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAViewTable"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAFunction"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAProcedure"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASATempTable"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASATrigger"/>
+    <genClasses ecoreClass="sybaseasasqlmodel.ecore#//SybaseASAProxyTable"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.properties b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.properties
new file mode 100644
index 0000000..7bc406d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.properties
@@ -0,0 +1,20 @@
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2006/08/25 18:27:18 brianf Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = Sybase ASA SQL Model
+providerName = Eclipse.org
+
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.xml b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.xml
new file mode 100644
index 0000000..6298328
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/plugin.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id: plugin.xml,v 1.1 2006/08/25 18:27:18 brianf Exp $
+-->
+
+<plugin>
+
+  <extension point="org.eclipse.emf.ecore.generated_package">
+    <package 
+       uri = "http:///org/eclipse/datatools/connectivity/sqm/sybase/asa/sybaseasasqlmodel.ecore" 
+       class = "org.eclipse.datatools.enablement.sybase.asa.models.sybaseasasqlmodel.SybaseasasqlmodelPackage"
+       genModel = "models/sybaseasasqlmodel.genmodel" /> 
+  </extension>
+
+</plugin>
+
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/AllowNullType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/AllowNullType.java
new file mode 100644
index 0000000..367cf57
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/AllowNullType.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AllowNullType.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Allow Null Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getAllowNullType()
+ * @model
+ * @generated
+ */
+public final class AllowNullType extends AbstractEnumerator {
+    /**
+     * The '<em><b>Nullable</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Nullable</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #NULLABLE_LITERAL
+     * @model name="Nullable"
+     * @generated
+     * @ordered
+     */
+	public static final int NULLABLE = 0;
+
+    /**
+     * The '<em><b>Not Nullable</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Not Nullable</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #NOT_NULLABLE_LITERAL
+     * @model name="Not_Nullable"
+     * @generated
+     * @ordered
+     */
+	public static final int NOT_NULLABLE = 1;
+
+    /**
+     * The '<em><b>Database Default</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Database Default</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #DATABASE_DEFAULT_LITERAL
+     * @model name="Database_Default"
+     * @generated
+     * @ordered
+     */
+	public static final int DATABASE_DEFAULT = 2;
+
+    /**
+     * The '<em><b>Nullable</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #NULLABLE
+     * @generated
+     * @ordered
+     */
+	public static final AllowNullType NULLABLE_LITERAL = new AllowNullType(NULLABLE, "Nullable", "Nullable");
+
+    /**
+     * The '<em><b>Not Nullable</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #NOT_NULLABLE
+     * @generated
+     * @ordered
+     */
+	public static final AllowNullType NOT_NULLABLE_LITERAL = new AllowNullType(NOT_NULLABLE, "Not_Nullable", "Not_Nullable");
+
+    /**
+     * The '<em><b>Database Default</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #DATABASE_DEFAULT
+     * @generated
+     * @ordered
+     */
+	public static final AllowNullType DATABASE_DEFAULT_LITERAL = new AllowNullType(DATABASE_DEFAULT, "Database_Default", "Database_Default");
+
+    /**
+     * An array of all the '<em><b>Allow Null Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final AllowNullType[] VALUES_ARRAY =
+        new AllowNullType[]
+        {
+            NULLABLE_LITERAL,
+            NOT_NULLABLE_LITERAL,
+            DATABASE_DEFAULT_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Allow Null Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Allow Null Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static AllowNullType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            AllowNullType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Allow Null Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static AllowNullType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            AllowNullType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Allow Null Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static AllowNullType get(int value)
+    {
+        switch (value)
+        {
+            case NULLABLE: return NULLABLE_LITERAL;
+            case NOT_NULLABLE: return NOT_NULLABLE_LITERAL;
+            case DATABASE_DEFAULT: return DATABASE_DEFAULT_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private AllowNullType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //AllowNullType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EncryptionInfo.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EncryptionInfo.java
new file mode 100644
index 0000000..f30550f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EncryptionInfo.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EncryptionInfo.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Encryption Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#isEncryptedTable <em>Encrypted Table</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#getEncryptionKey <em>Encryption Key</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#getAlgorithm <em>Algorithm</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEncryptionInfo()
+ * @model
+ * @generated
+ */
+public interface EncryptionInfo extends EObject
+{
+    /**
+     * Returns the value of the '<em><b>Encrypted Table</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Encrypted Table</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Encrypted Table</em>' attribute.
+     * @see #setEncryptedTable(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEncryptionInfo_EncryptedTable()
+     * @model
+     * @generated
+     */
+	boolean isEncryptedTable();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#isEncryptedTable <em>Encrypted Table</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Encrypted Table</em>' attribute.
+     * @see #isEncryptedTable()
+     * @generated
+     */
+	void setEncryptedTable(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Encryption Key</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Encryption Key</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Encryption Key</em>' attribute.
+     * @see #setEncryptionKey(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEncryptionInfo_EncryptionKey()
+     * @model
+     * @generated
+     */
+	String getEncryptionKey();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#getEncryptionKey <em>Encryption Key</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Encryption Key</em>' attribute.
+     * @see #getEncryptionKey()
+     * @generated
+     */
+	void setEncryptionKey(String value);
+
+    /**
+     * Returns the value of the '<em><b>Algorithm</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * currently only 'AES' | 'AES_FIPS'  are valid values
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Algorithm</em>' attribute.
+     * @see #setAlgorithm(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEncryptionInfo_Algorithm()
+     * @model
+     * @generated
+     */
+	String getAlgorithm();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EncryptionInfo#getAlgorithm <em>Algorithm</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Algorithm</em>' attribute.
+     * @see #getAlgorithm()
+     * @generated
+     */
+	void setAlgorithm(String value);
+
+} // EncryptionInfo
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventLocationType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventLocationType.java
new file mode 100644
index 0000000..a31cd8d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventLocationType.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EventLocationType.java,v 1.5 2007/02/28 02:24:49 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Event Location Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEventLocationType()
+ * @model
+ * @generated
+ */
+public final class EventLocationType extends AbstractEnumerator {
+    /**
+     * The '<em><b>CONSOLIDATED</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>CONSOLIDATED</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #CONSOLIDATED_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int CONSOLIDATED = 2;
+
+    /**
+     * The '<em><b>REMOTE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>REMOTE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #REMOTE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int REMOTE = 1;
+
+    /**
+     * The '<em><b>ALL</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #ALL_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int ALL = 0;
+
+    /**
+     * The '<em><b>CONSOLIDATED</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #CONSOLIDATED
+     * @generated
+     * @ordered
+     */
+	public static final EventLocationType CONSOLIDATED_LITERAL = new EventLocationType(CONSOLIDATED, "CONSOLIDATED", "CONSOLIDATED");
+
+    /**
+     * The '<em><b>REMOTE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #REMOTE
+     * @generated
+     * @ordered
+     */
+	public static final EventLocationType REMOTE_LITERAL = new EventLocationType(REMOTE, "REMOTE", "REMOTE");
+
+    /**
+     * The '<em><b>ALL</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #ALL
+     * @generated
+     * @ordered
+     */
+	public static final EventLocationType ALL_LITERAL = new EventLocationType(ALL, "ALL", "ALL");
+
+    /**
+     * An array of all the '<em><b>Event Location Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final EventLocationType[] VALUES_ARRAY =
+        new EventLocationType[]
+        {
+            CONSOLIDATED_LITERAL,
+            REMOTE_LITERAL,
+            ALL_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Event Location Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Event Location Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventLocationType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            EventLocationType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Event Location Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventLocationType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            EventLocationType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Event Location Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventLocationType get(int value)
+    {
+        switch (value)
+        {
+            case CONSOLIDATED: return CONSOLIDATED_LITERAL;
+            case REMOTE: return REMOTE_LITERAL;
+            case ALL: return ALL_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private EventLocationType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //EventLocationType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventTriggerType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventTriggerType.java
new file mode 100644
index 0000000..2401e6a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventTriggerType.java
@@ -0,0 +1,178 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EventTriggerType.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Event Trigger Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEventTriggerType()
+ * @model
+ * @generated
+ */
+public final class EventTriggerType extends AbstractEnumerator {
+	/**
+	 * The '<em><b>MANUALLY</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>MANUALLY</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MANUALLY_LITERAL
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MANUALLY = 0;
+
+	/**
+	 * The '<em><b>SCHEDULED</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>SCHEDULED</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #SCHEDULED_LITERAL
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SCHEDULED = 1;
+
+	/**
+	 * The '<em><b>CONDITIONAL</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>CONDITIONAL</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #CONDITIONAL_LITERAL
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int CONDITIONAL = 2;
+
+	/**
+	 * The '<em><b>MANUALLY</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MANUALLY
+	 * @generated
+	 * @ordered
+	 */
+	public static final EventTriggerType MANUALLY_LITERAL = new EventTriggerType(MANUALLY, "MANUALLY", "MANUALLY");
+
+	/**
+	 * The '<em><b>SCHEDULED</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SCHEDULED
+	 * @generated
+	 * @ordered
+	 */
+	public static final EventTriggerType SCHEDULED_LITERAL = new EventTriggerType(SCHEDULED, "SCHEDULED", "SCHEDULED");
+
+	/**
+	 * The '<em><b>CONDITIONAL</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #CONDITIONAL
+	 * @generated
+	 * @ordered
+	 */
+	public static final EventTriggerType CONDITIONAL_LITERAL = new EventTriggerType(CONDITIONAL, "CONDITIONAL", "CONDITIONAL");
+
+	/**
+	 * An array of all the '<em><b>Event Trigger Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final EventTriggerType[] VALUES_ARRAY =
+		new EventTriggerType[] {
+			MANUALLY_LITERAL,
+			SCHEDULED_LITERAL,
+			CONDITIONAL_LITERAL,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Event Trigger Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Event Trigger Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EventTriggerType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EventTriggerType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Event Trigger Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EventTriggerType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EventTriggerType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Event Trigger Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EventTriggerType get(int value) {
+		switch (value) {
+			case MANUALLY: return MANUALLY_LITERAL;
+			case SCHEDULED: return SCHEDULED_LITERAL;
+			case CONDITIONAL: return CONDITIONAL_LITERAL;
+		}
+		return null;	
+	}
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EventTriggerType(int value, String name, String literal) {
+		super(value, name, literal);
+	}
+
+} //EventTriggerType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventType.java
new file mode 100644
index 0000000..d9e4a5c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/EventType.java
@@ -0,0 +1,512 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EventType.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Event Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getEventType()
+ * @model
+ * @generated
+ */
+public final class EventType extends AbstractEnumerator {
+    /**
+     * The '<em><b>NOEVENTTYPE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>NOEVENTTYPE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #NOEVENTTYPE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int NOEVENTTYPE = 0;
+
+    /**
+     * The '<em><b>BACKUPEND</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>BACKUPEND</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #BACKUPEND_LITERAL
+     * @model literal="BackupEnd"
+     * @generated
+     * @ordered
+     */
+	public static final int BACKUPEND = 1;
+
+    /**
+     * The '<em><b>CONNECT</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>CONNECT</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #CONNECT_LITERAL
+     * @model literal="\"Connect\""
+     * @generated
+     * @ordered
+     */
+	public static final int CONNECT = 2;
+
+    /**
+     * The '<em><b>CONNECTFAILED</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>CONNECTFAILED</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #CONNECTFAILED_LITERAL
+     * @model literal="ConnectFailed"
+     * @generated
+     * @ordered
+     */
+	public static final int CONNECTFAILED = 3;
+
+    /**
+     * The '<em><b>DATABASESTART</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>DATABASESTART</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #DATABASESTART_LITERAL
+     * @model literal="DatabaseStart"
+     * @generated
+     * @ordered
+     */
+	public static final int DATABASESTART = 4;
+
+    /**
+     * The '<em><b>DBDISKSPACE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>DBDISKSPACE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #DBDISKSPACE_LITERAL
+     * @model literal="DBDiskSpace"
+     * @generated
+     * @ordered
+     */
+	public static final int DBDISKSPACE = 5;
+
+    /**
+     * The '<em><b>DISCONEECT</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>DISCONEECT</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #DISCONEECT_LITERAL
+     * @model literal="\"Disconnect\""
+     * @generated
+     * @ordered
+     */
+	public static final int DISCONEECT = 6;
+
+    /**
+     * The '<em><b>GLOBALAUTOINCREMENT</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>GLOBALAUTOINCREMENT</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #GLOBALAUTOINCREMENT_LITERAL
+     * @model literal="GlobalAutoincrement"
+     * @generated
+     * @ordered
+     */
+	public static final int GLOBALAUTOINCREMENT = 7;
+
+    /**
+     * The '<em><b>GROWDB</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>GROWDB</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #GROWDB_LITERAL
+     * @model literal="GrowDB"
+     * @generated
+     * @ordered
+     */
+	public static final int GROWDB = 8;
+
+    /**
+     * The '<em><b>GROWLOG</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>GROWLOG</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #GROWLOG_LITERAL
+     * @model literal="GrowLog"
+     * @generated
+     * @ordered
+     */
+	public static final int GROWLOG = 9;
+
+    /**
+     * The '<em><b>GROWTEMP</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>GROWTEMP</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #GROWTEMP_LITERAL
+     * @model literal="GrowTemp"
+     * @generated
+     * @ordered
+     */
+	public static final int GROWTEMP = 10;
+
+    /**
+     * The '<em><b>LOGDISKSPACE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>LOGDISKSPACE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #LOGDISKSPACE_LITERAL
+     * @model literal="LogDiskSpace"
+     * @generated
+     * @ordered
+     */
+	public static final int LOGDISKSPACE = 11;
+
+    /**
+     * The '<em><b>RAISERROR</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RAISERROR</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #RAISERROR_LITERAL
+     * @model literal="\"RAISERROR\""
+     * @generated
+     * @ordered
+     */
+	public static final int RAISERROR = 12;
+
+    /**
+     * The '<em><b>SERVERIDLE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>SERVERIDLE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #SERVERIDLE_LITERAL
+     * @model literal="ServerIdle"
+     * @generated
+     * @ordered
+     */
+	public static final int SERVERIDLE = 13;
+
+    /**
+     * The '<em><b>TEMPDISKSPACE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>TEMPDISKSPACE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #TEMPDISKSPACE_LITERAL
+     * @model literal="TempDiskSpace"
+     * @generated
+     * @ordered
+     */
+	public static final int TEMPDISKSPACE = 14;
+
+    /**
+     * The '<em><b>NOEVENTTYPE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #NOEVENTTYPE
+     * @generated
+     * @ordered
+     */
+	public static final EventType NOEVENTTYPE_LITERAL = new EventType(NOEVENTTYPE, "NOEVENTTYPE", "NOEVENTTYPE");
+
+    /**
+     * The '<em><b>BACKUPEND</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #BACKUPEND
+     * @generated
+     * @ordered
+     */
+	public static final EventType BACKUPEND_LITERAL = new EventType(BACKUPEND, "BACKUPEND", "BackupEnd");
+
+    /**
+     * The '<em><b>CONNECT</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #CONNECT
+     * @generated
+     * @ordered
+     */
+	public static final EventType CONNECT_LITERAL = new EventType(CONNECT, "CONNECT", "\"Connect\"");
+
+    /**
+     * The '<em><b>CONNECTFAILED</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #CONNECTFAILED
+     * @generated
+     * @ordered
+     */
+	public static final EventType CONNECTFAILED_LITERAL = new EventType(CONNECTFAILED, "CONNECTFAILED", "ConnectFailed");
+
+    /**
+     * The '<em><b>DATABASESTART</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #DATABASESTART
+     * @generated
+     * @ordered
+     */
+	public static final EventType DATABASESTART_LITERAL = new EventType(DATABASESTART, "DATABASESTART", "DatabaseStart");
+
+    /**
+     * The '<em><b>DBDISKSPACE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #DBDISKSPACE
+     * @generated
+     * @ordered
+     */
+	public static final EventType DBDISKSPACE_LITERAL = new EventType(DBDISKSPACE, "DBDISKSPACE", "DBDiskSpace");
+
+    /**
+     * The '<em><b>DISCONEECT</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #DISCONEECT
+     * @generated
+     * @ordered
+     */
+	public static final EventType DISCONEECT_LITERAL = new EventType(DISCONEECT, "DISCONEECT", "\"Disconnect\"");
+
+    /**
+     * The '<em><b>GLOBALAUTOINCREMENT</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #GLOBALAUTOINCREMENT
+     * @generated
+     * @ordered
+     */
+	public static final EventType GLOBALAUTOINCREMENT_LITERAL = new EventType(GLOBALAUTOINCREMENT, "GLOBALAUTOINCREMENT", "GlobalAutoincrement");
+
+    /**
+     * The '<em><b>GROWDB</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #GROWDB
+     * @generated
+     * @ordered
+     */
+	public static final EventType GROWDB_LITERAL = new EventType(GROWDB, "GROWDB", "GrowDB");
+
+    /**
+     * The '<em><b>GROWLOG</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #GROWLOG
+     * @generated
+     * @ordered
+     */
+	public static final EventType GROWLOG_LITERAL = new EventType(GROWLOG, "GROWLOG", "GrowLog");
+
+    /**
+     * The '<em><b>GROWTEMP</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #GROWTEMP
+     * @generated
+     * @ordered
+     */
+	public static final EventType GROWTEMP_LITERAL = new EventType(GROWTEMP, "GROWTEMP", "GrowTemp");
+
+    /**
+     * The '<em><b>LOGDISKSPACE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #LOGDISKSPACE
+     * @generated
+     * @ordered
+     */
+	public static final EventType LOGDISKSPACE_LITERAL = new EventType(LOGDISKSPACE, "LOGDISKSPACE", "LogDiskSpace");
+
+    /**
+     * The '<em><b>RAISERROR</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #RAISERROR
+     * @generated
+     * @ordered
+     */
+	public static final EventType RAISERROR_LITERAL = new EventType(RAISERROR, "RAISERROR", "\"RAISERROR\"");
+
+    /**
+     * The '<em><b>SERVERIDLE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #SERVERIDLE
+     * @generated
+     * @ordered
+     */
+	public static final EventType SERVERIDLE_LITERAL = new EventType(SERVERIDLE, "SERVERIDLE", "ServerIdle");
+
+    /**
+     * The '<em><b>TEMPDISKSPACE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #TEMPDISKSPACE
+     * @generated
+     * @ordered
+     */
+	public static final EventType TEMPDISKSPACE_LITERAL = new EventType(TEMPDISKSPACE, "TEMPDISKSPACE", "TempDiskSpace");
+
+    /**
+     * An array of all the '<em><b>Event Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final EventType[] VALUES_ARRAY =
+        new EventType[]
+        {
+            NOEVENTTYPE_LITERAL,
+            BACKUPEND_LITERAL,
+            CONNECT_LITERAL,
+            CONNECTFAILED_LITERAL,
+            DATABASESTART_LITERAL,
+            DBDISKSPACE_LITERAL,
+            DISCONEECT_LITERAL,
+            GLOBALAUTOINCREMENT_LITERAL,
+            GROWDB_LITERAL,
+            GROWLOG_LITERAL,
+            GROWTEMP_LITERAL,
+            LOGDISKSPACE_LITERAL,
+            RAISERROR_LITERAL,
+            SERVERIDLE_LITERAL,
+            TEMPDISKSPACE_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Event Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Event Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            EventType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Event Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            EventType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Event Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static EventType get(int value)
+    {
+        switch (value)
+        {
+            case NOEVENTTYPE: return NOEVENTTYPE_LITERAL;
+            case BACKUPEND: return BACKUPEND_LITERAL;
+            case CONNECT: return CONNECT_LITERAL;
+            case CONNECTFAILED: return CONNECTFAILED_LITERAL;
+            case DATABASESTART: return DATABASESTART_LITERAL;
+            case DBDISKSPACE: return DBDISKSPACE_LITERAL;
+            case DISCONEECT: return DISCONEECT_LITERAL;
+            case GLOBALAUTOINCREMENT: return GLOBALAUTOINCREMENT_LITERAL;
+            case GROWDB: return GROWDB_LITERAL;
+            case GROWLOG: return GROWLOG_LITERAL;
+            case GROWTEMP: return GROWTEMP_LITERAL;
+            case LOGDISKSPACE: return LOGDISKSPACE_LITERAL;
+            case RAISERROR: return RAISERROR_LITERAL;
+            case SERVERIDLE: return SERVERIDLE_LITERAL;
+            case TEMPDISKSPACE: return TEMPDISKSPACE_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private EventType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //EventType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/IntervalUnitType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/IntervalUnitType.java
new file mode 100644
index 0000000..7e1908e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/IntervalUnitType.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IntervalUnitType.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Interval Unit Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getIntervalUnitType()
+ * @model
+ * @generated
+ */
+public final class IntervalUnitType extends AbstractEnumerator {
+    /**
+     * The '<em><b>HOURS</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>HOURS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #HOURS_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int HOURS = 0;
+
+    /**
+     * The '<em><b>MINUTES</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>MINUTES</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #MINUTES_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int MINUTES = 1;
+
+    /**
+     * The '<em><b>SECONDS</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>SECONDS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #SECONDS_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int SECONDS = 2;
+
+    /**
+     * The '<em><b>HOURS</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #HOURS
+     * @generated
+     * @ordered
+     */
+	public static final IntervalUnitType HOURS_LITERAL = new IntervalUnitType(HOURS, "HOURS", "HOURS");
+
+    /**
+     * The '<em><b>MINUTES</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #MINUTES
+     * @generated
+     * @ordered
+     */
+	public static final IntervalUnitType MINUTES_LITERAL = new IntervalUnitType(MINUTES, "MINUTES", "MINUTES");
+
+    /**
+     * The '<em><b>SECONDS</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #SECONDS
+     * @generated
+     * @ordered
+     */
+	public static final IntervalUnitType SECONDS_LITERAL = new IntervalUnitType(SECONDS, "SECONDS", "SECONDS");
+
+    /**
+     * An array of all the '<em><b>Interval Unit Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final IntervalUnitType[] VALUES_ARRAY =
+        new IntervalUnitType[]
+        {
+            HOURS_LITERAL,
+            MINUTES_LITERAL,
+            SECONDS_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Interval Unit Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Interval Unit Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static IntervalUnitType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            IntervalUnitType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Interval Unit Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static IntervalUnitType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            IntervalUnitType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Interval Unit Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static IntervalUnitType get(int value)
+    {
+        switch (value)
+        {
+            case HOURS: return HOURS_LITERAL;
+            case MINUTES: return MINUTES_LITERAL;
+            case SECONDS: return SECONDS_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private IntervalUnitType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //IntervalUnitType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/JavaSupportType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/JavaSupportType.java
new file mode 100644
index 0000000..7edf982
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/JavaSupportType.java
@@ -0,0 +1,215 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JavaSupportType.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Java Support Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getJavaSupportType()
+ * @model
+ * @generated
+ */
+public final class JavaSupportType extends AbstractEnumerator {
+    /**
+     * The '<em><b>OFF</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>OFF</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #OFF_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int OFF = 0;
+
+    /**
+     * The '<em><b>ON</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>ON</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #ON_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int ON = 1;
+
+    /**
+     * The '<em><b>JDK13</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>JDK13</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #JDK13_LITERAL
+     * @model literal="JDK '1.3'"
+     * @generated
+     * @ordered
+     */
+	public static final int JDK13 = 2;
+
+    /**
+     * The '<em><b>JDK118</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>JDK118</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #JDK118_LITERAL
+     * @model literal="JDK '1.1.8'"
+     * @generated
+     * @ordered
+     */
+	public static final int JDK118 = 3;
+
+    /**
+     * The '<em><b>OFF</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #OFF
+     * @generated
+     * @ordered
+     */
+	public static final JavaSupportType OFF_LITERAL = new JavaSupportType(OFF, "OFF", "OFF");
+
+    /**
+     * The '<em><b>ON</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #ON
+     * @generated
+     * @ordered
+     */
+	public static final JavaSupportType ON_LITERAL = new JavaSupportType(ON, "ON", "ON");
+
+    /**
+     * The '<em><b>JDK13</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #JDK13
+     * @generated
+     * @ordered
+     */
+	public static final JavaSupportType JDK13_LITERAL = new JavaSupportType(JDK13, "JDK13", "JDK '1.3'");
+
+    /**
+     * The '<em><b>JDK118</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #JDK118
+     * @generated
+     * @ordered
+     */
+	public static final JavaSupportType JDK118_LITERAL = new JavaSupportType(JDK118, "JDK118", "JDK '1.1.8'");
+
+    /**
+     * An array of all the '<em><b>Java Support Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final JavaSupportType[] VALUES_ARRAY =
+        new JavaSupportType[]
+        {
+            OFF_LITERAL,
+            ON_LITERAL,
+            JDK13_LITERAL,
+            JDK118_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Java Support Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Java Support Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static JavaSupportType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            JavaSupportType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Java Support Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static JavaSupportType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            JavaSupportType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Java Support Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static JavaSupportType get(int value)
+    {
+        switch (value)
+        {
+            case OFF: return OFF_LITERAL;
+            case ON: return ON_LITERAL;
+            case JDK13: return JDK13_LITERAL;
+            case JDK118: return JDK118_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private JavaSupportType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //JavaSupportType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/ParameterType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/ParameterType.java
new file mode 100644
index 0000000..79d9d3d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/ParameterType.java
@@ -0,0 +1,242 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ParameterType.java,v 1.4 2007/02/28 01:02:34 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Parameter Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getParameterType()
+ * @model
+ * @generated
+ */
+public final class ParameterType extends AbstractEnumerator {
+    /**
+     * The '<em><b>VARIABLE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>VARIABLE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #VARIABLE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int VARIABLE = 0;
+
+    /**
+     * The '<em><b>RESULT</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RESULT</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #RESULT_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int RESULT = 1;
+
+    /**
+     * The '<em><b>SQLSTATE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>SQLSTATE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #SQLSTATE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int SQLSTATE = 2;
+
+    /**
+     * The '<em><b>SQLCODE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>SQLCODE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #SQLCODE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int SQLCODE = 3;
+
+    /**
+     * The '<em><b>RETURN</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RETURN</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #RETURN_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int RETURN = 4;
+
+    /**
+     * The '<em><b>VARIABLE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #VARIABLE
+     * @generated
+     * @ordered
+     */
+	public static final ParameterType VARIABLE_LITERAL = new ParameterType(VARIABLE, "VARIABLE", "VARIABLE");
+
+    /**
+     * The '<em><b>RESULT</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #RESULT
+     * @generated
+     * @ordered
+     */
+	public static final ParameterType RESULT_LITERAL = new ParameterType(RESULT, "RESULT", "RESULT");
+
+    /**
+     * The '<em><b>SQLSTATE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #SQLSTATE
+     * @generated
+     * @ordered
+     */
+	public static final ParameterType SQLSTATE_LITERAL = new ParameterType(SQLSTATE, "SQLSTATE", "SQLSTATE");
+
+    /**
+     * The '<em><b>SQLCODE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #SQLCODE
+     * @generated
+     * @ordered
+     */
+	public static final ParameterType SQLCODE_LITERAL = new ParameterType(SQLCODE, "SQLCODE", "SQLCODE");
+
+    /**
+     * The '<em><b>RETURN</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #RETURN
+     * @generated
+     * @ordered
+     */
+	public static final ParameterType RETURN_LITERAL = new ParameterType(RETURN, "RETURN", "RETURN");
+
+    /**
+     * An array of all the '<em><b>Parameter Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final ParameterType[] VALUES_ARRAY =
+        new ParameterType[]
+        {
+            VARIABLE_LITERAL,
+            RESULT_LITERAL,
+            SQLSTATE_LITERAL,
+            SQLCODE_LITERAL,
+            RETURN_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Parameter Type</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Parameter Type</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static ParameterType get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            ParameterType result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Parameter Type</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static ParameterType getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            ParameterType result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Parameter Type</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static ParameterType get(int value)
+    {
+        switch (value)
+        {
+            case VARIABLE: return VARIABLE_LITERAL;
+            case RESULT: return RESULT_LITERAL;
+            case SQLSTATE: return SQLSTATE_LITERAL;
+            case SQLCODE: return SQLCODE_LITERAL;
+            case RETURN: return RETURN_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private ParameterType(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //ParameterType
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/Schedule.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/Schedule.java
new file mode 100644
index 0000000..968996d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/Schedule.java
@@ -0,0 +1,281 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Schedule.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Date;
+
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Schedule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#isRecurring <em>Recurring</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStartTime <em>Start Time</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStopTime <em>Stop Time</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStartDate <em>Start Date</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getDaysOfWeek <em>Days Of Week</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getDaysOfMonth <em>Days Of Month</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getIntervalUnit <em>Interval Unit</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getIntervalMount <em>Interval Mount</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getEvent <em>Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule()
+ * @model
+ * @generated
+ */
+public interface Schedule extends SQLObject
+{
+    /**
+     * Returns the value of the '<em><b>Recurring</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Recurring</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Recurring</em>' attribute.
+     * @see #setRecurring(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_Recurring()
+     * @model
+     * @generated
+     */
+	boolean isRecurring();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#isRecurring <em>Recurring</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Recurring</em>' attribute.
+     * @see #isRecurring()
+     * @generated
+     */
+	void setRecurring(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Start Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Start Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Start Time</em>' attribute.
+     * @see #setStartTime(Date)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_StartTime()
+     * @model
+     * @generated
+     */
+	Date getStartTime();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStartTime <em>Start Time</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Start Time</em>' attribute.
+     * @see #getStartTime()
+     * @generated
+     */
+	void setStartTime(Date value);
+
+    /**
+     * Returns the value of the '<em><b>Stop Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stop Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Stop Time</em>' attribute.
+     * @see #setStopTime(Date)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_StopTime()
+     * @model
+     * @generated
+     */
+	Date getStopTime();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStopTime <em>Stop Time</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Stop Time</em>' attribute.
+     * @see #getStopTime()
+     * @generated
+     */
+	void setStopTime(Date value);
+
+    /**
+     * Returns the value of the '<em><b>Start Date</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Start Date</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Start Date</em>' attribute.
+     * @see #setStartDate(Date)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_StartDate()
+     * @model
+     * @generated
+     */
+	Date getStartDate();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getStartDate <em>Start Date</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Start Date</em>' attribute.
+     * @see #getStartDate()
+     * @generated
+     */
+	void setStartDate(Date value);
+
+    /**
+     * Returns the value of the '<em><b>Days Of Week</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * x01 = Sunday | x02 = Monday | x04 = Tuesday | x08 = Wednesday
+     *  | x10 = Thursday | x20 = Friday | x40 = Saturday
+     * 
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Days Of Week</em>' attribute.
+     * @see #setDaysOfWeek(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_DaysOfWeek()
+     * @model
+     * @generated
+     */
+	int getDaysOfWeek();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getDaysOfWeek <em>Days Of Week</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Days Of Week</em>' attribute.
+     * @see #getDaysOfWeek()
+     * @generated
+     */
+	void setDaysOfWeek(int value);
+
+    /**
+     * Returns the value of the '<em><b>Days Of Month</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * x01 = first day | x02 = second day | ... x40000000 = 31st day
+     *  | x80000000 = last day of month
+     * 
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Days Of Month</em>' attribute.
+     * @see #setDaysOfMonth(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_DaysOfMonth()
+     * @model
+     * @generated
+     */
+	int getDaysOfMonth();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getDaysOfMonth <em>Days Of Month</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Days Of Month</em>' attribute.
+     * @see #getDaysOfMonth()
+     * @generated
+     */
+	void setDaysOfMonth(int value);
+
+    /**
+     * Returns the value of the '<em><b>Interval Unit</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.IntervalUnitType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Interval Unit</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Interval Unit</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.IntervalUnitType
+     * @see #setIntervalUnit(IntervalUnitType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_IntervalUnit()
+     * @model
+     * @generated
+     */
+	IntervalUnitType getIntervalUnit();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getIntervalUnit <em>Interval Unit</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Interval Unit</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.IntervalUnitType
+     * @see #getIntervalUnit()
+     * @generated
+     */
+	void setIntervalUnit(IntervalUnitType value);
+
+    /**
+     * Returns the value of the '<em><b>Interval Mount</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Interval Mount</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Interval Mount</em>' attribute.
+     * @see #setIntervalMount(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_IntervalMount()
+     * @model
+     * @generated
+     */
+	int getIntervalMount();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getIntervalMount <em>Interval Mount</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Interval Mount</em>' attribute.
+     * @see #getIntervalMount()
+     * @generated
+     */
+	void setIntervalMount(int value);
+
+    /**
+     * Returns the value of the '<em><b>Event</b></em>' container reference.
+     * The default value is <code>""</code>.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getSchedules <em>Schedules</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Event</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Event</em>' container reference.
+     * @see #setEvent(SybaseASABaseEvent)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSchedule_Event()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getSchedules
+     * @model opposite="schedules" required="true"
+     * @generated
+     */
+	SybaseASABaseEvent getEvent();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getEvent <em>Event</em>}' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Event</em>' container reference.
+     * @see #getEvent()
+     * @generated
+     */
+	void setEvent(SybaseASABaseEvent value);
+
+} // Schedule
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseActionTime.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseActionTime.java
new file mode 100644
index 0000000..bc206ba
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseActionTime.java
@@ -0,0 +1,215 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseActionTime.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Sybase ASA Base Action Time</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseActionTime()
+ * @model
+ * @generated
+ */
+public final class SybaseASABaseActionTime extends AbstractEnumerator {
+    /**
+     * The '<em><b>BEFORE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>BEFORE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #BEFORE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int BEFORE = 0;
+
+    /**
+     * The '<em><b>AFTER</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>AFTER</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #AFTER_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int AFTER = 1;
+
+    /**
+     * The '<em><b>RESOLVE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RESOLVE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @see #RESOLVE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+	public static final int RESOLVE = 2;
+
+    /**
+     * The '<em><b>ASE</b></em>' literal value.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of '<em><b>ASE</b></em>' literal object isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * @see #ASE_LITERAL
+     * @model
+     * @generated
+     * @ordered
+     */
+    public static final int ASE = 3;
+
+    /**
+     * The '<em><b>BEFORE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #BEFORE
+     * @generated
+     * @ordered
+     */
+	public static final SybaseASABaseActionTime BEFORE_LITERAL = new SybaseASABaseActionTime(BEFORE, "BEFORE", "BEFORE");
+
+    /**
+     * The '<em><b>AFTER</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #AFTER
+     * @generated
+     * @ordered
+     */
+	public static final SybaseASABaseActionTime AFTER_LITERAL = new SybaseASABaseActionTime(AFTER, "AFTER", "AFTER");
+
+    /**
+     * The '<em><b>RESOLVE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see #RESOLVE
+     * @generated
+     * @ordered
+     */
+	public static final SybaseASABaseActionTime RESOLVE_LITERAL = new SybaseASABaseActionTime(RESOLVE, "RESOLVE", "RESOLVE");
+
+    /**
+     * The '<em><b>ASE</b></em>' literal object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see #ASE
+     * @generated
+     * @ordered
+     */
+    public static final SybaseASABaseActionTime ASE_LITERAL = new SybaseASABaseActionTime(ASE, "ASE", "ASE");
+
+    /**
+     * An array of all the '<em><b>Sybase ASA Base Action Time</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private static final SybaseASABaseActionTime[] VALUES_ARRAY =
+        new SybaseASABaseActionTime[]
+        {
+            BEFORE_LITERAL,
+            AFTER_LITERAL,
+            RESOLVE_LITERAL,
+            ASE_LITERAL,
+        };
+
+    /**
+     * A public read-only list of all the '<em><b>Sybase ASA Base Action Time</b></em>' enumerators.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+    /**
+     * Returns the '<em><b>Sybase ASA Base Action Time</b></em>' literal with the specified literal value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static SybaseASABaseActionTime get(String literal)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            SybaseASABaseActionTime result = VALUES_ARRAY[i];
+            if (result.toString().equals(literal))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Sybase ASA Base Action Time</b></em>' literal with the specified name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static SybaseASABaseActionTime getByName(String name)
+    {
+        for (int i = 0; i < VALUES_ARRAY.length; ++i)
+        {
+            SybaseASABaseActionTime result = VALUES_ARRAY[i];
+            if (result.getName().equals(name))
+            {
+                return result;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the '<em><b>Sybase ASA Base Action Time</b></em>' literal with the specified integer value.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static SybaseASABaseActionTime get(int value)
+    {
+        switch (value)
+        {
+            case BEFORE: return BEFORE_LITERAL;
+            case AFTER: return AFTER_LITERAL;
+            case RESOLVE: return RESOLVE_LITERAL;
+            case ASE: return ASE_LITERAL;
+        }
+        return null;
+    }
+
+    /**
+     * Only this class can construct instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	private SybaseASABaseActionTime(int value, String name, String literal)
+    {
+        super(value, name, literal);
+    }
+
+} //SybaseASABaseActionTime
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumn.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumn.java
new file mode 100644
index 0000000..d9a752b
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumn.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseColumn.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.tables.Column;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getColumnConstraint <em>Column Constraint</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getTypeOfDefault <em>Type Of Default</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#isUnique <em>Unique</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#isIsComputedColumn <em>Is Computed Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumn()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseColumn extends Column
+{
+    /**
+     * Returns the value of the '<em><b>Column Constraint</b></em>' containment reference.
+     * The default value is <code>""</code>.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumnCheckConstraint#getColumn <em>Column</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Column Constraint</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Column Constraint</em>' containment reference.
+     * @see #setColumnConstraint(SybaseASABaseColumnCheckConstraint)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumn_ColumnConstraint()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumnCheckConstraint#getColumn
+     * @model opposite="column" containment="true"
+     * @generated
+     */
+	SybaseASABaseColumnCheckConstraint getColumnConstraint();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getColumnConstraint <em>Column Constraint</em>}' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Column Constraint</em>' containment reference.
+     * @see #getColumnConstraint()
+     * @generated
+     */
+	void setColumnConstraint(SybaseASABaseColumnCheckConstraint value);
+
+    /**
+     * Returns the value of the '<em><b>Type Of Default</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type Of Default</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Type Of Default</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #setTypeOfDefault(TypeOfDefault)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumn_TypeOfDefault()
+     * @model
+     * @generated
+     */
+	TypeOfDefault getTypeOfDefault();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getTypeOfDefault <em>Type Of Default</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Type Of Default</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #getTypeOfDefault()
+     * @generated
+     */
+	void setTypeOfDefault(TypeOfDefault value);
+
+    /**
+     * Returns the value of the '<em><b>Unique</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unique</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Unique</em>' attribute.
+     * @see #setUnique(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumn_Unique()
+     * @model
+     * @generated
+     */
+	boolean isUnique();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#isUnique <em>Unique</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Unique</em>' attribute.
+     * @see #isUnique()
+     * @generated
+     */
+	void setUnique(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Is Computed Column</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Computed Column</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Is Computed Column</em>' attribute.
+     * @see #setIsComputedColumn(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumn_IsComputedColumn()
+     * @model
+     * @generated
+     */
+	boolean isIsComputedColumn();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#isIsComputedColumn <em>Is Computed Column</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Is Computed Column</em>' attribute.
+     * @see #isIsComputedColumn()
+     * @generated
+     */
+	void setIsComputedColumn(boolean value);
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+	boolean isLiteralDefault();
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * -1 stand for default value
+     * <!-- end-model-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+	int getGlobalIncrementPartitionSize();
+
+} // SybaseASABaseColumn
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumnCheckConstraint.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumnCheckConstraint.java
new file mode 100644
index 0000000..6ed9880
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseColumnCheckConstraint.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseColumnCheckConstraint.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.constraints.CheckConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Column Check Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumnCheckConstraint#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumnCheckConstraint()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseColumnCheckConstraint extends CheckConstraint
+{
+    /**
+     * Returns the value of the '<em><b>Column</b></em>' container reference.
+     * The default value is <code>""</code>.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getColumnConstraint <em>Column Constraint</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Column</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Column</em>' container reference.
+     * @see #setColumn(SybaseASABaseColumn)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseColumnCheckConstraint_Column()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumn#getColumnConstraint
+     * @model opposite="columnConstraint" required="true"
+     * @generated
+     */
+	SybaseASABaseColumn getColumn();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseColumnCheckConstraint#getColumn <em>Column</em>}' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Column</em>' container reference.
+     * @see #getColumn()
+     * @generated
+     */
+	void setColumn(SybaseASABaseColumn value);
+
+} // SybaseASABaseColumnCheckConstraint
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDBSpace.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDBSpace.java
new file mode 100644
index 0000000..3690e58
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDBSpace.java
@@ -0,0 +1,85 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseDBSpace.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base DB Space</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getFileName <em>File Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getDatabase <em>Database</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDBSpace()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseDBSpace extends SQLObject
+{
+    /**
+     * Returns the value of the '<em><b>File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>File Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>File Name</em>' attribute.
+     * @see #setFileName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDBSpace_FileName()
+     * @model
+     * @generated
+     */
+	String getFileName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getFileName <em>File Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>File Name</em>' attribute.
+     * @see #getFileName()
+     * @generated
+     */
+	void setFileName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Database</b></em>' reference.
+     * The default value is <code>""</code>.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDbSpaces <em>Db Spaces</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Database</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Database</em>' reference.
+     * @see #setDatabase(SybaseASABaseDatabase)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDBSpace_Database()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDbSpaces
+     * @model opposite="dbSpaces" required="true"
+     * @generated
+     */
+	SybaseASABaseDatabase getDatabase();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getDatabase <em>Database</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Database</em>' reference.
+     * @see #getDatabase()
+     * @generated
+     */
+	void setDatabase(SybaseASABaseDatabase value);
+
+} // SybaseASABaseDBSpace
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDatabase.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDatabase.java
new file mode 100644
index 0000000..58c0011
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseDatabase.java
@@ -0,0 +1,421 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseDatabase.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.schema.Database;
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Database</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDataTypes <em>Data Types</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getWebServices <em>Web Services</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDbSpaces <em>Db Spaces</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDatabaseFileName <em>Database File Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getLogFileName <em>Log File Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getMirrorFileName <em>Mirror File Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isCaseSensitive <em>Case Sensitive</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getCollation <em>Collation</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isBlankPaddingOn <em>Blank Padding On</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isCheckSumOn <em>Check Sum On</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isJConnectOn <em>JConnect On</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getPageSize <em>Page Size</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getEncryptionInfo <em>Encryption Info</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getJavaSupport <em>Java Support</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getPasswordCaseSensitive <em>Password Case Sensitive</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseDatabase extends Database, SQLObject
+{
+    /**
+     * Returns the value of the '<em><b>Data Types</b></em>' reference list.
+     * The list contents are of type {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType}.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType#getDatabase <em>Database</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Data Types</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Data Types</em>' reference list.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_DataTypes()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType#getDatabase
+     * @model type="org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType" opposite="database"
+     * @generated
+     */
+	EList getDataTypes();
+
+    /**
+     * Returns the value of the '<em><b>Web Services</b></em>' reference list.
+     * The list contents are of type {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService}.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getDatabase <em>Database</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Web Services</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Web Services</em>' reference list.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_WebServices()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getDatabase
+     * @model type="org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService" opposite="database"
+     * @generated
+     */
+	EList getWebServices();
+
+    /**
+     * Returns the value of the '<em><b>Db Spaces</b></em>' reference list.
+     * The list contents are of type {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace}.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getDatabase <em>Database</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Db Spaces</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Db Spaces</em>' reference list.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_DbSpaces()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace#getDatabase
+     * @model type="org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDBSpace" opposite="database" required="true"
+     * @generated
+     */
+	EList getDbSpaces();
+
+    /**
+     * Returns the value of the '<em><b>Database File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Database File Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Database File Name</em>' attribute.
+     * @see #setDatabaseFileName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_DatabaseFileName()
+     * @model required="true"
+     * @generated
+     */
+	String getDatabaseFileName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDatabaseFileName <em>Database File Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Database File Name</em>' attribute.
+     * @see #getDatabaseFileName()
+     * @generated
+     */
+	void setDatabaseFileName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Log File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Log File Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Log File Name</em>' attribute.
+     * @see #setLogFileName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_LogFileName()
+     * @model
+     * @generated
+     */
+	String getLogFileName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getLogFileName <em>Log File Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Log File Name</em>' attribute.
+     * @see #getLogFileName()
+     * @generated
+     */
+	void setLogFileName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Mirror File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mirror File Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Mirror File Name</em>' attribute.
+     * @see #setMirrorFileName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_MirrorFileName()
+     * @model
+     * @generated
+     */
+	String getMirrorFileName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getMirrorFileName <em>Mirror File Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Mirror File Name</em>' attribute.
+     * @see #getMirrorFileName()
+     * @generated
+     */
+	void setMirrorFileName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Case Sensitive</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Case Sensitive</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Case Sensitive</em>' attribute.
+     * @see #setCaseSensitive(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_CaseSensitive()
+     * @model
+     * @generated
+     */
+	boolean isCaseSensitive();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isCaseSensitive <em>Case Sensitive</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Case Sensitive</em>' attribute.
+     * @see #isCaseSensitive()
+     * @generated
+     */
+	void setCaseSensitive(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Collation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Collation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Collation</em>' attribute.
+     * @see #setCollation(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_Collation()
+     * @model
+     * @generated
+     */
+	String getCollation();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getCollation <em>Collation</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Collation</em>' attribute.
+     * @see #getCollation()
+     * @generated
+     */
+	void setCollation(String value);
+
+    /**
+     * Returns the value of the '<em><b>Blank Padding On</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Blank Padding On</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Blank Padding On</em>' attribute.
+     * @see #setBlankPaddingOn(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_BlankPaddingOn()
+     * @model
+     * @generated
+     */
+	boolean isBlankPaddingOn();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isBlankPaddingOn <em>Blank Padding On</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Blank Padding On</em>' attribute.
+     * @see #isBlankPaddingOn()
+     * @generated
+     */
+	void setBlankPaddingOn(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Check Sum On</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Check Sum On</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Check Sum On</em>' attribute.
+     * @see #setCheckSumOn(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_CheckSumOn()
+     * @model
+     * @generated
+     */
+	boolean isCheckSumOn();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isCheckSumOn <em>Check Sum On</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Check Sum On</em>' attribute.
+     * @see #isCheckSumOn()
+     * @generated
+     */
+	void setCheckSumOn(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>JConnect On</b></em>' attribute.
+     * The default value is <code>"true"</code>.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>JConnect On</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>JConnect On</em>' attribute.
+     * @see #setJConnectOn(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_JConnectOn()
+     * @model default="true"
+     * @generated
+     */
+	boolean isJConnectOn();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#isJConnectOn <em>JConnect On</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>JConnect On</em>' attribute.
+     * @see #isJConnectOn()
+     * @generated
+     */
+	void setJConnectOn(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Page Size</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * Only 2048 | 4096 | 8192 | 16384 | 32768 are valid values
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Page Size</em>' attribute.
+     * @see #setPageSize(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_PageSize()
+     * @model
+     * @generated
+     */
+	int getPageSize();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getPageSize <em>Page Size</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Page Size</em>' attribute.
+     * @see #getPageSize()
+     * @generated
+     */
+	void setPageSize(int value);
+
+    /**
+     * Returns the value of the '<em><b>Encryption Info</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Encryption Info</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Encryption Info</em>' reference.
+     * @see #setEncryptionInfo(EncryptionInfo)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_EncryptionInfo()
+     * @model
+     * @generated
+     */
+	EncryptionInfo getEncryptionInfo();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getEncryptionInfo <em>Encryption Info</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Encryption Info</em>' reference.
+     * @see #getEncryptionInfo()
+     * @generated
+     */
+	void setEncryptionInfo(EncryptionInfo value);
+
+    /**
+     * Returns the value of the '<em><b>Java Support</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.JavaSupportType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Java Support</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Java Support</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.JavaSupportType
+     * @see #setJavaSupport(JavaSupportType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_JavaSupport()
+     * @model
+     * @generated
+     */
+	JavaSupportType getJavaSupport();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getJavaSupport <em>Java Support</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Java Support</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.JavaSupportType
+     * @see #getJavaSupport()
+     * @generated
+     */
+	void setJavaSupport(JavaSupportType value);
+
+    /**
+     * Returns the value of the '<em><b>Password Case Sensitive</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * if passwordCaseSensitive attribute is null, it follow the caseSensitive
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Password Case Sensitive</em>' attribute.
+     * @see #setPasswordCaseSensitive(Boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseDatabase_PasswordCaseSensitive()
+     * @model
+     * @generated
+     */
+	Boolean getPasswordCaseSensitive();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getPasswordCaseSensitive <em>Password Case Sensitive</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Password Case Sensitive</em>' attribute.
+     * @see #getPasswordCaseSensitive()
+     * @generated
+     */
+	void setPasswordCaseSensitive(Boolean value);
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+	boolean isBaseOnASA10();
+
+} // SybaseASABaseDatabase
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseEvent.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseEvent.java
new file mode 100644
index 0000000..6114334
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseEvent.java
@@ -0,0 +1,137 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseEvent.java,v 1.4 2007/02/28 01:02:34 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.schema.Event;
+import org.eclipse.datatools.modelbase.sql.schema.Schema;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getEventType <em>Event Type</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getEventCreator <em>Event Creator</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getLocation <em>Location</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getSchedules <em>Schedules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseEvent()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseEvent extends Event
+{
+    /**
+     * Returns the value of the '<em><b>Event Creator</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Event Creator</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Event Creator</em>' reference.
+     * @see #setEventCreator(Schema)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseEvent_EventCreator()
+     * @model required="true"
+     * @generated
+     */
+	Schema getEventCreator();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getEventCreator <em>Event Creator</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Event Creator</em>' reference.
+     * @see #getEventCreator()
+     * @generated
+     */
+	void setEventCreator(Schema value);
+
+    /**
+     * Returns the value of the '<em><b>Location</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventLocationType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Location</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Location</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventLocationType
+     * @see #setLocation(EventLocationType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseEvent_Location()
+     * @model
+     * @generated
+     */
+	EventLocationType getLocation();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getLocation <em>Location</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Location</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventLocationType
+     * @see #getLocation()
+     * @generated
+     */
+	void setLocation(EventLocationType value);
+
+    /**
+     * Returns the value of the '<em><b>Schedules</b></em>' containment reference list.
+     * The list contents are of type {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule}.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getEvent <em>Event</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Schedules</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Schedules</em>' containment reference list.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseEvent_Schedules()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule#getEvent
+     * @model type="org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.Schedule" opposite="event" containment="true"
+     * @generated
+     */
+	EList getSchedules();
+
+    /**
+     * Returns the value of the '<em><b>Event Type</b></em>' attribute.
+     * The default value is <code>""</code>.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Event Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Event Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventType
+     * @see #setEventType(EventType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseEvent_EventType()
+     * @model default=""
+     * @generated
+     */
+	EventType getEventType();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseEvent#getEventType <em>Event Type</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Event Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.EventType
+     * @see #getEventType()
+     * @generated
+     */
+	void setEventType(EventType value);
+
+} // SybaseASABaseEvent
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseForeignKey.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseForeignKey.java
new file mode 100644
index 0000000..172acce
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseForeignKey.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseForeignKey.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.constraints.ForeignKey;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Foreign Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseForeignKey#getRoleName <em>Role Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseForeignKey#isClustered <em>Clustered</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseForeignKey()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseForeignKey extends ForeignKey
+{
+    /**
+     * Returns the value of the '<em><b>Role Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Role Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Role Name</em>' attribute.
+     * @see #setRoleName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseForeignKey_RoleName()
+     * @model
+     * @generated
+     */
+	String getRoleName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseForeignKey#getRoleName <em>Role Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Role Name</em>' attribute.
+     * @see #getRoleName()
+     * @generated
+     */
+	void setRoleName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Clustered</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Clustered</em>' attribute.
+     * @see #setClustered(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseForeignKey_Clustered()
+     * @model
+     * @generated
+     */
+	boolean isClustered();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseForeignKey#isClustered <em>Clustered</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Clustered</em>' attribute.
+     * @see #isClustered()
+     * @generated
+     */
+	void setClustered(boolean value);
+
+} // SybaseASABaseForeignKey
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseFunction.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseFunction.java
new file mode 100644
index 0000000..72f3e21
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseFunction.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseFunction.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseRoutine;
+
+import org.eclipse.datatools.modelbase.sql.routines.UserDefinedFunction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseFunction#isOnExceptionResume <em>On Exception Resume</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseFunction()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseFunction extends UserDefinedFunction, SybaseRoutine
+{
+    /**
+     * Returns the value of the '<em><b>On Exception Resume</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Exception Resume</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>On Exception Resume</em>' attribute.
+     * @see #setOnExceptionResume(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseFunction_OnExceptionResume()
+     * @model
+     * @generated
+     */
+	boolean isOnExceptionResume();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseFunction#isOnExceptionResume <em>On Exception Resume</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>On Exception Resume</em>' attribute.
+     * @see #isOnExceptionResume()
+     * @generated
+     */
+	void setOnExceptionResume(boolean value);
+
+} // SybaseASABaseFunction
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseGroup.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseGroup.java
new file mode 100644
index 0000000..18700bd
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseGroup.java
@@ -0,0 +1,24 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseGroup.java,v 1.4 2007/02/28 01:02:34 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseAuthorizationIdentifier;
+import org.eclipse.datatools.modelbase.sql.accesscontrol.Group;
+import org.eclipse.datatools.modelbase.sql.accesscontrol.User;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseGroup()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseGroup extends User, Group, SybaseAuthorizationIdentifier {
+} // SybaseASABaseGroup
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseIndex.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseIndex.java
new file mode 100644
index 0000000..ee49d23
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseIndex.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseIndex.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.constraints.Index;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Index</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseIndex#getDbSpace <em>Db Space</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseIndex()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseIndex extends Index
+{
+    /**
+     * Returns the value of the '<em><b>Db Space</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Db Space</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Db Space</em>' reference.
+     * @see #setDbSpace(SybaseASABaseDBSpace)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseIndex_DbSpace()
+     * @model required="true"
+     * @generated
+     */
+	SybaseASABaseDBSpace getDbSpace();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseIndex#getDbSpace <em>Db Space</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Db Space</em>' reference.
+     * @see #getDbSpace()
+     * @generated
+     */
+	void setDbSpace(SybaseASABaseDBSpace value);
+
+} // SybaseASABaseIndex
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseParameter.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseParameter.java
new file mode 100644
index 0000000..2974e48
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseParameter.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseParameter.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseParameter;
+
+import org.eclipse.datatools.modelbase.sql.routines.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseParameter#getParmType <em>Parm Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseParameter()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseParameter extends Parameter, SybaseParameter 
+{
+    /**
+     * Returns the value of the '<em><b>Parm Type</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.ParameterType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Parm Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Parm Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.ParameterType
+     * @see #setParmType(ParameterType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseParameter_ParmType()
+     * @model
+     * @generated
+     */
+	ParameterType getParmType();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseParameter#getParmType <em>Parm Type</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Parm Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.ParameterType
+     * @see #getParmType()
+     * @generated
+     */
+	void setParmType(ParameterType value);
+
+} // SybaseASABaseParameter
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePredefinedDataType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePredefinedDataType.java
new file mode 100644
index 0000000..19c8f53
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePredefinedDataType.java
@@ -0,0 +1,61 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABasePredefinedDataType.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.datatypes.DataType;
+import org.eclipse.datatools.modelbase.sql.datatypes.PredefinedDataType;
+import org.eclipse.datatools.modelbase.sql.datatypes.SQLDataType;
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Predefined Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType#getDatabase <em>Database</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABasePredefinedDataType()
+ * @model
+ * @generated
+ */
+public interface SybaseASABasePredefinedDataType extends PredefinedDataType, SQLDataType, DataType, SQLObject
+{
+    /**
+     * Returns the value of the '<em><b>Database</b></em>' reference.
+     * The default value is <code>""</code>.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDataTypes <em>Data Types</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Database</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Database</em>' reference.
+     * @see #setDatabase(SybaseASABaseDatabase)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABasePredefinedDataType_Database()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getDataTypes
+     * @model opposite="dataTypes" required="true"
+     * @generated
+     */
+	SybaseASABaseDatabase getDatabase();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABasePredefinedDataType#getDatabase <em>Database</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Database</em>' reference.
+     * @see #getDatabase()
+     * @generated
+     */
+	void setDatabase(SybaseASABaseDatabase value);
+
+} // SybaseASABasePredefinedDataType
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePrimaryKey.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePrimaryKey.java
new file mode 100644
index 0000000..14a87df
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABasePrimaryKey.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABasePrimaryKey.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.constraints.PrimaryKey;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Primary Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABasePrimaryKey()
+ * @model
+ * @generated
+ */
+public interface SybaseASABasePrimaryKey extends SybaseASABaseUniqueConstraint, PrimaryKey {
+} // SybaseASABasePrimaryKey
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProcedure.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProcedure.java
new file mode 100644
index 0000000..9e08dc3
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProcedure.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseProcedure.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseRoutine;
+
+import org.eclipse.datatools.modelbase.sql.routines.Procedure;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Procedure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseProcedure#isOnExceptionResume <em>On Exception Resume</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseProcedure()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseProcedure extends Procedure, SybaseRoutine
+{
+    /**
+     * Returns the value of the '<em><b>On Exception Resume</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Exception Resume</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>On Exception Resume</em>' attribute.
+     * @see #setOnExceptionResume(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseProcedure_OnExceptionResume()
+     * @model
+     * @generated
+     */
+	boolean isOnExceptionResume();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseProcedure#isOnExceptionResume <em>On Exception Resume</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>On Exception Resume</em>' attribute.
+     * @see #isOnExceptionResume()
+     * @generated
+     */
+	void setOnExceptionResume(boolean value);
+
+} // SybaseASABaseProcedure
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProxyTable.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProxyTable.java
new file mode 100644
index 0000000..a461243
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseProxyTable.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseProxyTable.java,v 1.3 2007/02/08 01:41:32 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Proxy Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseProxyTable#getRemoteObjectLocation <em>Remote Object Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseProxyTable()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseProxyTable extends SybaseASABaseTable
+{
+    /**
+     * Returns the value of the '<em><b>Remote Object Location</b></em>' attribute.
+     * The default value is <code>""</code>.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Remote Object Location</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Remote Object Location</em>' attribute.
+     * @see #setRemoteObjectLocation(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseProxyTable_RemoteObjectLocation()
+     * @model default=""
+     * @generated
+     */
+	String getRemoteObjectLocation();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseProxyTable#getRemoteObjectLocation <em>Remote Object Location</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Remote Object Location</em>' attribute.
+     * @see #getRemoteObjectLocation()
+     * @generated
+     */
+	void setRemoteObjectLocation(String value);
+
+} // SybaseASABaseProxyTable
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseRemoteProcedure.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseRemoteProcedure.java
new file mode 100644
index 0000000..f4309e8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseRemoteProcedure.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseRemoteProcedure.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Remote Procedure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseRemoteProcedure#getLocation <em>Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseRemoteProcedure()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseRemoteProcedure extends SybaseASABaseProcedure
+{
+    /**
+     * Returns the value of the '<em><b>Location</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Location</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Location</em>' attribute.
+     * @see #setLocation(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseRemoteProcedure_Location()
+     * @model
+     * @generated
+     */
+	String getLocation();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseRemoteProcedure#getLocation <em>Location</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Location</em>' attribute.
+     * @see #getLocation()
+     * @generated
+     */
+	void setLocation(String value);
+
+} // SybaseASABaseRemoteProcedure
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseSchema.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseSchema.java
new file mode 100644
index 0000000..c6273eb
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseSchema.java
@@ -0,0 +1,65 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseSchema.java,v 1.2 2007/02/08 01:41:32 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.schema.Schema;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Schema</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseSchema()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseSchema extends Schema
+{
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model kind="operation" dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+    List getNormalTables();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model kind="operation" dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+    List getTempTables();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model kind="operation" dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+    List getSystemTables();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model kind="operation" dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+    List getProxyTables();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+    List getViewTables(boolean systemFlag);
+
+} // SybaseASABaseSchema
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTable.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTable.java
new file mode 100644
index 0000000..04bd5bc
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTable.java
@@ -0,0 +1,66 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseTable.java,v 1.3 2007/02/08 01:41:35 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import java.util.List;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseBaseTable;
+import org.eclipse.datatools.modelbase.sql.tables.PersistentTable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTable#getDbSpace <em>Db Space</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTable()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseTable extends PersistentTable, SybaseBaseTable
+{
+    /**
+     * Returns the value of the '<em><b>Db Space</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Db Space</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Db Space</em>' reference.
+     * @see #setDbSpace(SybaseASABaseDBSpace)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTable_DbSpace()
+     * @model required="true"
+     * @generated
+     */
+	SybaseASABaseDBSpace getDbSpace();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTable#getDbSpace <em>Db Space</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Db Space</em>' reference.
+     * @see #getDbSpace()
+     * @generated
+     */
+	void setDbSpace(SybaseASABaseDBSpace value);
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @model kind="operation" dataType="org.eclipse.datatools.modelbase.sql.schema.List" many="false"
+     * @generated
+     */
+	List getCheckConstraints();
+
+} // SybaseASABaseTable
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTempTable.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTempTable.java
new file mode 100644
index 0000000..1eeb7f8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTempTable.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseTempTable.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.tables.TemporaryTable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Temp Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTempTable#getTransactionOption <em>Transaction Option</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTempTable()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseTempTable extends TemporaryTable
+{
+    /**
+     * Returns the value of the '<em><b>Transaction Option</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TransactionOption}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Transaction Option</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Transaction Option</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TransactionOption
+     * @see #setTransactionOption(TransactionOption)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTempTable_TransactionOption()
+     * @model
+     * @generated
+     */
+	TransactionOption getTransactionOption();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTempTable#getTransactionOption <em>Transaction Option</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Transaction Option</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TransactionOption
+     * @see #getTransactionOption()
+     * @generated
+     */
+	void setTransactionOption(TransactionOption value);
+
+} // SybaseASABaseTempTable
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTrigger.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTrigger.java
new file mode 100644
index 0000000..1a4d043
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseTrigger.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseTrigger.java,v 1.4 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.tables.Trigger;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The super actionTime attribute is deprecated and instead of sybaseASABaseActionTime.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getOrder <em>Order</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getSybaseASABaseActionTime <em>Sybase ASA Base Action Time</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getRemoteName <em>Remote Name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#isUpdateColumnType <em>Update Column Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTrigger()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseTrigger extends Trigger
+{
+    /**
+     * Returns the value of the '<em><b>Order</b></em>' attribute.
+     * The default value is <code>"1"</code>.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Order</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Order</em>' attribute.
+     * @see #setOrder(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTrigger_Order()
+     * @model default="1"
+     * @generated
+     */
+	int getOrder();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getOrder <em>Order</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Order</em>' attribute.
+     * @see #getOrder()
+     * @generated
+     */
+	void setOrder(int value);
+
+    /**
+     * Returns the value of the '<em><b>Sybase ASA Base Action Time</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseActionTime}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Sybase ASA Base Action Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Sybase ASA Base Action Time</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseActionTime
+     * @see #setSybaseASABaseActionTime(SybaseASABaseActionTime)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTrigger_SybaseASABaseActionTime()
+     * @model
+     * @generated
+     */
+	SybaseASABaseActionTime getSybaseASABaseActionTime();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getSybaseASABaseActionTime <em>Sybase ASA Base Action Time</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Sybase ASA Base Action Time</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseActionTime
+     * @see #getSybaseASABaseActionTime()
+     * @generated
+     */
+	void setSybaseASABaseActionTime(SybaseASABaseActionTime value);
+
+    /**
+     * Returns the value of the '<em><b>Remote Name</b></em>' attribute.
+     * The default value is <code>""</code>.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Remote Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Remote Name</em>' attribute.
+     * @see #setRemoteName(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTrigger_RemoteName()
+     * @model default=""
+     * @generated
+     */
+	String getRemoteName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#getRemoteName <em>Remote Name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Remote Name</em>' attribute.
+     * @see #getRemoteName()
+     * @generated
+     */
+	void setRemoteName(String value);
+
+    /**
+     * Returns the value of the '<em><b>Update Column Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * exclusive with other trigger event types. If set to true, triggerColumn cannot be empty
+     * <!-- end-model-doc -->
+     * @return the value of the '<em>Update Column Type</em>' attribute.
+     * @see #setUpdateColumnType(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseTrigger_UpdateColumnType()
+     * @model
+     * @generated
+     */
+    boolean isUpdateColumnType();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseTrigger#isUpdateColumnType <em>Update Column Type</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Update Column Type</em>' attribute.
+     * @see #isUpdateColumnType()
+     * @generated
+     */
+    void setUpdateColumnType(boolean value);
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * delegates to getOldRow or getOldTable based on the action granularity
+     * <!-- end-model-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+    String getOldName();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * delegates to getNewRow or getNewTable based on the action granularity
+     * <!-- end-model-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+    String getNewName();
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * delegates to setOldRow or setOldTable based on the action granularity
+     * <!-- end-model-doc -->
+     * @model
+     * @generated
+     */
+    void setOldName(String oldName);
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * delegates to setNewRow or setNewTable based on the action granularity
+     * <!-- end-model-doc -->
+     * @model
+     * @generated
+     */
+    void setNewName(String newName);
+
+} // SybaseASABaseTrigger
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUniqueConstraint.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUniqueConstraint.java
new file mode 100644
index 0000000..08d264a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUniqueConstraint.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseUniqueConstraint.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.constraints.UniqueConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base Unique Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUniqueConstraint#isClustered <em>Clustered</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUniqueConstraint()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseUniqueConstraint extends UniqueConstraint
+{
+    /**
+     * Returns the value of the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Clustered</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Clustered</em>' attribute.
+     * @see #setClustered(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUniqueConstraint_Clustered()
+     * @model
+     * @generated
+     */
+	boolean isClustered();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUniqueConstraint#isClustered <em>Clustered</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Clustered</em>' attribute.
+     * @see #isClustered()
+     * @generated
+     */
+	void setClustered(boolean value);
+
+} // SybaseASABaseUniqueConstraint
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUser.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUser.java
new file mode 100644
index 0000000..48dc83c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUser.java
@@ -0,0 +1,25 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseUser.java,v 1.1 2007/02/28 01:02:33 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseAuthorizationIdentifier;
+
+import org.eclipse.datatools.modelbase.sql.accesscontrol.User;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base User</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUser()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseUser extends User, SybaseAuthorizationIdentifier
+{
+} // SybaseASABaseUser
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUserDefinedType.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUserDefinedType.java
new file mode 100644
index 0000000..0654480
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseUserDefinedType.java
@@ -0,0 +1,107 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseUserDefinedType.java,v 1.3 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.datatypes.Domain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base User Defined Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUserDefinedType#getNullable <em>Nullable</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUserDefinedType#getDefaultType <em>Default Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUserDefinedType()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseUserDefinedType extends Domain
+{
+    /**
+     * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.AllowNullType}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Nullable</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Nullable</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.AllowNullType
+     * @see #setNullable(AllowNullType)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUserDefinedType_Nullable()
+     * @model
+     * @generated
+     */
+	AllowNullType getNullable();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUserDefinedType#getNullable <em>Nullable</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Nullable</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.AllowNullType
+     * @see #getNullable()
+     * @generated
+     */
+	void setNullable(AllowNullType value);
+
+    /**
+     * Returns the value of the '<em><b>Default Type</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault}.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Default Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Default Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #setDefaultType(TypeOfDefault)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseUserDefinedType_DefaultType()
+     * @model
+     * @generated
+     */
+	TypeOfDefault getDefaultType();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseUserDefinedType#getDefaultType <em>Default Type</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Default Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #getDefaultType()
+     * @generated
+     */
+	void setDefaultType(TypeOfDefault value);
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+	boolean isLiteralDefault();
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * <!-- begin-model-doc -->
+     * -1 stand for default value
+     * <!-- end-model-doc -->
+     * @model kind="operation"
+     * @generated
+     */
+	int getGlobalIncrementPartitionSize();
+
+} // SybaseASABaseUserDefinedType
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseViewTable.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseViewTable.java
new file mode 100644
index 0000000..6ba9884
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASABaseViewTable.java
@@ -0,0 +1,86 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASABaseViewTable.java,v 1.3 2007/02/08 01:41:35 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybaseViewTable;
+
+import org.eclipse.datatools.modelbase.sql.statements.SQLStatement;
+import org.eclipse.datatools.modelbase.sql.tables.ViewTable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Base View Table</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseViewTable#isWithCheckOption <em>With Check Option</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseViewTable#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseViewTable()
+ * @model
+ * @generated
+ */
+public interface SybaseASABaseViewTable extends SybaseViewTable
+{
+    /**
+     * Returns the value of the '<em><b>With Check Option</b></em>' attribute.
+     * The default value is <code>"false"</code>.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>With Check Option</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>With Check Option</em>' attribute.
+     * @see #setWithCheckOption(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseViewTable_WithCheckOption()
+     * @model default="false"
+     * @generated
+     */
+	boolean isWithCheckOption();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseViewTable#isWithCheckOption <em>With Check Option</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>With Check Option</em>' attribute.
+     * @see #isWithCheckOption()
+     * @generated
+     */
+	void setWithCheckOption(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Statement</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Statement</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Statement</em>' reference.
+     * @see #setStatement(SQLStatement)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASABaseViewTable_Statement()
+     * @model
+     * @generated
+     */
+	SQLStatement getStatement();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseViewTable#getStatement <em>Statement</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Statement</em>' reference.
+     * @see #getStatement()
+     * @generated
+     */
+	void setStatement(SQLStatement value);
+
+} // SybaseASABaseViewTable
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASADefaultWrapper.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASADefaultWrapper.java
new file mode 100644
index 0000000..7c95a84
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASADefaultWrapper.java
@@ -0,0 +1,178 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASADefaultWrapper.java,v 1.2 2007/02/08 01:41:33 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Default Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#isIsLiteral <em>Is Literal</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getPartitionSize <em>Partition Size</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASADefaultWrapper()
+ * @model
+ * @generated
+ */
+public interface SybaseASADefaultWrapper extends EObject
+{
+    public static final String[] STRING_TYPE_SYSTEM_DEFAULTS  = new String[]
+                                                              {
+        "timestamp", "utc timestamp", "last user", "current date", "current time", "current timestamp",
+        "current utc timestamp", "current user", "current publisher", "current database"
+                                                              };
+    public static final String[] NUMERIC_TYPE_SYSTEM_DEFAULTS = new String[]
+                                                              {
+        "autoincrement", "global autoincrement"
+                                                              };
+    public static final String[] TIME_TYPE_SYSTEM_DEFAULTS    = new String[]
+                                                              {
+                                                                  "current time"
+                                                              };
+    public static final String[] DATE_TYPE_SYSTEM_DEFAULTS    = new String[]
+                                                              {
+                                                                  "current date"
+                                                              };
+    public static final String[] TS_TYPE_SYSTEM_DEFAULTS      = new String[]
+                                                              {
+        "current timestamp", "current utc timestamp", "timestamp", "utc timestamp"
+                                                              };
+    public static final String[] BINARY_TYPE_SYSTEM_DEFAULTS  = new String[]
+                                                              {
+        "current database", "current user", "current publisher", "last user"
+                                                              };
+    public static final String   GLOBAL_AUTOINCREMENT         = "global autoincrement";
+    
+    /**
+     * Returns the value of the '<em><b>Value</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+     * here...
+     * </p>
+     * <!-- end-user-doc -->
+     * @return the value of the '<em>Value</em>' attribute.
+     * @see #setValue(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASADefaultWrapper_Value()
+     * @model
+     * @generated
+     */
+    String getValue();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getValue <em>Value</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Value</em>' attribute.
+     * @see #getValue()
+     * @generated
+     */
+    void setValue(String value);
+
+    /**
+     * Returns the value of the '<em><b>Is Literal</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Is Literal</em>' attribute isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * @return the value of the '<em>Is Literal</em>' attribute.
+     * @see #setIsLiteral(boolean)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASADefaultWrapper_IsLiteral()
+     * @model
+     * @generated
+     */
+    boolean isIsLiteral();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#isIsLiteral <em>Is Literal</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Is Literal</em>' attribute.
+     * @see #isIsLiteral()
+     * @generated
+     */
+    void setIsLiteral(boolean value);
+
+    /**
+     * Returns the value of the '<em><b>Partition Size</b></em>' attribute.
+     * The default value is <code>"-1"</code>.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Partition Size</em>' attribute isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * @return the value of the '<em>Partition Size</em>' attribute.
+     * @see #setPartitionSize(int)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASADefaultWrapper_PartitionSize()
+     * @model default="-1"
+     * @generated
+     */
+    int getPartitionSize();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getPartitionSize <em>Partition Size</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Partition Size</em>' attribute.
+     * @see #getPartitionSize()
+     * @generated
+     */
+    void setPartitionSize(int value);
+
+    /**
+     * Returns the value of the '<em><b>Type</b></em>' attribute.
+     * The literals are from the enumeration {@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault}.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Type</em>' attribute isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * @return the value of the '<em>Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #setType(TypeOfDefault)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASADefaultWrapper_Type()
+     * @model
+     * @generated
+     */
+    TypeOfDefault getType();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASADefaultWrapper#getType <em>Type</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Type</em>' attribute.
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.TypeOfDefault
+     * @see #getType()
+     * @generated
+     */
+    void setType(TypeOfDefault value);
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @model
+     * @generated
+     */
+    void parse();
+
+    public String getRawValue();
+    
+    public boolean isSystemDefault();
+} // SybaseASADefaultWrapper
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASAWebService.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASAWebService.java
new file mode 100644
index 0000000..e06882f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseASAWebService.java
@@ -0,0 +1,273 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseASAWebService.java,v 1.3 2007/02/08 01:41:34 linsong Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sybase ASA Web Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getService_id <em>Service id</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getService_type <em>Service type</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getAuth_required <em>Auth required</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getSecure_required <em>Secure required</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getUrl_path <em>Url path</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getUser_name <em>User name</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getParameter <em>Parameter</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getStatement <em>Statement</em>}</li>
+ *   <li>{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getDatabase <em>Database</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService()
+ * @model
+ * @generated
+ */
+public interface SybaseASAWebService extends SQLObject
+{
+    /**
+     * Returns the value of the '<em><b>Service id</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Service id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Service id</em>' attribute.
+     * @see #setService_id(long)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Service_id()
+     * @model
+     * @generated
+     */
+	long getService_id();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getService_id <em>Service id</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Service id</em>' attribute.
+     * @see #getService_id()
+     * @generated
+     */
+	void setService_id(long value);
+
+    /**
+     * Returns the value of the '<em><b>Service type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Service type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Service type</em>' attribute.
+     * @see #setService_type(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Service_type()
+     * @model
+     * @generated
+     */
+	String getService_type();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getService_type <em>Service type</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Service type</em>' attribute.
+     * @see #getService_type()
+     * @generated
+     */
+	void setService_type(String value);
+
+    /**
+     * Returns the value of the '<em><b>Auth required</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Auth required</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Auth required</em>' attribute.
+     * @see #setAuth_required(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Auth_required()
+     * @model
+     * @generated
+     */
+	String getAuth_required();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getAuth_required <em>Auth required</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Auth required</em>' attribute.
+     * @see #getAuth_required()
+     * @generated
+     */
+	void setAuth_required(String value);
+
+    /**
+     * Returns the value of the '<em><b>Secure required</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Secure required</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Secure required</em>' attribute.
+     * @see #setSecure_required(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Secure_required()
+     * @model
+     * @generated
+     */
+	String getSecure_required();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getSecure_required <em>Secure required</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Secure required</em>' attribute.
+     * @see #getSecure_required()
+     * @generated
+     */
+	void setSecure_required(String value);
+
+    /**
+     * Returns the value of the '<em><b>Url path</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Url path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Url path</em>' attribute.
+     * @see #setUrl_path(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Url_path()
+     * @model
+     * @generated
+     */
+	String getUrl_path();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getUrl_path <em>Url path</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Url path</em>' attribute.
+     * @see #getUrl_path()
+     * @generated
+     */
+	void setUrl_path(String value);
+
+    /**
+     * Returns the value of the '<em><b>User name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>User name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>User name</em>' attribute.
+     * @see #setUser_name(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_User_name()
+     * @model
+     * @generated
+     */
+	String getUser_name();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getUser_name <em>User name</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>User name</em>' attribute.
+     * @see #getUser_name()
+     * @generated
+     */
+	void setUser_name(String value);
+
+    /**
+     * Returns the value of the '<em><b>Parameter</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Parameter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Parameter</em>' attribute.
+     * @see #setParameter(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Parameter()
+     * @model
+     * @generated
+     */
+	String getParameter();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getParameter <em>Parameter</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Parameter</em>' attribute.
+     * @see #getParameter()
+     * @generated
+     */
+	void setParameter(String value);
+
+    /**
+     * Returns the value of the '<em><b>Statement</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Statement</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Statement</em>' attribute.
+     * @see #setStatement(String)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Statement()
+     * @model
+     * @generated
+     */
+	String getStatement();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getStatement <em>Statement</em>}' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Statement</em>' attribute.
+     * @see #getStatement()
+     * @generated
+     */
+	void setStatement(String value);
+
+    /**
+     * Returns the value of the '<em><b>Database</b></em>' reference.
+     * It is bidirectional and its opposite is '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getWebServices <em>Web Services</em>}'.
+     * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Database</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+     * @return the value of the '<em>Database</em>' reference.
+     * @see #setDatabase(SybaseASABaseDatabase)
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage#getSybaseASAWebService_Database()
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASABaseDatabase#getWebServices
+     * @model opposite="webServices" required="true"
+     * @generated
+     */
+	SybaseASABaseDatabase getDatabase();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseASAWebService#getDatabase <em>Database</em>}' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @param value the new value of the '<em>Database</em>' reference.
+     * @see #getDatabase()
+     * @generated
+     */
+	void setDatabase(SybaseASABaseDatabase value);
+
+} // SybaseASAWebService
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelFactory.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelFactory.java
new file mode 100644
index 0000000..8760e88
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelFactory.java
@@ -0,0 +1,281 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseasabasesqlmodelFactory.java,v 1.4 2007/02/28 01:02:34 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelPackage
+ * @generated
+ */
+public interface SybaseasabasesqlmodelFactory extends EFactory
+{
+    /**
+     * The singleton instance of the factory.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	SybaseasabasesqlmodelFactory eINSTANCE = org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelFactoryImpl.init();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Event</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Event</em>'.
+     * @generated
+     */
+	SybaseASABaseEvent createSybaseASABaseEvent();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Database</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Database</em>'.
+     * @generated
+     */
+	SybaseASABaseDatabase createSybaseASABaseDatabase();
+
+    /**
+     * Returns a new object of class '<em>Encryption Info</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Encryption Info</em>'.
+     * @generated
+     */
+	EncryptionInfo createEncryptionInfo();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base User Defined Type</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base User Defined Type</em>'.
+     * @generated
+     */
+	SybaseASABaseUserDefinedType createSybaseASABaseUserDefinedType();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Predefined Data Type</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Predefined Data Type</em>'.
+     * @generated
+     */
+	SybaseASABasePredefinedDataType createSybaseASABasePredefinedDataType();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Table</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Table</em>'.
+     * @generated
+     */
+	SybaseASABaseTable createSybaseASABaseTable();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Column</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Column</em>'.
+     * @generated
+     */
+	SybaseASABaseColumn createSybaseASABaseColumn();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Unique Constraint</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Unique Constraint</em>'.
+     * @generated
+     */
+	SybaseASABaseUniqueConstraint createSybaseASABaseUniqueConstraint();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Primary Key</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Primary Key</em>'.
+     * @generated
+     */
+	SybaseASABasePrimaryKey createSybaseASABasePrimaryKey();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Foreign Key</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Foreign Key</em>'.
+     * @generated
+     */
+	SybaseASABaseForeignKey createSybaseASABaseForeignKey();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Index</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Index</em>'.
+     * @generated
+     */
+	SybaseASABaseIndex createSybaseASABaseIndex();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base DB Space</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base DB Space</em>'.
+     * @generated
+     */
+	SybaseASABaseDBSpace createSybaseASABaseDBSpace();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base View Table</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base View Table</em>'.
+     * @generated
+     */
+	SybaseASABaseViewTable createSybaseASABaseViewTable();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Function</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Function</em>'.
+     * @generated
+     */
+	SybaseASABaseFunction createSybaseASABaseFunction();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Procedure</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Procedure</em>'.
+     * @generated
+     */
+	SybaseASABaseProcedure createSybaseASABaseProcedure();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Temp Table</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Temp Table</em>'.
+     * @generated
+     */
+	SybaseASABaseTempTable createSybaseASABaseTempTable();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Trigger</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Trigger</em>'.
+     * @generated
+     */
+	SybaseASABaseTrigger createSybaseASABaseTrigger();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Proxy Table</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Proxy Table</em>'.
+     * @generated
+     */
+	SybaseASABaseProxyTable createSybaseASABaseProxyTable();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Column Check Constraint</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Column Check Constraint</em>'.
+     * @generated
+     */
+	SybaseASABaseColumnCheckConstraint createSybaseASABaseColumnCheckConstraint();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Web Service</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Web Service</em>'.
+     * @generated
+     */
+	SybaseASAWebService createSybaseASAWebService();
+
+    /**
+     * Returns a new object of class '<em>Schedule</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Schedule</em>'.
+     * @generated
+     */
+	Schedule createSchedule();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Remote Procedure</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Remote Procedure</em>'.
+     * @generated
+     */
+	SybaseASABaseRemoteProcedure createSybaseASABaseRemoteProcedure();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Parameter</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Parameter</em>'.
+     * @generated
+     */
+	SybaseASABaseParameter createSybaseASABaseParameter();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Group</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Group</em>'.
+     * @generated
+     */
+	SybaseASABaseGroup createSybaseASABaseGroup();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base Schema</em>'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base Schema</em>'.
+     * @generated
+     */
+    SybaseASABaseSchema createSybaseASABaseSchema();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Base User</em>'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Base User</em>'.
+     * @generated
+     */
+    SybaseASABaseUser createSybaseASABaseUser();
+
+    /**
+     * Returns a new object of class '<em>Sybase ASA Default Wrapper</em>'.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return a new object of class '<em>Sybase ASA Default Wrapper</em>'.
+     * @generated
+     */
+	SybaseASADefaultWrapper createSybaseASADefaultWrapper();
+
+    /**
+     * Returns the package supported by this factory.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @return the package supported by this factory.
+     * @generated
+     */
+	SybaseasabasesqlmodelPackage getSybaseasabasesqlmodelPackage();
+
+} //SybaseasabasesqlmodelFactory
diff --git a/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelPackage.java b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelPackage.java
new file mode 100644
index 0000000..2f07311
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.sybase.asa.models/src/org/eclipse/datatools/enablement/sybase/asa/models/sybaseasabasesqlmodel/SybaseasabasesqlmodelPackage.java
@@ -0,0 +1,6764 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SybaseasabasesqlmodelPackage.java,v 1.5 2007/02/28 02:24:49 hcao Exp $
+ */
+package org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel;
+
+import org.eclipse.datatools.enablement.sybase.models.sybasesqlmodel.SybasesqlmodelPackage;
+
+import org.eclipse.datatools.modelbase.sql.accesscontrol.SQLAccessControlPackage;
+import org.eclipse.datatools.modelbase.sql.constraints.SQLConstraintsPackage;
+import org.eclipse.datatools.modelbase.sql.datatypes.SQLDataTypesPackage;
+import org.eclipse.datatools.modelbase.sql.routines.SQLRoutinesPackage;
+import org.eclipse.datatools.modelbase.sql.schema.SQLSchemaPackage;
+import org.eclipse.datatools.modelbase.sql.tables.SQLTablesPackage;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.SybaseasabasesqlmodelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SybaseasabasesqlmodelPackage extends EPackage
+{
+    /**
+     * The package name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	String eNAME = "sybaseasabasesqlmodel";
+
+    /**
+     * The package namespace URI.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	String eNS_URI = "http:///org/eclipse/datatools/connectivity/sqm/sybase/asa/sybaseasabasesqlmodel.ecore";
+
+    /**
+     * The package namespace name.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	String eNS_PREFIX = "SybaseASABaseModel";
+
+    /**
+     * The singleton instance of the package.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	SybaseasabasesqlmodelPackage eINSTANCE = org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl.init();
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseEventImpl <em>Sybase ASA Base Event</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseEventImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseEvent()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_EVENT = 0;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__EANNOTATIONS = SQLSchemaPackage.EVENT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__NAME = SQLSchemaPackage.EVENT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__DEPENDENCIES = SQLSchemaPackage.EVENT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__DESCRIPTION = SQLSchemaPackage.EVENT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__LABEL = SQLSchemaPackage.EVENT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__COMMENTS = SQLSchemaPackage.EVENT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>For</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__FOR = SQLSchemaPackage.EVENT__FOR;
+
+    /**
+     * The feature id for the '<em><b>Condition</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__CONDITION = SQLSchemaPackage.EVENT__CONDITION;
+
+    /**
+     * The feature id for the '<em><b>Action</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__ACTION = SQLSchemaPackage.EVENT__ACTION;
+
+    /**
+     * The feature id for the '<em><b>Enabled</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__ENABLED = SQLSchemaPackage.EVENT__ENABLED;
+
+    /**
+     * The feature id for the '<em><b>Database</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__DATABASE = SQLSchemaPackage.EVENT__DATABASE;
+
+    /**
+     * The feature id for the '<em><b>Event Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__EVENT_TYPE = SQLSchemaPackage.EVENT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Event Creator</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__EVENT_CREATOR = SQLSchemaPackage.EVENT_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Location</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__LOCATION = SQLSchemaPackage.EVENT_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Schedules</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT__SCHEDULES = SQLSchemaPackage.EVENT_FEATURE_COUNT + 3;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Event</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_EVENT_FEATURE_COUNT = SQLSchemaPackage.EVENT_FEATURE_COUNT + 4;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseDatabaseImpl <em>Sybase ASA Base Database</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseDatabaseImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseDatabase()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_DATABASE = 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__EANNOTATIONS = SQLSchemaPackage.DATABASE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__NAME = SQLSchemaPackage.DATABASE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__DEPENDENCIES = SQLSchemaPackage.DATABASE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__DESCRIPTION = SQLSchemaPackage.DATABASE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__LABEL = SQLSchemaPackage.DATABASE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__COMMENTS = SQLSchemaPackage.DATABASE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Vendor</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__VENDOR = SQLSchemaPackage.DATABASE__VENDOR;
+
+    /**
+     * The feature id for the '<em><b>Version</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__VERSION = SQLSchemaPackage.DATABASE__VERSION;
+
+    /**
+     * The feature id for the '<em><b>Schemas</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__SCHEMAS = SQLSchemaPackage.DATABASE__SCHEMAS;
+
+    /**
+     * The feature id for the '<em><b>Events</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__EVENTS = SQLSchemaPackage.DATABASE__EVENTS;
+
+    /**
+     * The feature id for the '<em><b>Catalogs</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__CATALOGS = SQLSchemaPackage.DATABASE__CATALOGS;
+
+    /**
+     * The feature id for the '<em><b>Authorization Ids</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__AUTHORIZATION_IDS = SQLSchemaPackage.DATABASE__AUTHORIZATION_IDS;
+
+    /**
+     * The feature id for the '<em><b>Data Types</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__DATA_TYPES = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Web Services</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__WEB_SERVICES = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Db Spaces</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__DB_SPACES = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Database File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__DATABASE_FILE_NAME = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 3;
+
+    /**
+     * The feature id for the '<em><b>Log File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__LOG_FILE_NAME = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 4;
+
+    /**
+     * The feature id for the '<em><b>Mirror File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__MIRROR_FILE_NAME = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 5;
+
+    /**
+     * The feature id for the '<em><b>Case Sensitive</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__CASE_SENSITIVE = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 6;
+
+    /**
+     * The feature id for the '<em><b>Collation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__COLLATION = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 7;
+
+    /**
+     * The feature id for the '<em><b>Blank Padding On</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__BLANK_PADDING_ON = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 8;
+
+    /**
+     * The feature id for the '<em><b>Check Sum On</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__CHECK_SUM_ON = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 9;
+
+    /**
+     * The feature id for the '<em><b>JConnect On</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__JCONNECT_ON = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 10;
+
+    /**
+     * The feature id for the '<em><b>Page Size</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__PAGE_SIZE = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 11;
+
+    /**
+     * The feature id for the '<em><b>Encryption Info</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__ENCRYPTION_INFO = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 12;
+
+    /**
+     * The feature id for the '<em><b>Java Support</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__JAVA_SUPPORT = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 13;
+
+    /**
+     * The feature id for the '<em><b>Password Case Sensitive</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE__PASSWORD_CASE_SENSITIVE = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 14;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Database</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DATABASE_FEATURE_COUNT = SQLSchemaPackage.DATABASE_FEATURE_COUNT + 15;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.EncryptionInfoImpl <em>Encryption Info</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.EncryptionInfoImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getEncryptionInfo()
+     * @generated
+     */
+	int ENCRYPTION_INFO = 3;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseUserDefinedTypeImpl <em>Sybase ASA Base User Defined Type</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseUserDefinedTypeImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseUserDefinedType()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE = 4;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABasePredefinedDataTypeImpl <em>Sybase ASA Base Predefined Data Type</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABasePredefinedDataTypeImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABasePredefinedDataType()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE = 5;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTableImpl <em>Sybase ASA Base Table</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTableImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseTable()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_TABLE = 6;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseColumnImpl <em>Sybase ASA Base Column</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseColumnImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseColumn()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_COLUMN = 7;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseUniqueConstraintImpl <em>Sybase ASA Base Unique Constraint</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseUniqueConstraintImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseUniqueConstraint()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT = 8;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABasePrimaryKeyImpl <em>Sybase ASA Base Primary Key</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABasePrimaryKeyImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABasePrimaryKey()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY = 9;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseForeignKeyImpl <em>Sybase ASA Base Foreign Key</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseForeignKeyImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseForeignKey()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY = 10;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseIndexImpl <em>Sybase ASA Base Index</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseIndexImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseIndex()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_INDEX = 11;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseDBSpaceImpl <em>Sybase ASA Base DB Space</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseDBSpaceImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseDBSpace()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_DB_SPACE = 12;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseViewTableImpl <em>Sybase ASA Base View Table</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseViewTableImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseViewTable()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE = 13;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseFunctionImpl <em>Sybase ASA Base Function</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseFunctionImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseFunction()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_FUNCTION = 14;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseProcedureImpl <em>Sybase ASA Base Procedure</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseProcedureImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseProcedure()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_PROCEDURE = 15;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTempTableImpl <em>Sybase ASA Base Temp Table</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTempTableImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseTempTable()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE = 16;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTriggerImpl <em>Sybase ASA Base Trigger</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseTriggerImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseTrigger()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_TRIGGER = 17;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseProxyTableImpl <em>Sybase ASA Base Proxy Table</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseProxyTableImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseProxyTable()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE = 18;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseColumnCheckConstraintImpl <em>Sybase ASA Base Column Check Constraint</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseColumnCheckConstraintImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseColumnCheckConstraint()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT = 19;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASAWebServiceImpl <em>Sybase ASA Web Service</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASAWebServiceImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASAWebService()
+     * @generated
+     */
+	int SYBASE_ASA_WEB_SERVICE = 2;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__EANNOTATIONS = SQLSchemaPackage.SQL_OBJECT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__NAME = SQLSchemaPackage.SQL_OBJECT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__DEPENDENCIES = SQLSchemaPackage.SQL_OBJECT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__DESCRIPTION = SQLSchemaPackage.SQL_OBJECT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__LABEL = SQLSchemaPackage.SQL_OBJECT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__COMMENTS = SQLSchemaPackage.SQL_OBJECT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Service id</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__SERVICE_ID = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Service type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__SERVICE_TYPE = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Auth required</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__AUTH_REQUIRED = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Secure required</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__SECURE_REQUIRED = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 3;
+
+    /**
+     * The feature id for the '<em><b>Url path</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__URL_PATH = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 4;
+
+    /**
+     * The feature id for the '<em><b>User name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__USER_NAME = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 5;
+
+    /**
+     * The feature id for the '<em><b>Parameter</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__PARAMETER = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 6;
+
+    /**
+     * The feature id for the '<em><b>Statement</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__STATEMENT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 7;
+
+    /**
+     * The feature id for the '<em><b>Database</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE__DATABASE = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 8;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Web Service</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_WEB_SERVICE_FEATURE_COUNT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 9;
+
+    /**
+     * The feature id for the '<em><b>Encrypted Table</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int ENCRYPTION_INFO__ENCRYPTED_TABLE = 0;
+
+    /**
+     * The feature id for the '<em><b>Encryption Key</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int ENCRYPTION_INFO__ENCRYPTION_KEY = 1;
+
+    /**
+     * The feature id for the '<em><b>Algorithm</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int ENCRYPTION_INFO__ALGORITHM = 2;
+
+    /**
+     * The number of structural features of the '<em>Encryption Info</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int ENCRYPTION_INFO_FEATURE_COUNT = 3;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__EANNOTATIONS = SQLDataTypesPackage.DOMAIN__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__NAME = SQLDataTypesPackage.DOMAIN__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__DEPENDENCIES = SQLDataTypesPackage.DOMAIN__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__DESCRIPTION = SQLDataTypesPackage.DOMAIN__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__LABEL = SQLDataTypesPackage.DOMAIN__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__COMMENTS = SQLDataTypesPackage.DOMAIN__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__SCHEMA = SQLDataTypesPackage.DOMAIN__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Ordering</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__ORDERING = SQLDataTypesPackage.DOMAIN__ORDERING;
+
+    /**
+     * The feature id for the '<em><b>Predefined Representation</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__PREDEFINED_REPRESENTATION = SQLDataTypesPackage.DOMAIN__PREDEFINED_REPRESENTATION;
+
+    /**
+     * The feature id for the '<em><b>Constraint</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__CONSTRAINT = SQLDataTypesPackage.DOMAIN__CONSTRAINT;
+
+    /**
+     * The feature id for the '<em><b>Default Value</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__DEFAULT_VALUE = SQLDataTypesPackage.DOMAIN__DEFAULT_VALUE;
+
+    /**
+     * The feature id for the '<em><b>Nullable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__NULLABLE = SQLDataTypesPackage.DOMAIN_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Default Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE__DEFAULT_TYPE = SQLDataTypesPackage.DOMAIN_FEATURE_COUNT + 1;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base User Defined Type</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_USER_DEFINED_TYPE_FEATURE_COUNT = SQLDataTypesPackage.DOMAIN_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__EANNOTATIONS = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__NAME = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__DEPENDENCIES = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__DESCRIPTION = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__LABEL = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__COMMENTS = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Primitive Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__PRIMITIVE_TYPE = SQLDataTypesPackage.PREDEFINED_DATA_TYPE__PRIMITIVE_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Database</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE__DATABASE = SQLDataTypesPackage.PREDEFINED_DATA_TYPE_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Predefined Data Type</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PREDEFINED_DATA_TYPE_FEATURE_COUNT = SQLDataTypesPackage.PREDEFINED_DATA_TYPE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__EANNOTATIONS = SQLTablesPackage.PERSISTENT_TABLE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__NAME = SQLTablesPackage.PERSISTENT_TABLE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__DEPENDENCIES = SQLTablesPackage.PERSISTENT_TABLE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__DESCRIPTION = SQLTablesPackage.PERSISTENT_TABLE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__LABEL = SQLTablesPackage.PERSISTENT_TABLE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__COMMENTS = SQLTablesPackage.PERSISTENT_TABLE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Columns</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__COLUMNS = SQLTablesPackage.PERSISTENT_TABLE__COLUMNS;
+
+    /**
+     * The feature id for the '<em><b>Supertable</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__SUPERTABLE = SQLTablesPackage.PERSISTENT_TABLE__SUPERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Subtables</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__SUBTABLES = SQLTablesPackage.PERSISTENT_TABLE__SUBTABLES;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__SCHEMA = SQLTablesPackage.PERSISTENT_TABLE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Udt</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__UDT = SQLTablesPackage.PERSISTENT_TABLE__UDT;
+
+    /**
+     * The feature id for the '<em><b>Triggers</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__TRIGGERS = SQLTablesPackage.PERSISTENT_TABLE__TRIGGERS;
+
+    /**
+     * The feature id for the '<em><b>Index</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__INDEX = SQLTablesPackage.PERSISTENT_TABLE__INDEX;
+
+    /**
+     * The feature id for the '<em><b>Self Ref Column Generation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__SELF_REF_COLUMN_GENERATION = SQLTablesPackage.PERSISTENT_TABLE__SELF_REF_COLUMN_GENERATION;
+
+    /**
+     * The feature id for the '<em><b>Insertable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__INSERTABLE = SQLTablesPackage.PERSISTENT_TABLE__INSERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Updatable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__UPDATABLE = SQLTablesPackage.PERSISTENT_TABLE__UPDATABLE;
+
+    /**
+     * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__CONSTRAINTS = SQLTablesPackage.PERSISTENT_TABLE__CONSTRAINTS;
+
+    /**
+     * The feature id for the '<em><b>Referencing Foreign Keys</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__REFERENCING_FOREIGN_KEYS = SQLTablesPackage.PERSISTENT_TABLE__REFERENCING_FOREIGN_KEYS;
+
+    /**
+     * The feature id for the '<em><b>Db Space</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE__DB_SPACE = SQLTablesPackage.PERSISTENT_TABLE_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Table</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TABLE_FEATURE_COUNT = SQLTablesPackage.PERSISTENT_TABLE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__EANNOTATIONS = SQLTablesPackage.COLUMN__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__NAME = SQLTablesPackage.COLUMN__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__DEPENDENCIES = SQLTablesPackage.COLUMN__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__DESCRIPTION = SQLTablesPackage.COLUMN__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__LABEL = SQLTablesPackage.COLUMN__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__COMMENTS = SQLTablesPackage.COLUMN__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Contained Type</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__CONTAINED_TYPE = SQLTablesPackage.COLUMN__CONTAINED_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Referenced Type</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__REFERENCED_TYPE = SQLTablesPackage.COLUMN__REFERENCED_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Table</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__TABLE = SQLTablesPackage.COLUMN__TABLE;
+
+    /**
+     * The feature id for the '<em><b>Identity Specifier</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__IDENTITY_SPECIFIER = SQLTablesPackage.COLUMN__IDENTITY_SPECIFIER;
+
+    /**
+     * The feature id for the '<em><b>Generate Expression</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__GENERATE_EXPRESSION = SQLTablesPackage.COLUMN__GENERATE_EXPRESSION;
+
+    /**
+     * The feature id for the '<em><b>Implementation Dependent</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__IMPLEMENTATION_DEPENDENT = SQLTablesPackage.COLUMN__IMPLEMENTATION_DEPENDENT;
+
+    /**
+     * The feature id for the '<em><b>Nullable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__NULLABLE = SQLTablesPackage.COLUMN__NULLABLE;
+
+    /**
+     * The feature id for the '<em><b>Default Value</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__DEFAULT_VALUE = SQLTablesPackage.COLUMN__DEFAULT_VALUE;
+
+    /**
+     * The feature id for the '<em><b>Scope Check</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__SCOPE_CHECK = SQLTablesPackage.COLUMN__SCOPE_CHECK;
+
+    /**
+     * The feature id for the '<em><b>Scope Checked</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__SCOPE_CHECKED = SQLTablesPackage.COLUMN__SCOPE_CHECKED;
+
+    /**
+     * The feature id for the '<em><b>Column Constraint</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__COLUMN_CONSTRAINT = SQLTablesPackage.COLUMN_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Type Of Default</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__TYPE_OF_DEFAULT = SQLTablesPackage.COLUMN_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Unique</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__UNIQUE = SQLTablesPackage.COLUMN_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Is Computed Column</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN__IS_COMPUTED_COLUMN = SQLTablesPackage.COLUMN_FEATURE_COUNT + 3;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Column</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_FEATURE_COUNT = SQLTablesPackage.COLUMN_FEATURE_COUNT + 4;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__EANNOTATIONS = SQLConstraintsPackage.UNIQUE_CONSTRAINT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__NAME = SQLConstraintsPackage.UNIQUE_CONSTRAINT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DEPENDENCIES = SQLConstraintsPackage.UNIQUE_CONSTRAINT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DESCRIPTION = SQLConstraintsPackage.UNIQUE_CONSTRAINT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__LABEL = SQLConstraintsPackage.UNIQUE_CONSTRAINT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__COMMENTS = SQLConstraintsPackage.UNIQUE_CONSTRAINT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Deferrable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DEFERRABLE = SQLConstraintsPackage.UNIQUE_CONSTRAINT__DEFERRABLE;
+
+    /**
+     * The feature id for the '<em><b>Initially Deferred</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__INITIALLY_DEFERRED = SQLConstraintsPackage.UNIQUE_CONSTRAINT__INITIALLY_DEFERRED;
+
+    /**
+     * The feature id for the '<em><b>Enforced</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__ENFORCED = SQLConstraintsPackage.UNIQUE_CONSTRAINT__ENFORCED;
+
+    /**
+     * The feature id for the '<em><b>Base Table</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__BASE_TABLE = SQLConstraintsPackage.UNIQUE_CONSTRAINT__BASE_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Members</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__MEMBERS = SQLConstraintsPackage.UNIQUE_CONSTRAINT__MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Foreign Key</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__FOREIGN_KEY = SQLConstraintsPackage.UNIQUE_CONSTRAINT__FOREIGN_KEY;
+
+    /**
+     * The feature id for the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__CLUSTERED = SQLConstraintsPackage.UNIQUE_CONSTRAINT_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Unique Constraint</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_UNIQUE_CONSTRAINT_FEATURE_COUNT = SQLConstraintsPackage.UNIQUE_CONSTRAINT_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__EANNOTATIONS = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__NAME = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__DEPENDENCIES = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__DESCRIPTION = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__LABEL = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__COMMENTS = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Deferrable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__DEFERRABLE = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__DEFERRABLE;
+
+    /**
+     * The feature id for the '<em><b>Initially Deferred</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__INITIALLY_DEFERRED = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__INITIALLY_DEFERRED;
+
+    /**
+     * The feature id for the '<em><b>Enforced</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__ENFORCED = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__ENFORCED;
+
+    /**
+     * The feature id for the '<em><b>Base Table</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__BASE_TABLE = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__BASE_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Members</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__MEMBERS = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Foreign Key</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__FOREIGN_KEY = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__FOREIGN_KEY;
+
+    /**
+     * The feature id for the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY__CLUSTERED = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT__CLUSTERED;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Primary Key</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PRIMARY_KEY_FEATURE_COUNT = SYBASE_ASA_BASE_UNIQUE_CONSTRAINT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__EANNOTATIONS = SQLConstraintsPackage.FOREIGN_KEY__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__NAME = SQLConstraintsPackage.FOREIGN_KEY__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__DEPENDENCIES = SQLConstraintsPackage.FOREIGN_KEY__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__DESCRIPTION = SQLConstraintsPackage.FOREIGN_KEY__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__LABEL = SQLConstraintsPackage.FOREIGN_KEY__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__COMMENTS = SQLConstraintsPackage.FOREIGN_KEY__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Deferrable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__DEFERRABLE = SQLConstraintsPackage.FOREIGN_KEY__DEFERRABLE;
+
+    /**
+     * The feature id for the '<em><b>Initially Deferred</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__INITIALLY_DEFERRED = SQLConstraintsPackage.FOREIGN_KEY__INITIALLY_DEFERRED;
+
+    /**
+     * The feature id for the '<em><b>Enforced</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__ENFORCED = SQLConstraintsPackage.FOREIGN_KEY__ENFORCED;
+
+    /**
+     * The feature id for the '<em><b>Base Table</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__BASE_TABLE = SQLConstraintsPackage.FOREIGN_KEY__BASE_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Members</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__MEMBERS = SQLConstraintsPackage.FOREIGN_KEY__MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Match</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__MATCH = SQLConstraintsPackage.FOREIGN_KEY__MATCH;
+
+    /**
+     * The feature id for the '<em><b>On Update</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__ON_UPDATE = SQLConstraintsPackage.FOREIGN_KEY__ON_UPDATE;
+
+    /**
+     * The feature id for the '<em><b>On Delete</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__ON_DELETE = SQLConstraintsPackage.FOREIGN_KEY__ON_DELETE;
+
+    /**
+     * The feature id for the '<em><b>Unique Constraint</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__UNIQUE_CONSTRAINT = SQLConstraintsPackage.FOREIGN_KEY__UNIQUE_CONSTRAINT;
+
+    /**
+     * The feature id for the '<em><b>Referenced Members</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__REFERENCED_MEMBERS = SQLConstraintsPackage.FOREIGN_KEY__REFERENCED_MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Unique Index</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__UNIQUE_INDEX = SQLConstraintsPackage.FOREIGN_KEY__UNIQUE_INDEX;
+
+    /**
+     * The feature id for the '<em><b>Referenced Table</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__REFERENCED_TABLE = SQLConstraintsPackage.FOREIGN_KEY__REFERENCED_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Role Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__ROLE_NAME = SQLConstraintsPackage.FOREIGN_KEY_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY__CLUSTERED = SQLConstraintsPackage.FOREIGN_KEY_FEATURE_COUNT + 1;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Foreign Key</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FOREIGN_KEY_FEATURE_COUNT = SQLConstraintsPackage.FOREIGN_KEY_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__EANNOTATIONS = SQLConstraintsPackage.INDEX__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__NAME = SQLConstraintsPackage.INDEX__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__DEPENDENCIES = SQLConstraintsPackage.INDEX__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__DESCRIPTION = SQLConstraintsPackage.INDEX__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__LABEL = SQLConstraintsPackage.INDEX__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__COMMENTS = SQLConstraintsPackage.INDEX__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__SCHEMA = SQLConstraintsPackage.INDEX__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Clustered</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__CLUSTERED = SQLConstraintsPackage.INDEX__CLUSTERED;
+
+    /**
+     * The feature id for the '<em><b>Fill Factor</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__FILL_FACTOR = SQLConstraintsPackage.INDEX__FILL_FACTOR;
+
+    /**
+     * The feature id for the '<em><b>Unique</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__UNIQUE = SQLConstraintsPackage.INDEX__UNIQUE;
+
+    /**
+     * The feature id for the '<em><b>System Generated</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__SYSTEM_GENERATED = SQLConstraintsPackage.INDEX__SYSTEM_GENERATED;
+
+    /**
+     * The feature id for the '<em><b>Members</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__MEMBERS = SQLConstraintsPackage.INDEX__MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Table</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__TABLE = SQLConstraintsPackage.INDEX__TABLE;
+
+    /**
+     * The feature id for the '<em><b>Foreign Key</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__FOREIGN_KEY = SQLConstraintsPackage.INDEX__FOREIGN_KEY;
+
+    /**
+     * The feature id for the '<em><b>Included Members</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__INCLUDED_MEMBERS = SQLConstraintsPackage.INDEX__INCLUDED_MEMBERS;
+
+    /**
+     * The feature id for the '<em><b>Db Space</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX__DB_SPACE = SQLConstraintsPackage.INDEX_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Index</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_INDEX_FEATURE_COUNT = SQLConstraintsPackage.INDEX_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__EANNOTATIONS = SQLSchemaPackage.SQL_OBJECT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__NAME = SQLSchemaPackage.SQL_OBJECT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__DEPENDENCIES = SQLSchemaPackage.SQL_OBJECT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__DESCRIPTION = SQLSchemaPackage.SQL_OBJECT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__LABEL = SQLSchemaPackage.SQL_OBJECT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__COMMENTS = SQLSchemaPackage.SQL_OBJECT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>File Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__FILE_NAME = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Database</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE__DATABASE = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 1;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base DB Space</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_DB_SPACE_FEATURE_COUNT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__EANNOTATIONS = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__NAME = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__DEPENDENCIES = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__DESCRIPTION = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__LABEL = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__COMMENTS = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Columns</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__COLUMNS = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__COLUMNS;
+
+    /**
+     * The feature id for the '<em><b>Supertable</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__SUPERTABLE = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__SUPERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Subtables</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__SUBTABLES = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__SUBTABLES;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__SCHEMA = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Udt</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__UDT = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__UDT;
+
+    /**
+     * The feature id for the '<em><b>Triggers</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__TRIGGERS = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__TRIGGERS;
+
+    /**
+     * The feature id for the '<em><b>Index</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__INDEX = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__INDEX;
+
+    /**
+     * The feature id for the '<em><b>Self Ref Column Generation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__SELF_REF_COLUMN_GENERATION = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__SELF_REF_COLUMN_GENERATION;
+
+    /**
+     * The feature id for the '<em><b>Insertable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__INSERTABLE = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__INSERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Updatable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__UPDATABLE = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__UPDATABLE;
+
+    /**
+     * The feature id for the '<em><b>Query Expression</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__QUERY_EXPRESSION = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__QUERY_EXPRESSION;
+
+    /**
+     * The feature id for the '<em><b>Check Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__CHECK_TYPE = SybasesqlmodelPackage.SYBASE_VIEW_TABLE__CHECK_TYPE;
+
+    /**
+     * The feature id for the '<em><b>With Check Option</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__WITH_CHECK_OPTION = SybasesqlmodelPackage.SYBASE_VIEW_TABLE_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Statement</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE__STATEMENT = SybasesqlmodelPackage.SYBASE_VIEW_TABLE_FEATURE_COUNT + 1;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base View Table</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_VIEW_TABLE_FEATURE_COUNT = SybasesqlmodelPackage.SYBASE_VIEW_TABLE_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__EANNOTATIONS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__NAME = SQLRoutinesPackage.USER_DEFINED_FUNCTION__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__DEPENDENCIES = SQLRoutinesPackage.USER_DEFINED_FUNCTION__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__DESCRIPTION = SQLRoutinesPackage.USER_DEFINED_FUNCTION__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__LABEL = SQLRoutinesPackage.USER_DEFINED_FUNCTION__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__COMMENTS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Specific Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__SPECIFIC_NAME = SQLRoutinesPackage.USER_DEFINED_FUNCTION__SPECIFIC_NAME;
+
+    /**
+     * The feature id for the '<em><b>Language</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__LANGUAGE = SQLRoutinesPackage.USER_DEFINED_FUNCTION__LANGUAGE;
+
+    /**
+     * The feature id for the '<em><b>Parameter Style</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__PARAMETER_STYLE = SQLRoutinesPackage.USER_DEFINED_FUNCTION__PARAMETER_STYLE;
+
+    /**
+     * The feature id for the '<em><b>Deterministic</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__DETERMINISTIC = SQLRoutinesPackage.USER_DEFINED_FUNCTION__DETERMINISTIC;
+
+    /**
+     * The feature id for the '<em><b>Sql Data Access</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__SQL_DATA_ACCESS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__SQL_DATA_ACCESS;
+
+    /**
+     * The feature id for the '<em><b>Creation TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__CREATION_TS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__CREATION_TS;
+
+    /**
+     * The feature id for the '<em><b>Last Altered TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__LAST_ALTERED_TS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__LAST_ALTERED_TS;
+
+    /**
+     * The feature id for the '<em><b>Authorization ID</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__AUTHORIZATION_ID = SQLRoutinesPackage.USER_DEFINED_FUNCTION__AUTHORIZATION_ID;
+
+    /**
+     * The feature id for the '<em><b>Security</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__SECURITY = SQLRoutinesPackage.USER_DEFINED_FUNCTION__SECURITY;
+
+    /**
+     * The feature id for the '<em><b>External Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__EXTERNAL_NAME = SQLRoutinesPackage.USER_DEFINED_FUNCTION__EXTERNAL_NAME;
+
+    /**
+     * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__PARAMETERS = SQLRoutinesPackage.USER_DEFINED_FUNCTION__PARAMETERS;
+
+    /**
+     * The feature id for the '<em><b>Source</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__SOURCE = SQLRoutinesPackage.USER_DEFINED_FUNCTION__SOURCE;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__SCHEMA = SQLRoutinesPackage.USER_DEFINED_FUNCTION__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Null Call</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__NULL_CALL = SQLRoutinesPackage.USER_DEFINED_FUNCTION__NULL_CALL;
+
+    /**
+     * The feature id for the '<em><b>Static</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__STATIC = SQLRoutinesPackage.USER_DEFINED_FUNCTION__STATIC;
+
+    /**
+     * The feature id for the '<em><b>Transform Group</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__TRANSFORM_GROUP = SQLRoutinesPackage.USER_DEFINED_FUNCTION__TRANSFORM_GROUP;
+
+    /**
+     * The feature id for the '<em><b>Type Preserving</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__TYPE_PRESERVING = SQLRoutinesPackage.USER_DEFINED_FUNCTION__TYPE_PRESERVING;
+
+    /**
+     * The feature id for the '<em><b>Mutator</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__MUTATOR = SQLRoutinesPackage.USER_DEFINED_FUNCTION__MUTATOR;
+
+    /**
+     * The feature id for the '<em><b>Return Table</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__RETURN_TABLE = SQLRoutinesPackage.USER_DEFINED_FUNCTION__RETURN_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Return Scalar</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__RETURN_SCALAR = SQLRoutinesPackage.USER_DEFINED_FUNCTION__RETURN_SCALAR;
+
+    /**
+     * The feature id for the '<em><b>Return Cast</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__RETURN_CAST = SQLRoutinesPackage.USER_DEFINED_FUNCTION__RETURN_CAST;
+
+    /**
+     * The feature id for the '<em><b>On Exception Resume</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION__ON_EXCEPTION_RESUME = SQLRoutinesPackage.USER_DEFINED_FUNCTION_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Function</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_FUNCTION_FEATURE_COUNT = SQLRoutinesPackage.USER_DEFINED_FUNCTION_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__EANNOTATIONS = SQLRoutinesPackage.PROCEDURE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__NAME = SQLRoutinesPackage.PROCEDURE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__DEPENDENCIES = SQLRoutinesPackage.PROCEDURE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__DESCRIPTION = SQLRoutinesPackage.PROCEDURE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__LABEL = SQLRoutinesPackage.PROCEDURE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__COMMENTS = SQLRoutinesPackage.PROCEDURE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Specific Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__SPECIFIC_NAME = SQLRoutinesPackage.PROCEDURE__SPECIFIC_NAME;
+
+    /**
+     * The feature id for the '<em><b>Language</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__LANGUAGE = SQLRoutinesPackage.PROCEDURE__LANGUAGE;
+
+    /**
+     * The feature id for the '<em><b>Parameter Style</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__PARAMETER_STYLE = SQLRoutinesPackage.PROCEDURE__PARAMETER_STYLE;
+
+    /**
+     * The feature id for the '<em><b>Deterministic</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__DETERMINISTIC = SQLRoutinesPackage.PROCEDURE__DETERMINISTIC;
+
+    /**
+     * The feature id for the '<em><b>Sql Data Access</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__SQL_DATA_ACCESS = SQLRoutinesPackage.PROCEDURE__SQL_DATA_ACCESS;
+
+    /**
+     * The feature id for the '<em><b>Creation TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__CREATION_TS = SQLRoutinesPackage.PROCEDURE__CREATION_TS;
+
+    /**
+     * The feature id for the '<em><b>Last Altered TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__LAST_ALTERED_TS = SQLRoutinesPackage.PROCEDURE__LAST_ALTERED_TS;
+
+    /**
+     * The feature id for the '<em><b>Authorization ID</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__AUTHORIZATION_ID = SQLRoutinesPackage.PROCEDURE__AUTHORIZATION_ID;
+
+    /**
+     * The feature id for the '<em><b>Security</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__SECURITY = SQLRoutinesPackage.PROCEDURE__SECURITY;
+
+    /**
+     * The feature id for the '<em><b>External Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__EXTERNAL_NAME = SQLRoutinesPackage.PROCEDURE__EXTERNAL_NAME;
+
+    /**
+     * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__PARAMETERS = SQLRoutinesPackage.PROCEDURE__PARAMETERS;
+
+    /**
+     * The feature id for the '<em><b>Source</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__SOURCE = SQLRoutinesPackage.PROCEDURE__SOURCE;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__SCHEMA = SQLRoutinesPackage.PROCEDURE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Max Result Sets</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__MAX_RESULT_SETS = SQLRoutinesPackage.PROCEDURE__MAX_RESULT_SETS;
+
+    /**
+     * The feature id for the '<em><b>Old Save Point</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__OLD_SAVE_POINT = SQLRoutinesPackage.PROCEDURE__OLD_SAVE_POINT;
+
+    /**
+     * The feature id for the '<em><b>Result Set</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__RESULT_SET = SQLRoutinesPackage.PROCEDURE__RESULT_SET;
+
+    /**
+     * The feature id for the '<em><b>On Exception Resume</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE__ON_EXCEPTION_RESUME = SQLRoutinesPackage.PROCEDURE_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Procedure</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROCEDURE_FEATURE_COUNT = SQLRoutinesPackage.PROCEDURE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__EANNOTATIONS = SQLTablesPackage.TEMPORARY_TABLE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__NAME = SQLTablesPackage.TEMPORARY_TABLE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__DEPENDENCIES = SQLTablesPackage.TEMPORARY_TABLE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__DESCRIPTION = SQLTablesPackage.TEMPORARY_TABLE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__LABEL = SQLTablesPackage.TEMPORARY_TABLE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__COMMENTS = SQLTablesPackage.TEMPORARY_TABLE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Columns</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__COLUMNS = SQLTablesPackage.TEMPORARY_TABLE__COLUMNS;
+
+    /**
+     * The feature id for the '<em><b>Supertable</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__SUPERTABLE = SQLTablesPackage.TEMPORARY_TABLE__SUPERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Subtables</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__SUBTABLES = SQLTablesPackage.TEMPORARY_TABLE__SUBTABLES;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__SCHEMA = SQLTablesPackage.TEMPORARY_TABLE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Udt</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__UDT = SQLTablesPackage.TEMPORARY_TABLE__UDT;
+
+    /**
+     * The feature id for the '<em><b>Triggers</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__TRIGGERS = SQLTablesPackage.TEMPORARY_TABLE__TRIGGERS;
+
+    /**
+     * The feature id for the '<em><b>Index</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__INDEX = SQLTablesPackage.TEMPORARY_TABLE__INDEX;
+
+    /**
+     * The feature id for the '<em><b>Self Ref Column Generation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__SELF_REF_COLUMN_GENERATION = SQLTablesPackage.TEMPORARY_TABLE__SELF_REF_COLUMN_GENERATION;
+
+    /**
+     * The feature id for the '<em><b>Insertable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__INSERTABLE = SQLTablesPackage.TEMPORARY_TABLE__INSERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Updatable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__UPDATABLE = SQLTablesPackage.TEMPORARY_TABLE__UPDATABLE;
+
+    /**
+     * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__CONSTRAINTS = SQLTablesPackage.TEMPORARY_TABLE__CONSTRAINTS;
+
+    /**
+     * The feature id for the '<em><b>Referencing Foreign Keys</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__REFERENCING_FOREIGN_KEYS = SQLTablesPackage.TEMPORARY_TABLE__REFERENCING_FOREIGN_KEYS;
+
+    /**
+     * The feature id for the '<em><b>Local</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__LOCAL = SQLTablesPackage.TEMPORARY_TABLE__LOCAL;
+
+    /**
+     * The feature id for the '<em><b>Delete On Commit</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__DELETE_ON_COMMIT = SQLTablesPackage.TEMPORARY_TABLE__DELETE_ON_COMMIT;
+
+    /**
+     * The feature id for the '<em><b>Transaction Option</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE__TRANSACTION_OPTION = SQLTablesPackage.TEMPORARY_TABLE_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Temp Table</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TEMP_TABLE_FEATURE_COUNT = SQLTablesPackage.TEMPORARY_TABLE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__EANNOTATIONS = SQLTablesPackage.TRIGGER__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__NAME = SQLTablesPackage.TRIGGER__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__DEPENDENCIES = SQLTablesPackage.TRIGGER__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__DESCRIPTION = SQLTablesPackage.TRIGGER__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__LABEL = SQLTablesPackage.TRIGGER__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__COMMENTS = SQLTablesPackage.TRIGGER__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__SCHEMA = SQLTablesPackage.TRIGGER__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Subject Table</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__SUBJECT_TABLE = SQLTablesPackage.TRIGGER__SUBJECT_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Action Statement</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__ACTION_STATEMENT = SQLTablesPackage.TRIGGER__ACTION_STATEMENT;
+
+    /**
+     * The feature id for the '<em><b>Trigger Column</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__TRIGGER_COLUMN = SQLTablesPackage.TRIGGER__TRIGGER_COLUMN;
+
+    /**
+     * The feature id for the '<em><b>Action Granularity</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__ACTION_GRANULARITY = SQLTablesPackage.TRIGGER__ACTION_GRANULARITY;
+
+    /**
+     * The feature id for the '<em><b>When</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__WHEN = SQLTablesPackage.TRIGGER__WHEN;
+
+    /**
+     * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__TIME_STAMP = SQLTablesPackage.TRIGGER__TIME_STAMP;
+
+    /**
+     * The feature id for the '<em><b>Action Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__ACTION_TIME = SQLTablesPackage.TRIGGER__ACTION_TIME;
+
+    /**
+     * The feature id for the '<em><b>Update Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__UPDATE_TYPE = SQLTablesPackage.TRIGGER__UPDATE_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Insert Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__INSERT_TYPE = SQLTablesPackage.TRIGGER__INSERT_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Delete Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__DELETE_TYPE = SQLTablesPackage.TRIGGER__DELETE_TYPE;
+
+    /**
+     * The feature id for the '<em><b>Old Row</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__OLD_ROW = SQLTablesPackage.TRIGGER__OLD_ROW;
+
+    /**
+     * The feature id for the '<em><b>New Row</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__NEW_ROW = SQLTablesPackage.TRIGGER__NEW_ROW;
+
+    /**
+     * The feature id for the '<em><b>Old Table</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__OLD_TABLE = SQLTablesPackage.TRIGGER__OLD_TABLE;
+
+    /**
+     * The feature id for the '<em><b>New Table</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__NEW_TABLE = SQLTablesPackage.TRIGGER__NEW_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Order</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__ORDER = SQLTablesPackage.TRIGGER_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Sybase ASA Base Action Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__SYBASE_ASA_BASE_ACTION_TIME = SQLTablesPackage.TRIGGER_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Remote Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER__REMOTE_NAME = SQLTablesPackage.TRIGGER_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Update Column Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    int SYBASE_ASA_BASE_TRIGGER__UPDATE_COLUMN_TYPE = SQLTablesPackage.TRIGGER_FEATURE_COUNT + 3;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Trigger</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_TRIGGER_FEATURE_COUNT = SQLTablesPackage.TRIGGER_FEATURE_COUNT + 4;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__EANNOTATIONS = SYBASE_ASA_BASE_TABLE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__NAME = SYBASE_ASA_BASE_TABLE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__DEPENDENCIES = SYBASE_ASA_BASE_TABLE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__DESCRIPTION = SYBASE_ASA_BASE_TABLE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__LABEL = SYBASE_ASA_BASE_TABLE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__COMMENTS = SYBASE_ASA_BASE_TABLE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Columns</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__COLUMNS = SYBASE_ASA_BASE_TABLE__COLUMNS;
+
+    /**
+     * The feature id for the '<em><b>Supertable</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__SUPERTABLE = SYBASE_ASA_BASE_TABLE__SUPERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Subtables</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__SUBTABLES = SYBASE_ASA_BASE_TABLE__SUBTABLES;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__SCHEMA = SYBASE_ASA_BASE_TABLE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Udt</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__UDT = SYBASE_ASA_BASE_TABLE__UDT;
+
+    /**
+     * The feature id for the '<em><b>Triggers</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__TRIGGERS = SYBASE_ASA_BASE_TABLE__TRIGGERS;
+
+    /**
+     * The feature id for the '<em><b>Index</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__INDEX = SYBASE_ASA_BASE_TABLE__INDEX;
+
+    /**
+     * The feature id for the '<em><b>Self Ref Column Generation</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__SELF_REF_COLUMN_GENERATION = SYBASE_ASA_BASE_TABLE__SELF_REF_COLUMN_GENERATION;
+
+    /**
+     * The feature id for the '<em><b>Insertable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__INSERTABLE = SYBASE_ASA_BASE_TABLE__INSERTABLE;
+
+    /**
+     * The feature id for the '<em><b>Updatable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__UPDATABLE = SYBASE_ASA_BASE_TABLE__UPDATABLE;
+
+    /**
+     * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__CONSTRAINTS = SYBASE_ASA_BASE_TABLE__CONSTRAINTS;
+
+    /**
+     * The feature id for the '<em><b>Referencing Foreign Keys</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__REFERENCING_FOREIGN_KEYS = SYBASE_ASA_BASE_TABLE__REFERENCING_FOREIGN_KEYS;
+
+    /**
+     * The feature id for the '<em><b>Db Space</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__DB_SPACE = SYBASE_ASA_BASE_TABLE__DB_SPACE;
+
+    /**
+     * The feature id for the '<em><b>Remote Object Location</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE__REMOTE_OBJECT_LOCATION = SYBASE_ASA_BASE_TABLE_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Proxy Table</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_PROXY_TABLE_FEATURE_COUNT = SYBASE_ASA_BASE_TABLE_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__EANNOTATIONS = SQLConstraintsPackage.CHECK_CONSTRAINT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__NAME = SQLConstraintsPackage.CHECK_CONSTRAINT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__DEPENDENCIES = SQLConstraintsPackage.CHECK_CONSTRAINT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__DESCRIPTION = SQLConstraintsPackage.CHECK_CONSTRAINT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__LABEL = SQLConstraintsPackage.CHECK_CONSTRAINT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__COMMENTS = SQLConstraintsPackage.CHECK_CONSTRAINT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Deferrable</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__DEFERRABLE = SQLConstraintsPackage.CHECK_CONSTRAINT__DEFERRABLE;
+
+    /**
+     * The feature id for the '<em><b>Initially Deferred</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__INITIALLY_DEFERRED = SQLConstraintsPackage.CHECK_CONSTRAINT__INITIALLY_DEFERRED;
+
+    /**
+     * The feature id for the '<em><b>Enforced</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__ENFORCED = SQLConstraintsPackage.CHECK_CONSTRAINT__ENFORCED;
+
+    /**
+     * The feature id for the '<em><b>Base Table</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__BASE_TABLE = SQLConstraintsPackage.CHECK_CONSTRAINT__BASE_TABLE;
+
+    /**
+     * The feature id for the '<em><b>Search Condition</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__SEARCH_CONDITION = SQLConstraintsPackage.CHECK_CONSTRAINT__SEARCH_CONDITION;
+
+    /**
+     * The feature id for the '<em><b>Column</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT__COLUMN = SQLConstraintsPackage.CHECK_CONSTRAINT_FEATURE_COUNT + 0;
+
+    /**
+     * The number of structural features of the '<em>Sybase ASA Base Column Check Constraint</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_COLUMN_CHECK_CONSTRAINT_FEATURE_COUNT = SQLConstraintsPackage.CHECK_CONSTRAINT_FEATURE_COUNT + 1;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.ScheduleImpl <em>Schedule</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.ScheduleImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSchedule()
+     * @generated
+     */
+	int SCHEDULE = 20;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__EANNOTATIONS = SQLSchemaPackage.SQL_OBJECT__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__NAME = SQLSchemaPackage.SQL_OBJECT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__DEPENDENCIES = SQLSchemaPackage.SQL_OBJECT__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__DESCRIPTION = SQLSchemaPackage.SQL_OBJECT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__LABEL = SQLSchemaPackage.SQL_OBJECT__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__COMMENTS = SQLSchemaPackage.SQL_OBJECT__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Recurring</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__RECURRING = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>Start Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__START_TIME = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Stop Time</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__STOP_TIME = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 2;
+
+    /**
+     * The feature id for the '<em><b>Start Date</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__START_DATE = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 3;
+
+    /**
+     * The feature id for the '<em><b>Days Of Week</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__DAYS_OF_WEEK = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 4;
+
+    /**
+     * The feature id for the '<em><b>Days Of Month</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__DAYS_OF_MONTH = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 5;
+
+    /**
+     * The feature id for the '<em><b>Interval Unit</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__INTERVAL_UNIT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 6;
+
+    /**
+     * The feature id for the '<em><b>Interval Mount</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__INTERVAL_MOUNT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 7;
+
+    /**
+     * The feature id for the '<em><b>Event</b></em>' container reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE__EVENT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 8;
+
+    /**
+     * The number of structural features of the '<em>Schedule</em>' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SCHEDULE_FEATURE_COUNT = SQLSchemaPackage.SQL_OBJECT_FEATURE_COUNT + 9;
+
+    /**
+     * The meta object id for the '{@link org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseRemoteProcedureImpl <em>Sybase ASA Base Remote Procedure</em>}' class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseASABaseRemoteProcedureImpl
+     * @see org.eclipse.datatools.enablement.sybase.asa.models.sybaseasabasesqlmodel.impl.SybaseasabasesqlmodelPackageImpl#getSybaseASABaseRemoteProcedure()
+     * @generated
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE = 21;
+
+    /**
+     * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__EANNOTATIONS = SYBASE_ASA_BASE_PROCEDURE__EANNOTATIONS;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__NAME = SYBASE_ASA_BASE_PROCEDURE__NAME;
+
+    /**
+     * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__DEPENDENCIES = SYBASE_ASA_BASE_PROCEDURE__DEPENDENCIES;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__DESCRIPTION = SYBASE_ASA_BASE_PROCEDURE__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>Label</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__LABEL = SYBASE_ASA_BASE_PROCEDURE__LABEL;
+
+    /**
+     * The feature id for the '<em><b>Comments</b></em>' reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__COMMENTS = SYBASE_ASA_BASE_PROCEDURE__COMMENTS;
+
+    /**
+     * The feature id for the '<em><b>Specific Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__SPECIFIC_NAME = SYBASE_ASA_BASE_PROCEDURE__SPECIFIC_NAME;
+
+    /**
+     * The feature id for the '<em><b>Language</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__LANGUAGE = SYBASE_ASA_BASE_PROCEDURE__LANGUAGE;
+
+    /**
+     * The feature id for the '<em><b>Parameter Style</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__PARAMETER_STYLE = SYBASE_ASA_BASE_PROCEDURE__PARAMETER_STYLE;
+
+    /**
+     * The feature id for the '<em><b>Deterministic</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__DETERMINISTIC = SYBASE_ASA_BASE_PROCEDURE__DETERMINISTIC;
+
+    /**
+     * The feature id for the '<em><b>Sql Data Access</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__SQL_DATA_ACCESS = SYBASE_ASA_BASE_PROCEDURE__SQL_DATA_ACCESS;
+
+    /**
+     * The feature id for the '<em><b>Creation TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__CREATION_TS = SYBASE_ASA_BASE_PROCEDURE__CREATION_TS;
+
+    /**
+     * The feature id for the '<em><b>Last Altered TS</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__LAST_ALTERED_TS = SYBASE_ASA_BASE_PROCEDURE__LAST_ALTERED_TS;
+
+    /**
+     * The feature id for the '<em><b>Authorization ID</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__AUTHORIZATION_ID = SYBASE_ASA_BASE_PROCEDURE__AUTHORIZATION_ID;
+
+    /**
+     * The feature id for the '<em><b>Security</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__SECURITY = SYBASE_ASA_BASE_PROCEDURE__SECURITY;
+
+    /**
+     * The feature id for the '<em><b>External Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__EXTERNAL_NAME = SYBASE_ASA_BASE_PROCEDURE__EXTERNAL_NAME;
+
+    /**
+     * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__PARAMETERS = SYBASE_ASA_BASE_PROCEDURE__PARAMETERS;
+
+    /**
+     * The feature id for the '<em><b>Source</b></em>' containment reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__SOURCE = SYBASE_ASA_BASE_PROCEDURE__SOURCE;
+
+    /**
+     * The feature id for the '<em><b>Schema</b></em>' reference.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__SCHEMA = SYBASE_ASA_BASE_PROCEDURE__SCHEMA;
+
+    /**
+     * The feature id for the '<em><b>Max Result Sets</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__MAX_RESULT_SETS = SYBASE_ASA_BASE_PROCEDURE__MAX_RESULT_SETS;
+
+    /**
+     * The feature id for the '<em><b>Old Save Point</b></em>' attribute.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+	int SYBASE_ASA_BASE_REMOTE_PROCEDURE__OLD_SAVE_POINT = SYBASE_ASA_BASE_PROCEDURE__OLD_SAVE_POINT;
+
+    /**
+     * The feature id for the '<em><b>Result Set</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->