[152076] Moved org.eclipse.datatools.modelbase.sql.query.edit plugin from the prototypes folder into the modelbase folder.
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.classpath b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.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.modelbase.sql.query.edit/.cvsignore b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.cvsignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.project b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.project
new file mode 100644
index 0000000..34addda
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.datatools.modelbase.sql.query.edit</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.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0ec2ab6
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.datatools.modelbase.sql.query.edit
+Bundle-Version: 1.0.0.200706221
+Bundle-Activator: org.eclipse.datatools.modelbase.sql.query.provider.SQLQueryEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.datatools.modelbase.sql.query.provider,
+ org.eclipse.datatools.modelbase.sql.schema.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.1.1,3.0.0)";visibility:=reexport,
+ org.eclipse.datatools.modelbase.sql.query;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/about.html b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/about.html
new file mode 100644
index 0000000..4602330
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 2, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/build.properties b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/build.properties
new file mode 100644
index 0000000..5bc2ed8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/build.properties
@@ -0,0 +1,8 @@
+bin.includes = .,\
+               plugin.properties,\
+               icons/,\
+               META-INF/,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombined.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombined.gif
new file mode 100644
index 0000000..b3643da
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombined.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExcept.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExcept.gif
new file mode 100644
index 0000000..956de01
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExcept.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExceptAll.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExceptAll.gif
new file mode 100644
index 0000000..980b73d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorExceptAll.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersect.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersect.gif
new file mode 100644
index 0000000..b9355af
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersect.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersectAll.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersectAll.gif
new file mode 100644
index 0000000..fcd0c18
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorIntersectAll.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnion.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnion.gif
new file mode 100644
index 0000000..28430c9
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnion.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnionAll.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnionAll.gif
new file mode 100644
index 0000000..8d9c33a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryCombinedOperatorUnionAll.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryDeleteStatement.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryDeleteStatement.gif
new file mode 100644
index 0000000..dcfdd58
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryDeleteStatement.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryInsertStatement.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryInsertStatement.gif
new file mode 100644
index 0000000..75978cb
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryInsertStatement.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelect.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelect.gif
new file mode 100644
index 0000000..2460266
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelect.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelectStatement.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelectStatement.gif
new file mode 100644
index 0000000..c9dddb5
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QuerySelectStatement.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryUpdateStatement.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryUpdateStatement.gif
new file mode 100644
index 0000000..9bbd9f7
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryUpdateStatement.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryValues.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryValues.gif
new file mode 100644
index 0000000..5c85219
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/QueryValues.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/ValuesRow.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/ValuesRow.gif
new file mode 100644
index 0000000..43bad9d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/ValuesRow.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/WithTableSpecification.gif b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/WithTableSpecification.gif
new file mode 100644
index 0000000..11208b8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/icons/full/obj16/WithTableSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/plugin.properties b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/plugin.properties
new file mode 100644
index 0000000..a73e19b
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/plugin.properties
@@ -0,0 +1,224 @@
+# NLS_MESSAGEFORMAT_VAR          needed to handle quotes correctly
+
+# ====================================================================
+# Licensed Materials - Property of IBM
+# com.ibm.db.models.sql.query.edit
+# (C) Copyright IBM Corporation 2005. All Rights Reserved.
+#
+# Note to U.S. Government Users Restricted Rights:
+#   Use, duplication or disclosure restricted 
+#   by GSA ADP Schedule Contract with IBM Corp.
+# ====================================================================
+
+# ====================================================================
+# $Id: plugin.properties,v 1.2 2007/06/27 12:58:40 jlindop Exp $
+# @generated NOT
+# ====================================================================
+
+# ====================================================================
+# 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 %%%
+# ====================================================================
+
+###
+### Note to translators:  do not translate the following three entries.
+###
+pluginName = SQL Query Edit Support Plugin
+nl1PluginName = SQL Query Edit Support Nl1 Fragment
+providerName = Eclipse.org
+
+###
+### Note to translators:  do not translate words that are in UPPER CASE in the
+### following entries.  They are SQL keywords.
+###
+_UI_QueryDeleteStatement_type = DELETE Statement 
+_UI_QueryInsertStatement_type = INSERT Statement 
+_UI_QuerySelectStatement_type = SELECT Statement 
+_UI_QueryUpdateStatement_type = UPDATE Statement 
+_UI_QuerySelect_type = SELECT
+_UI_QueryCombinedOperator_UNION_literal         = UNION
+_UI_QueryCombinedOperator_UNION_ALL_literal     = UNION ALL
+_UI_QueryCombinedOperator_INTERSECT_literal     = INTERSECT
+_UI_QueryCombinedOperator_INTERSECT_ALL_literal = INTERSECT ALL
+_UI_QueryCombinedOperator_EXCEPT_literal        = EXCEPT
+_UI_QueryCombinedOperator_EXCEPT_ALL_literal    = EXCEPT ALL
+_UI_WithTableSpecification_type = WITH
+_UI_QueryValues_type = VALUES
+### Note to translators:  the following entry represents a row of values in a VALUES
+### clause in a SQL statement.  For example, in this statement 
+###    SELECT DEPTNO, DEPTNAME FROM DEPARTMENT
+###    UNION
+###    VALUES ('D10', 'Development 1')
+### the ('D10', 'Development 1') part of the statement is a "values row".
+_UI_ValuesRow_type = Values row
+
+###
+### Note to translators:  do not translate the following entries at all.  
+### These entries are automatically generated by EMF and are not used in the UI.
+###
+_UI_UpdateAssignmentExpression_targetColumnList_feature = Target Column List
+_UI_QueryChangeStatement_type = Query Change Statement
+_UI_ValueExpressionCaseSearchContent_type = Value Expression Case Search Content
+_UI_PredicateQuantifiedType_ALL_literal = ALL
+_UI_ValueExpressionScalarSelect_queryExpr_feature = Query Expr
+_UI_ValueExpressionColumn_tableExpr_feature = Table Expr
+_UI_QuerySearchCondition_type = Query Search Condition
+_UI_PredicateQuantified_type = Predicate Quantified
+_UI_GroupingSetsElement_type = Grouping Sets Element
+_UI_QueryExpressionRoot_type = Query Expression Root
+_UI_SuperGroupType_ROLLUP_literal = ROLLUP
+_UI_ValueExpressionAtomic_type = Value Expression Atomic
+_UI_WithTableReference_withTableSpecification_feature = With Table Specification
+_UI_PredicateInValueList_type = Predicate In Value List
+_UI_ResultColumn_type = Result Column
+_UI_ValueExpressionColumn_type = Value Expression Column
+_UI_SuperGroupType_CUBE_literal = CUBE
+_UI_ValueExpressionSimple_value_feature = Value
+_UI_ValueExpressionVariable_type = Value Expression Variable
+_UI_TableCorrelation_type = Table Correlation
+_UI_TableInDatabase_derivedColumnList_feature = Derived Column List
+_UI_ValueExpressionUnaryOperator_NONE_literal = NONE
+_UI_ValueExpressionCaseSimpleContent_type = Value Expression Case Simple Content
+_UI_TableInDatabase_databaseTable_feature = Database Table
+_UI_CursorReference_type = Cursor Reference
+_UI_QueryInsertStatement_targetColumnList_feature = Target Column List
+_UI_ValueExpressionFunction_type = Value Expression Function
+_UI_SearchConditionCombined_type = Search Condition Combined
+_UI_TableJoinedOperator_EXPLICIT_INNER_literal = EXPLICIT_INNER
+_UI_OrderByResultColumn_resultCol_feature = Result Col
+_UI_GroupingSetsElementExpression_type = Grouping Sets Element Expression
+_UI_Predicate_selectivityValue_feature = Selectivity Value
+_UI_Predicate_negatedPredicate_feature = Negated Predicate
+_UI_GroupingSetsElementSublist_type = Grouping Sets Element Sublist
+_UI_SearchConditionNested_type = Search Condition Nested
+_UI_ValueExpressionLabeledDurationType_MONTHS_literal = MONTHS
+_UI_PredicateQuantifiedRowSelect_quantifiedType_feature = Quantified Type
+_UI_PredicateQuantifiedValueSelect_quantifiedType_feature = Quantified Type
+_UI_PredicateBetween_type = Predicate Between
+_UI_TableJoinedOperator_RIGHT_OUTER_literal = RIGHT_OUTER
+_UI_UpdateSource_type = Update Source
+_UI_PredicateInValueSelect_type = Predicate In Value Select
+_UI_ValueExpressionLabeledDurationType_DAYS_literal = DAYS
+_UI_PredicateComparisonOperator_GREATER_THAN_literal = GREATER_THAN
+_UI_ValueExpressionNested_type = Value Expression Nested
+_UI_PredicateComparisonOperator_GREATER_THAN_OR_EQUAL_literal = GREATER_THAN_OR_EQUAL
+_UI_SearchConditionCombinedOperator_OR_literal = OR
+_UI_PredicateComparisonOperator_NOT_EQUAL_literal = NOT_EQUAL
+_UI_PredicateIn_notIn_feature = Not In
+_UI_TableJoinedOperator_FULL_OUTER_literal = FULL_OUTER
+_UI_ValueExpressionLabeledDurationType_SECONDS_literal = SECONDS
+_UI_ValueExpressionColumn_assignmentExprTarget_feature = Assignment Expr Target
+_UI_ValueExpressionLabeledDurationType_YEARS_literal = YEARS
+_UI_ValueExpressionSimple_type = Value Expression Simple
+_UI_ValueExpressionUnaryOperator_PLUS_literal = PLUS
+_UI_SuperGroupElementExpression_type = Super Group Element Expression
+_UI_QueryStatement_type = Query Statement
+_UI_ValueExpressionColumn_tableInDatabase_feature = Table In Database
+_UI_ResultTableAllColumns_type = Result Table All Columns
+_UI_UpdateSourceExprList_type = Update Source Expr List
+_UI_PredicateIsNull_type = Predicate Is Null
+_UI_UpdateAssignmentExpression_type = Update Assignment Expression
+_UI_ValueExpressionLabeledDurationType_MICROSECONDS_literal = MICROSECONDS
+_UI_WithTableReference_type = With Table Reference
+_UI_PredicateBasic_comparisonOperator_feature = Comparison Operator
+_UI_QueryValueExpression_unaryOperator_feature = Unary Operator
+_UI_ValueExpressionCombined_combinedOperator_feature = Combined Operator
+_UI_QueryMergeStatement_type = Query Merge Statement
+_UI_ValueExpressionNullValue_type = Value Expression Null Value
+_UI_ValueExpressionLabeledDurationType_MINUTES_literal = MINUTES
+_UI_PredicateBetween_notBetween_feature = Not Between
+_UI_Unknown_type = Object
+
+_UI_SuperGroup_superGroupType_feature = Super Group Type
+_UI_ValueExpressionCombinedOperator_DIVIDE_literal = DIVIDE
+_UI_SearchConditionCombinedOperator_AND_literal = AND
+_UI_TableJoined_joinOperator_feature = Join Operator
+_UI_GroupingSets_type = Grouping Sets
+_UI_SuperGroup_type = Super Group
+_UI_UpdateSourceQuery_type = Update Source Query
+_UI_TableReference_type = Table Reference
+_UI_ValueExpressionLabeledDuration_type = Value Expression Labeled Duration
+_UI_OrderByOrdinal_ordinalValue_feature = Ordinal Value
+_UI_TableJoinedOperator_LEFT_OUTER_literal = LEFT_OUTER
+_UI_Predicate_hasSelectivity_feature = Has Selectivity
+_UI_PredicateQuantifiedValueSelect_comparisonOperator_feature = Comparison Operator
+_UI_ValueExpressionScalarSelect_type = Value Expression Scalar Select
+_UI_OrderByResultColumn_type = Order By Result Column
+_UI_PredicateComparisonOperator_LESS_THAN_literal = LESS_THAN
+_UI_ValueExpressionCaseSearch_type = Value Expression Case Search
+_UI_ValueExpressionCase_type = Value Expression Case
+_UI_TableExpression_valueExprColumns_feature = Value Expr Columns
+_UI_OrderBySpecification_type = Order By Specification
+_UI_PredicateQuantifiedValueSelect_type = Predicate Quantified Value Select
+_UI_ResultTableAllColumns_tableExpr_feature = Table Expr
+_UI_PredicateComparisonOperator_EQUAL_literal = EQUAL
+_UI_GroupingSpecification_type = Grouping Specification
+_UI_PredicateQuantifiedRowSelect_type = Predicate Quantified Row Select
+_UI_QueryCombined_type = Query Combined
+_UI_PredicateLike_type = Predicate Like
+_UI_QueryExpressionBody_type = Query Expression Body
+_UI_PredicateComparisonOperator_LESS_THAN_OR_EQUAL_literal = LESS_THAN_OR_EQUAL
+_UI_ColumnName_type = Column Name
+_UI_SuperGroupElement_type = Super Group Element
+_UI_ValueExpressionDefaultValue_type = Value Expression Default Value
+_UI_PredicateQuantifiedType_ANY_literal = ANY
+_UI_GroupingExpression_type = Grouping Expression
+_UI_ValueExpressionCombinedOperator_ADD_literal = ADD
+_UI_TableInDatabase_type = Table In Database
+_UI_SearchConditionCombined_combinedOperator_feature = Combined Operator
+_UI_PredicateIn_type = Predicate In
+_UI_OrderBySpecification_descending_feature = Descending
+_UI_ValueExpressionFunction_function_feature = Function
+_UI_ValueExpressionFunction_columnFunction_feature = Column Function
+_UI_Predicate_type = Predicate
+_UI_ValueExpressionUnaryOperator_MINUS_literal = MINUS
+_UI_OrderByOrdinal_type = Order By Ordinal
+_UI_PredicateExists_type = Predicate Exists
+_UI_Grouping_type = Grouping
+_UI_PredicateQuantifiedType_SOME_literal = SOME
+_UI_ValueExpressionColumn_insertStatement_feature = Insert Statement
+_UI_ResultColumn_orderByResultCol_feature = Order By Result Col
+_UI_ValueExpressionCombined_type = Value Expression Combined
+_UI_QueryResultSpecification_type = Query Result Specification
+_UI_ValueExpressionCast_type = Value Expression Cast
+_UI_ValueExpressionFunction_specialRegister_feature = Special Register
+_UI_QuerySearchCondition_negatedCondition_feature = Negated Condition
+_UI_QuerySelect_distinct_feature = Distinct
+_UI_TableExpression_resultTableAllColumns_feature = Result Table All Columns
+_UI_ValueExpressionCombinedOperator_CONCATENATE_literal = CONCATENATE
+_UI_OrderByValueExpression_type = Order By Value Expression
+_UI_ValueExpressionCombinedOperator_MULTIPLY_literal = MULTIPLY
+_UI_SuperGroupElementSublist_type = Super Group Element Sublist
+_UI_WithTableSpecification_withTableReferences_feature = With Table References
+_UI_QueryExpressionRoot_valueExprScalarSelects_feature = Value Expr Scalar Selects
+_UI_ValueExpressionFunction_distinct_feature = Distinct
+_UI_PredicateBasic_type = Predicate Basic
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_ValueExpressionLabeledDurationType_HOURS_literal = HOURS
+_UI_TableNested_type = Table Nested
+_UI_QueryValueExpression_type = Query Value Expression
+_UI_TableJoinedOperator_DEFAULT_INNER_literal = DEFAULT_INNER
+_UI_PredicateLike_notLike_feature = Not Like
+_UI_ValueExpressionCaseElse_type = Value Expression Case Else
+_UI_TableExpression_columnList_feature = Column List
+_UI_SuperGroupType_GRANDTOTAL_literal = GRANDTOTAL
+_UI_PredicateInValueRowSelect_type = Predicate In Value Row Select
+_UI_SQLQueryObject_type = Object
+_UI_ValueExpressionCaseSimple_type = Value Expression Case Simple
+_UI_ValueExpressionCombinedOperator_SUBTRACT_literal = SUBTRACT
+_UI_TableFunction_type = Table Function
+_UI_TableExpression_type = Table Expression
+_UI_Unknown_feature = Unspecified
+
+_UI_ValueExpressionLabeledDuration_labeledDurationType_feature = Labeled Duration Type
+_UI_QueryCombined_combinedOperator_feature = Combined Operator
+_UI_PredicateIsNull_notNull_feature = Not Null
+_UI_TableJoined_type = Table Joined
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ColumnNameItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ColumnNameItemProvider.java
new file mode 100644
index 0000000..ad2cf90
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ColumnNameItemProvider.java
@@ -0,0 +1,96 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ColumnNameItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.datatools.modelbase.sql.query.ColumnName;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ColumnName} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ColumnNameItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ColumnNameItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ColumnName)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ColumnName_type") :
+            getString("_UI_ColumnName_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/CursorReferenceItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/CursorReferenceItemProvider.java
new file mode 100644
index 0000000..5eca644
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/CursorReferenceItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CursorReferenceItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.CursorReference;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.CursorReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CursorReferenceItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public CursorReferenceItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((CursorReference)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_CursorReference_type") :
+            getString("_UI_CursorReference_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingExpressionItemProvider.java
new file mode 100644
index 0000000..8041e77
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingExpressionItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingExpressionItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingExpression;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingExpressionItemProvider
+  extends GroupingItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getGroupingExpression_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingExpression_type") :
+            getString("_UI_GroupingExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(GroupingExpression.class)) {
+            case SQLQueryModelPackage.GROUPING_EXPRESSION__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingItemProvider.java
new file mode 100644
index 0000000..3429afa
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.Grouping;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.Grouping} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingItemProvider
+  extends GroupingSpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((Grouping)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Grouping_type") :
+            getString("_UI_Grouping_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementExpressionItemProvider.java
new file mode 100644
index 0000000..55703e8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementExpressionItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingSetsElementExpressionItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingSetsElementExpression;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingSetsElementExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingSetsElementExpressionItemProvider
+  extends GroupingSetsElementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingSetsElementExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getGroupingSetsElementExpression_Grouping());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingSetsElementExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingSetsElementExpression_type") :
+            getString("_UI_GroupingSetsElementExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(GroupingSetsElementExpression.class)) {
+            case SQLQueryModelPackage.GROUPING_SETS_ELEMENT_EXPRESSION__GROUPING:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementItemProvider.java
new file mode 100644
index 0000000..bc39f71
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingSetsElementItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingSetsElement;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingSetsElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingSetsElementItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingSetsElementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingSetsElement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingSetsElement_type") :
+            getString("_UI_GroupingSetsElement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementSublistItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementSublistItemProvider.java
new file mode 100644
index 0000000..35eb465
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsElementSublistItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingSetsElementSublistItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingSetsElementSublist;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingSetsElementSublist} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingSetsElementSublistItemProvider
+  extends GroupingSetsElementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingSetsElementSublistItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getGroupingSetsElementSublist_GroupingSetsElementExprList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingSetsElementSublist)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingSetsElementSublist_type") :
+            getString("_UI_GroupingSetsElementSublist_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(GroupingSetsElementSublist.class)) {
+            case SQLQueryModelPackage.GROUPING_SETS_ELEMENT_SUBLIST__GROUPING_SETS_ELEMENT_EXPR_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsItemProvider.java
new file mode 100644
index 0000000..0f441f1
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSetsItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingSetsItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingSets;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingSets} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingSetsItemProvider
+  extends GroupingSpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingSetsItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getGroupingSets_GroupingSetsElementList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingSets)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingSets_type") :
+            getString("_UI_GroupingSets_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(GroupingSets.class)) {
+            case SQLQueryModelPackage.GROUPING_SETS__GROUPING_SETS_ELEMENT_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSpecificationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSpecificationItemProvider.java
new file mode 100644
index 0000000..d89fc89
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/GroupingSpecificationItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GroupingSpecificationItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.GroupingSpecification;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.GroupingSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GroupingSpecificationItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public GroupingSpecificationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((GroupingSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_GroupingSpecification_type") :
+            getString("_UI_GroupingSpecification_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByOrdinalItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByOrdinalItemProvider.java
new file mode 100644
index 0000000..162dc17
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByOrdinalItemProvider.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderByOrdinalItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.OrderByOrdinal;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.OrderByOrdinal} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OrderByOrdinalItemProvider
+  extends OrderBySpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public OrderByOrdinalItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addOrdinalValuePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Ordinal Value feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addOrdinalValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_OrderByOrdinal_ordinalValue_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OrderByOrdinal_ordinalValue_feature", "_UI_OrderByOrdinal_type"),
+                 SQLQueryModelPackage.eINSTANCE.getOrderByOrdinal_OrdinalValue(),
+                 true,
+                 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((OrderByOrdinal)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OrderByOrdinal_type") :
+            getString("_UI_OrderByOrdinal_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(OrderByOrdinal.class)) {
+            case SQLQueryModelPackage.ORDER_BY_ORDINAL__ORDINAL_VALUE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByResultColumnItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByResultColumnItemProvider.java
new file mode 100644
index 0000000..8347f59
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByResultColumnItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderByResultColumnItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.OrderByResultColumn;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.OrderByResultColumn} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OrderByResultColumnItemProvider
+  extends OrderBySpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public OrderByResultColumnItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addResultColPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Result Col feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addResultColPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_OrderByResultColumn_resultCol_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OrderByResultColumn_resultCol_feature", "_UI_OrderByResultColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getOrderByResultColumn_ResultCol(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((OrderByResultColumn)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OrderByResultColumn_type") :
+            getString("_UI_OrderByResultColumn_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderBySpecificationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderBySpecificationItemProvider.java
new file mode 100644
index 0000000..d24ec22
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderBySpecificationItemProvider.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderBySpecificationItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.OrderBySpecification;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.OrderBySpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OrderBySpecificationItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public OrderBySpecificationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addDescendingPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Descending feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addDescendingPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_OrderBySpecification_descending_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OrderBySpecification_descending_feature", "_UI_OrderBySpecification_type"),
+                 SQLQueryModelPackage.eINSTANCE.getOrderBySpecification_Descending(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((OrderBySpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OrderBySpecification_type") :
+            getString("_UI_OrderBySpecification_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(OrderBySpecification.class)) {
+            case SQLQueryModelPackage.ORDER_BY_SPECIFICATION__DESCENDING:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByValueExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByValueExpressionItemProvider.java
new file mode 100644
index 0000000..f581b53
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/OrderByValueExpressionItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderByValueExpressionItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.OrderByValueExpression;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.OrderByValueExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OrderByValueExpressionItemProvider
+  extends OrderBySpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public OrderByValueExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getOrderByValueExpression_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((OrderByValueExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OrderByValueExpression_type") :
+            getString("_UI_OrderByValueExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(OrderByValueExpression.class)) {
+            case SQLQueryModelPackage.ORDER_BY_VALUE_EXPRESSION__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBasicItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBasicItemProvider.java
new file mode 100644
index 0000000..0107d41
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBasicItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateBasicItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateBasic;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateBasic} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateBasicItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateBasicItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addComparisonOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Comparison Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addComparisonOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateBasic_comparisonOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateBasic_comparisonOperator_feature", "_UI_PredicateBasic_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateBasic_ComparisonOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateBasic_RightValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateBasic_LeftValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateBasic)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateBasic_type") :
+            getString("_UI_PredicateBasic_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateBasic.class)) {
+            case SQLQueryModelPackage.PREDICATE_BASIC__COMPARISON_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_BASIC__RIGHT_VALUE_EXPR:
+            case SQLQueryModelPackage.PREDICATE_BASIC__LEFT_VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBetweenItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBetweenItemProvider.java
new file mode 100644
index 0000000..ab41df4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateBetweenItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateBetweenItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateBetween;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateBetween} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateBetweenItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateBetweenItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNotBetweenPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Not Between feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNotBetweenPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateBetween_notBetween_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateBetween_notBetween_feature", "_UI_PredicateBetween_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateBetween_NotBetween(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateBetween_LeftValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateBetween_RightValueExpr1());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateBetween_RightValueExpr2());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateBetween)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateBetween_type") :
+            getString("_UI_PredicateBetween_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateBetween.class)) {
+            case SQLQueryModelPackage.PREDICATE_BETWEEN__NOT_BETWEEN:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_BETWEEN__LEFT_VALUE_EXPR:
+            case SQLQueryModelPackage.PREDICATE_BETWEEN__RIGHT_VALUE_EXPR1:
+            case SQLQueryModelPackage.PREDICATE_BETWEEN__RIGHT_VALUE_EXPR2:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateExistsItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateExistsItemProvider.java
new file mode 100644
index 0000000..1da3d1f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateExistsItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateExistsItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateExists;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateExists} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateExistsItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateExistsItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateExists_QueryExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateExists)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateExists_type") :
+            getString("_UI_PredicateExists_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateExists.class)) {
+            case SQLQueryModelPackage.PREDICATE_EXISTS__QUERY_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInItemProvider.java
new file mode 100644
index 0000000..4e32624
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInItemProvider.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateInItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateIn;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateIn} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateInItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateInItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNotInPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Not In feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNotInPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateIn_notIn_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateIn_notIn_feature", "_UI_PredicateIn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateIn_NotIn(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateIn)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateIn_type") :
+            getString("_UI_PredicateIn_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateIn.class)) {
+            case SQLQueryModelPackage.PREDICATE_IN__NOT_IN:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueListItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueListItemProvider.java
new file mode 100644
index 0000000..3ac6944
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueListItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateInValueListItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateInValueList;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateInValueList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateInValueListItemProvider
+  extends PredicateInItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateInValueListItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueList_ValueExprList());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueList_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateInValueList)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateInValueList_type") :
+            getString("_UI_PredicateInValueList_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateInValueList.class)) {
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_LIST__VALUE_EXPR_LIST:
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_LIST__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueRowSelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueRowSelectItemProvider.java
new file mode 100644
index 0000000..6c51ba8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueRowSelectItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateInValueRowSelectItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateInValueRowSelect;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateInValueRowSelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateInValueRowSelectItemProvider
+  extends PredicateInItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateInValueRowSelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueRowSelect_ValueExprList());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueRowSelect_QueryExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateInValueRowSelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateInValueRowSelect_type") :
+            getString("_UI_PredicateInValueRowSelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateInValueRowSelect.class)) {
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_ROW_SELECT__VALUE_EXPR_LIST:
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_ROW_SELECT__QUERY_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueSelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueSelectItemProvider.java
new file mode 100644
index 0000000..ec16b52
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateInValueSelectItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateInValueSelectItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateInValueSelect;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateInValueSelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateInValueSelectItemProvider
+  extends PredicateInItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateInValueSelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueSelect_QueryExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateInValueSelect_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateInValueSelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateInValueSelect_type") :
+            getString("_UI_PredicateInValueSelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateInValueSelect.class)) {
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_SELECT__QUERY_EXPR:
+            case SQLQueryModelPackage.PREDICATE_IN_VALUE_SELECT__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateIsNullItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateIsNullItemProvider.java
new file mode 100644
index 0000000..65b612d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateIsNullItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateIsNullItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateIsNull;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateIsNull} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateIsNullItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateIsNullItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNotNullPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Not Null feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNotNullPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateIsNull_notNull_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateIsNull_notNull_feature", "_UI_PredicateIsNull_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateIsNull_NotNull(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateIsNull_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateIsNull)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateIsNull_type") :
+            getString("_UI_PredicateIsNull_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateIsNull.class)) {
+            case SQLQueryModelPackage.PREDICATE_IS_NULL__NOT_NULL:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_IS_NULL__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateItemProvider.java
new file mode 100644
index 0000000..ec9333d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateItemProvider.java
@@ -0,0 +1,164 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.Predicate;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.Predicate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateItemProvider
+  extends QuerySearchConditionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNegatedPredicatePropertyDescriptor(object);
+            addHasSelectivityPropertyDescriptor(object);
+            addSelectivityValuePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Negated Predicate feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNegatedPredicatePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Predicate_negatedPredicate_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Predicate_negatedPredicate_feature", "_UI_Predicate_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicate_NegatedPredicate(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Has Selectivity feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addHasSelectivityPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Predicate_hasSelectivity_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Predicate_hasSelectivity_feature", "_UI_Predicate_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicate_HasSelectivity(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Selectivity Value feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addSelectivityValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Predicate_selectivityValue_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Predicate_selectivityValue_feature", "_UI_Predicate_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicate_SelectivityValue(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((Predicate)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Predicate_type") :
+            getString("_UI_Predicate_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(Predicate.class)) {
+            case SQLQueryModelPackage.PREDICATE__NEGATED_PREDICATE:
+            case SQLQueryModelPackage.PREDICATE__HAS_SELECTIVITY:
+            case SQLQueryModelPackage.PREDICATE__SELECTIVITY_VALUE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateLikeItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateLikeItemProvider.java
new file mode 100644
index 0000000..55b74b4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateLikeItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateLikeItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateLike;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateLike} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateLikeItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateLikeItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNotLikePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Not Like feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNotLikePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateLike_notLike_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateLike_notLike_feature", "_UI_PredicateLike_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateLike_NotLike(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateLike_PatternValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateLike_MatchingValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateLike_EscapeValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateLike)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateLike_type") :
+            getString("_UI_PredicateLike_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateLike.class)) {
+            case SQLQueryModelPackage.PREDICATE_LIKE__NOT_LIKE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_LIKE__PATTERN_VALUE_EXPR:
+            case SQLQueryModelPackage.PREDICATE_LIKE__MATCHING_VALUE_EXPR:
+            case SQLQueryModelPackage.PREDICATE_LIKE__ESCAPE_VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedItemProvider.java
new file mode 100644
index 0000000..8f65701
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateQuantifiedItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateQuantified;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateQuantified} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateQuantifiedItemProvider
+  extends PredicateItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateQuantifiedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateQuantified)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateQuantified_type") :
+            getString("_UI_PredicateQuantified_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedRowSelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedRowSelectItemProvider.java
new file mode 100644
index 0000000..eb0d6c7
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedRowSelectItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateQuantifiedRowSelectItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateQuantifiedRowSelect;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateQuantifiedRowSelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateQuantifiedRowSelectItemProvider
+  extends PredicateQuantifiedItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateQuantifiedRowSelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addQuantifiedTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Quantified Type feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addQuantifiedTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateQuantifiedRowSelect_quantifiedType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateQuantifiedRowSelect_quantifiedType_feature", "_UI_PredicateQuantifiedRowSelect_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedRowSelect_QuantifiedType(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedRowSelect_QueryExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedRowSelect_ValueExprList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateQuantifiedRowSelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateQuantifiedRowSelect_type") :
+            getString("_UI_PredicateQuantifiedRowSelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateQuantifiedRowSelect.class)) {
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_ROW_SELECT__QUANTIFIED_TYPE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_ROW_SELECT__QUERY_EXPR:
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_ROW_SELECT__VALUE_EXPR_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedValueSelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedValueSelectItemProvider.java
new file mode 100644
index 0000000..727593e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/PredicateQuantifiedValueSelectItemProvider.java
@@ -0,0 +1,179 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PredicateQuantifiedValueSelectItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.PredicateQuantifiedValueSelect;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.PredicateQuantifiedValueSelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PredicateQuantifiedValueSelectItemProvider
+  extends PredicateQuantifiedItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public PredicateQuantifiedValueSelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addQuantifiedTypePropertyDescriptor(object);
+            addComparisonOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Quantified Type feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addQuantifiedTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateQuantifiedValueSelect_quantifiedType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateQuantifiedValueSelect_quantifiedType_feature", "_UI_PredicateQuantifiedValueSelect_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedValueSelect_QuantifiedType(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Comparison Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addComparisonOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PredicateQuantifiedValueSelect_comparisonOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PredicateQuantifiedValueSelect_comparisonOperator_feature", "_UI_PredicateQuantifiedValueSelect_type"),
+                 SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedValueSelect_ComparisonOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedValueSelect_QueryExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getPredicateQuantifiedValueSelect_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((PredicateQuantifiedValueSelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PredicateQuantifiedValueSelect_type") :
+            getString("_UI_PredicateQuantifiedValueSelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PredicateQuantifiedValueSelect.class)) {
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_VALUE_SELECT__QUANTIFIED_TYPE:
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_VALUE_SELECT__COMPARISON_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_VALUE_SELECT__QUERY_EXPR:
+            case SQLQueryModelPackage.PREDICATE_QUANTIFIED_VALUE_SELECT__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryChangeStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryChangeStatementItemProvider.java
new file mode 100644
index 0000000..d88a7d2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryChangeStatementItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryChangeStatementItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryChangeStatement;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.QueryChangeStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryChangeStatementItemProvider
+  extends QueryStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryChangeStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryChangeStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryChangeStatement_type") :
+            getString("_UI_QueryChangeStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryCombinedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryCombinedItemProvider.java
new file mode 100644
index 0000000..8042589
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryCombinedItemProvider.java
@@ -0,0 +1,204 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryCombinedItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryCombined;
+import org.eclipse.datatools.modelbase.sql.query.QueryCombinedOperator;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryCombined} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryCombinedItemProvider
+  extends QueryExpressionBodyItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryCombinedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addCombinedOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Combined Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addCombinedOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QueryCombined_combinedOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QueryCombined_combinedOperator_feature", "_UI_QueryCombined_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQueryCombined_CombinedOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryCombined_LeftQuery());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryCombined_RightQuery());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QueryCombined.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated NOT
+     */
+    public Object getImage(Object object) {
+        // return getResourceLocator().getImage("full/obj16/QueryCombined");
+        Object image = null;
+        
+        if (object instanceof QueryCombined) {
+            QueryCombined queryCombined = (QueryCombined) object;
+            QueryCombinedOperator oper = queryCombined.getCombinedOperator();
+            int enumVal = oper.getValue();
+            switch (enumVal) {
+                case QueryCombinedOperator.EXCEPT: 
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorExcept");
+                    break;
+                case QueryCombinedOperator.EXCEPT_ALL:
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorExceptAll");
+                    break;
+                case QueryCombinedOperator.INTERSECT:
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorIntersect");
+                    break;
+                case QueryCombinedOperator.INTERSECT_ALL:
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorIntersectAll");
+                    break;
+                case QueryCombinedOperator.UNION:
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorUnion");
+                    break;
+                case QueryCombinedOperator.UNION_ALL:
+                    image = getResourceLocator().getImage("full/obj16/QueryCombinedOperatorUnionAll");
+                    break;
+                default:
+                    break;
+            }
+        }
+        
+        return image;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public String getText(Object object) {
+        String label = ((QueryCombined)object).getName();
+        //label = label.replaceAll("_"," ");
+        return label == null || label.length() == 0 ?
+            //getString("_UI_QueryCombined_type") :
+        		getString("_UI_QueryCombinedOperator_UNION_literal") :
+           	//getString("_UI_QueryCombined_type") + " " + label;
+            	label.replaceAll("_"," ");	
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryCombined.class)) {
+            case SQLQueryModelPackage.QUERY_COMBINED__COMBINED_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.QUERY_COMBINED__LEFT_QUERY:
+            case SQLQueryModelPackage.QUERY_COMBINED__RIGHT_QUERY:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryDeleteStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryDeleteStatementItemProvider.java
new file mode 100644
index 0000000..d28bd12
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryDeleteStatementItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryDeleteStatementItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryDeleteStatement;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryDeleteStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryDeleteStatementItemProvider
+  extends QueryChangeStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryDeleteStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryDeleteStatement_WhereCurrentOfClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryDeleteStatement_WhereClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryDeleteStatement_TargetTable());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QueryDeleteStatement.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QueryDeleteStatement");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryDeleteStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryDeleteStatement_type") :
+            getString("_UI_QueryDeleteStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryDeleteStatement.class)) {
+            case SQLQueryModelPackage.QUERY_DELETE_STATEMENT__WHERE_CURRENT_OF_CLAUSE:
+            case SQLQueryModelPackage.QUERY_DELETE_STATEMENT__WHERE_CLAUSE:
+            case SQLQueryModelPackage.QUERY_DELETE_STATEMENT__TARGET_TABLE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionBodyItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionBodyItemProvider.java
new file mode 100644
index 0000000..5fa5176
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionBodyItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryExpressionBodyItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryExpressionBody;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.QueryExpressionBody} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryExpressionBodyItemProvider
+  extends TableExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryExpressionBodyItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryExpressionBody)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryExpressionBody_type") :
+            getString("_UI_QueryExpressionBody_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionRootItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionRootItemProvider.java
new file mode 100644
index 0000000..8fa56a3
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryExpressionRootItemProvider.java
@@ -0,0 +1,155 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryExpressionRootItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryExpressionRoot;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryExpressionRoot} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryExpressionRootItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryExpressionRootItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addValueExprScalarSelectsPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Value Expr Scalar Selects feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addValueExprScalarSelectsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QueryExpressionRoot_valueExprScalarSelects_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QueryExpressionRoot_valueExprScalarSelects_feature", "_UI_QueryExpressionRoot_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_ValueExprScalarSelects(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_WithClause());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_Query());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryExpressionRoot)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryExpressionRoot_type") :
+            getString("_UI_QueryExpressionRoot_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryExpressionRoot.class)) {
+            case SQLQueryModelPackage.QUERY_EXPRESSION_ROOT__WITH_CLAUSE:
+            case SQLQueryModelPackage.QUERY_EXPRESSION_ROOT__QUERY:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryInsertStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryInsertStatementItemProvider.java
new file mode 100644
index 0000000..708610a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryInsertStatementItemProvider.java
@@ -0,0 +1,191 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryInsertStatementItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryExpressionRoot;
+import org.eclipse.datatools.modelbase.sql.query.QueryInsertStatement;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryInsertStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryInsertStatementItemProvider
+  extends QueryChangeStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryInsertStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addTargetColumnListPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Target Column List feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addTargetColumnListPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QueryInsertStatement_targetColumnList_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QueryInsertStatement_targetColumnList_feature", "_UI_QueryInsertStatement_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQueryInsertStatement_TargetColumnList(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryInsertStatement_SourceQuery());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_Query());
+            
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryInsertStatement_SourceValuesRowList());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryInsertStatement_TargetTable());
+        }
+        return childrenFeatures;
+    }
+  /**
+   * This implements {@link ITreeItemContentProvider#getChildren ITreeItemContentProvider.getChildren}. If children are
+   * already cached in a {@link ChildrenStore}, they are returned. Otherwise, children are collected from the features
+   * returned by {@link #getChildrenFeatures getChildrenFeatures}.  The collected children may or may not be cached,
+   * depending on the result of {@link #createChildrenStore createChildrenStore}; by default, no store is returned if
+   * {@link #getChildrenFeatures getChildrenFeatures} returns only containment references. All children are optionally
+   * {@link #wrap wrapped} before being cached and returned. Subclasses may override {@link #createWrapper
+   * createWrapper} to specify when and with what to wrap children.
+     * @generated NOT
+   */
+  public Collection getChildren(Object object)
+  {
+  	List children = new ArrayList() ;
+  	QueryInsertStatement insertStmt = (QueryInsertStatement)object ;
+  	QueryExpressionRoot qRoot = insertStmt.getSourceQuery();
+  	if (qRoot != null) {
+  		children.addAll(qRoot.getWithClause());
+  		children.add(qRoot.getQuery()) ;
+  	}
+  	return children ;
+  }  
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QueryInsertStatement.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QueryInsertStatement");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryInsertStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryInsertStatement_type") :
+            getString("_UI_QueryInsertStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryInsertStatement.class)) {
+            case SQLQueryModelPackage.QUERY_INSERT_STATEMENT__SOURCE_QUERY:
+            case SQLQueryModelPackage.QUERY_INSERT_STATEMENT__SOURCE_VALUES_ROW_LIST:
+            case SQLQueryModelPackage.QUERY_INSERT_STATEMENT__TARGET_TABLE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryMergeStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryMergeStatementItemProvider.java
new file mode 100644
index 0000000..fdc9ada
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryMergeStatementItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryMergeStatementItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryMergeStatement;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.QueryMergeStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryMergeStatementItemProvider
+  extends QueryChangeStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryMergeStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryMergeStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryMergeStatement_type") :
+            getString("_UI_QueryMergeStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryResultSpecificationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryResultSpecificationItemProvider.java
new file mode 100644
index 0000000..ba87bcf
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryResultSpecificationItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryResultSpecificationItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryResultSpecification;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.QueryResultSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryResultSpecificationItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryResultSpecificationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryResultSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryResultSpecification_type") :
+            getString("_UI_QueryResultSpecification_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySearchConditionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySearchConditionItemProvider.java
new file mode 100644
index 0000000..b272e2a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySearchConditionItemProvider.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QuerySearchConditionItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QuerySearchCondition;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QuerySearchCondition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QuerySearchConditionItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QuerySearchConditionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addNegatedConditionPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Negated Condition feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addNegatedConditionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QuerySearchCondition_negatedCondition_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QuerySearchCondition_negatedCondition_feature", "_UI_QuerySearchCondition_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQuerySearchCondition_NegatedCondition(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QuerySearchCondition)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QuerySearchCondition_type") :
+            getString("_UI_QuerySearchCondition_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QuerySearchCondition.class)) {
+            case SQLQueryModelPackage.QUERY_SEARCH_CONDITION__NEGATED_CONDITION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectItemProvider.java
new file mode 100644
index 0000000..7054939
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectItemProvider.java
@@ -0,0 +1,177 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QuerySelectItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QuerySelect;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QuerySelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QuerySelectItemProvider
+  extends QueryExpressionBodyItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QuerySelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addDistinctPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Distinct feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addDistinctPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QuerySelect_distinct_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QuerySelect_distinct_feature", "_UI_QuerySelect_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQuerySelect_Distinct(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_HavingClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_WhereClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_GroupByClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_SelectClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_FromClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelect_IntoClause());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QuerySelect.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QuerySelect");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QuerySelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QuerySelect_type") :
+            getString("_UI_QuerySelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QuerySelect.class)) {
+            case SQLQueryModelPackage.QUERY_SELECT__DISTINCT:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.QUERY_SELECT__HAVING_CLAUSE:
+            case SQLQueryModelPackage.QUERY_SELECT__WHERE_CLAUSE:
+            case SQLQueryModelPackage.QUERY_SELECT__GROUP_BY_CLAUSE:
+            case SQLQueryModelPackage.QUERY_SELECT__SELECT_CLAUSE:
+            case SQLQueryModelPackage.QUERY_SELECT__FROM_CLAUSE:
+            case SQLQueryModelPackage.QUERY_SELECT__INTO_CLAUSE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectStatementItemProvider.java
new file mode 100644
index 0000000..8859778
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QuerySelectStatementItemProvider.java
@@ -0,0 +1,176 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QuerySelectStatementItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryExpressionRoot;
+import org.eclipse.datatools.modelbase.sql.query.QuerySelect;
+import org.eclipse.datatools.modelbase.sql.query.QuerySelectStatement;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QuerySelectStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QuerySelectStatementItemProvider
+  extends QueryStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QuerySelectStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelectStatement_QueryExpr());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQuerySelectStatement_OrderByClause());
+            
+            //QMP-nb
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_WithClause());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryExpressionRoot_Query());
+        }
+        return childrenFeatures;
+    }
+
+  /**
+   * This implements {@link ITreeItemContentProvider#getChildren ITreeItemContentProvider.getChildren}. If children are
+   * already cached in a {@link ChildrenStore}, they are returned. Otherwise, children are collected from the features
+   * returned by {@link #getChildrenFeatures getChildrenFeatures}.  The collected children may or may not be cached,
+   * depending on the result of {@link #createChildrenStore createChildrenStore}; by default, no store is returned if
+   * {@link #getChildrenFeatures getChildrenFeatures} returns only containment references. All children are optionally
+   * {@link #wrap wrapped} before being cached and returned. Subclasses may override {@link #createWrapper
+   * createWrapper} to specify when and with what to wrap children.
+     * @generated NOT
+   */
+  public Collection getChildren(Object object)
+  {
+  	List children = new ArrayList() ;
+  	QuerySelectStatement selectStmt = (QuerySelectStatement)object ;
+  	QueryExpressionRoot qRoot = selectStmt.getQueryExpr() ;
+  	if (qRoot != null) {
+  		children.addAll(qRoot.getWithClause());
+  		if ((!(qRoot.getQuery() instanceof QuerySelect)) || children.size() > 0) {
+  			children.add(qRoot.getQuery()) ;
+  		}
+  		
+  	}
+  	return children ;
+  }  
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QuerySelectStatement.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QuerySelectStatement");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QuerySelectStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QuerySelectStatement_type") :
+            getString("_UI_QuerySelectStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QuerySelectStatement.class)) {
+            case SQLQueryModelPackage.QUERY_SELECT_STATEMENT__QUERY_EXPR:
+            case SQLQueryModelPackage.QUERY_SELECT_STATEMENT__ORDER_BY_CLAUSE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryStatementItemProvider.java
new file mode 100644
index 0000000..cdd09e6
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryStatementItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryStatementItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryStatement;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.QueryStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryStatementItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryStatement_type") :
+            getString("_UI_QueryStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryUpdateStatementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryUpdateStatementItemProvider.java
new file mode 100644
index 0000000..9bd5205
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryUpdateStatementItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryUpdateStatementItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryUpdateStatement;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.UpdateAssignmentExpression;
+import org.eclipse.datatools.modelbase.sql.query.UpdateSource;
+import org.eclipse.datatools.modelbase.sql.query.UpdateSourceQuery;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryUpdateStatement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryUpdateStatementItemProvider
+  extends QueryChangeStatementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryUpdateStatementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getUpdateSourceQuery_QueryExpr());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryUpdateStatement_AssignmentClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryUpdateStatement_WhereCurrentOfClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryUpdateStatement_WhereClause());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryUpdateStatement_TargetTable());
+        }
+        return childrenFeatures;
+    }
+  
+  /**
+   * This implements {@link ITreeItemContentProvider#getChildren ITreeItemContentProvider.getChildren}. If children are
+   * already cached in a {@link ChildrenStore}, they are returned. Otherwise, children are collected from the features
+   * returned by {@link #getChildrenFeatures getChildrenFeatures}.  The collected children may or may not be cached,
+   * depending on the result of {@link #createChildrenStore createChildrenStore}; by default, no store is returned if
+   * {@link #getChildrenFeatures getChildrenFeatures} returns only containment references. All children are optionally
+   * {@link #wrap wrapped} before being cached and returned. Subclasses may override {@link #createWrapper
+   * createWrapper} to specify when and with what to wrap children.
+     * @generated NOT
+   */
+  public Collection getChildren(Object object)
+  {
+  	List children = new ArrayList() ;
+  	QueryUpdateStatement updateStmt = (QueryUpdateStatement)object ;
+  	Iterator iter = updateStmt.getAssignmentClause().iterator();
+  	while (iter.hasNext()) {
+  		UpdateAssignmentExpression assignExpr = (UpdateAssignmentExpression)iter.next();
+  		UpdateSource updateSource = assignExpr.getUpdateSource(); 
+  		if (updateSource instanceof UpdateSourceQuery) {
+  			children.add(((UpdateSourceQuery)updateSource).getQueryExpr()) ;
+  		}
+  	}
+  
+  	return children ;
+  }  
+  
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns QueryUpdateStatement.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QueryUpdateStatement");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryUpdateStatement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryUpdateStatement_type") :
+            getString("_UI_QueryUpdateStatement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryUpdateStatement.class)) {
+            case SQLQueryModelPackage.QUERY_UPDATE_STATEMENT__ASSIGNMENT_CLAUSE:
+            case SQLQueryModelPackage.QUERY_UPDATE_STATEMENT__WHERE_CURRENT_OF_CLAUSE:
+            case SQLQueryModelPackage.QUERY_UPDATE_STATEMENT__WHERE_CLAUSE:
+            case SQLQueryModelPackage.QUERY_UPDATE_STATEMENT__TARGET_TABLE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValueExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValueExpressionItemProvider.java
new file mode 100644
index 0000000..6e18c30
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValueExpressionItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryValueExpressionItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryValueExpression;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryValueExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryValueExpressionItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryValueExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addUnaryOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Unary Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addUnaryOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_QueryValueExpression_unaryOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_QueryValueExpression_unaryOperator_feature", "_UI_QueryValueExpression_type"),
+                 SQLQueryModelPackage.eINSTANCE.getQueryValueExpression_UnaryOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryValueExpression_DataType());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryValueExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryValueExpression_type") :
+            getString("_UI_QueryValueExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryValueExpression.class)) {
+            case SQLQueryModelPackage.QUERY_VALUE_EXPRESSION__UNARY_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.QUERY_VALUE_EXPRESSION__DATA_TYPE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValuesItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValuesItemProvider.java
new file mode 100644
index 0000000..26d765b
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/QueryValuesItemProvider.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: QueryValuesItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.QueryValues;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.QueryValues} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryValuesItemProvider
+  extends QueryExpressionBodyItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public QueryValuesItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getQueryValues_ValuesRowList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns QueryValues.gif.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/QueryValues");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((QueryValues)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_QueryValues_type") :
+            getString("_UI_QueryValues_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(QueryValues.class)) {
+            case SQLQueryModelPackage.QUERY_VALUES__VALUES_ROW_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultColumnItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultColumnItemProvider.java
new file mode 100644
index 0000000..ebe55c0
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultColumnItemProvider.java
@@ -0,0 +1,140 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ResultColumnItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ResultColumn;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ResultColumn} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResultColumnItemProvider
+  extends QueryResultSpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResultColumnItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addOrderByResultColPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Order By Result Col feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addOrderByResultColPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ResultColumn_orderByResultCol_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ResultColumn_orderByResultCol_feature", "_UI_ResultColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getResultColumn_OrderByResultCol(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getResultColumn_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ResultColumn)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ResultColumn_type") :
+            getString("_UI_ResultColumn_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ResultColumn.class)) {
+            case SQLQueryModelPackage.RESULT_COLUMN__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultTableAllColumnsItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultTableAllColumnsItemProvider.java
new file mode 100644
index 0000000..6076050
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ResultTableAllColumnsItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ResultTableAllColumnsItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ResultTableAllColumns;
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ResultTableAllColumns} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResultTableAllColumnsItemProvider
+  extends QueryResultSpecificationItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResultTableAllColumnsItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addTableExprPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Table Expr feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addTableExprPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ResultTableAllColumns_tableExpr_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ResultTableAllColumns_tableExpr_feature", "_UI_ResultTableAllColumns_type"),
+                 SQLQueryModelPackage.eINSTANCE.getResultTableAllColumns_TableExpr(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ResultTableAllColumns)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ResultTableAllColumns_type") :
+            getString("_UI_ResultTableAllColumns_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryEditPlugin.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryEditPlugin.java
new file mode 100644
index 0000000..a1e53b7
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryEditPlugin.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed Materials - Property of IBM
+ * com.ibm.db.models.sql.query.edit
+ * (C) Copyright IBM Corporation 2005. All Rights Reserved.
+ *
+ * Note to U.S. Government Users Restricted Rights:
+ *   Use, duplication or disclosure restricted 
+ *   by GSA ADP Schedule Contract with IBM Corp.
+ *
+ * $Id: SQLQueryEditPlugin.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+import org.eclipse.datatools.modelbase.sql.schema.provider.SqlmodelEditPlugin;
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+
+/**
+ * This is the central singleton for the SQLQuery edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class SQLQueryEditPlugin extends EMFPlugin {
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public static final SQLQueryEditPlugin INSTANCE = new SQLQueryEditPlugin();
+
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  private static Implementation plugin;
+
+    /**
+     * Create the instance.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SQLQueryEditPlugin() {
+        super
+          (new ResourceLocator [] {
+             SqlmodelEditPlugin.INSTANCE,
+             EcoreEditPlugin.INSTANCE,
+           });
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @return the singleton instance.
+     * @generated
+     */
+  public ResourceLocator getPluginResourceLocator() {
+        return plugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @return the singleton instance.
+     * @generated
+     */
+  public static Implementation getPlugin() {
+        return plugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>Plugin</b>.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public static class Implementation extends EclipsePlugin {
+        /**
+         * Creates an instance.
+         * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+         * @generated
+         */
+    public Implementation() {
+            super();
+
+            // Remember the static instance.
+            //
+            plugin = this;
+        }
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryModelItemProviderAdapterFactory.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryModelItemProviderAdapterFactory.java
new file mode 100644
index 0000000..12f441c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryModelItemProviderAdapterFactory.java
@@ -0,0 +1,1550 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SQLQueryModelItemProviderAdapterFactory.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.datatools.modelbase.sql.query.util.SQLQueryModelAdapterFactory;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SQLQueryModelItemProviderAdapterFactory extends SQLQueryModelAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier {
+    /**
+     * This keeps track of the root adapter factory that delegates to this adapter factory.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ComposedAdapterFactory parentAdapterFactory;
+
+    /**
+     * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+    /**
+     * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected Collection supportedTypes = new ArrayList();
+
+    /**
+     * This constructs an instance.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SQLQueryModelItemProviderAdapterFactory() {
+        supportedTypes.add(IStructuredItemContentProvider.class);
+        supportedTypes.add(ITreeItemContentProvider.class);
+        supportedTypes.add(IItemPropertySource.class);
+        supportedTypes.add(IEditingDomainItemProvider.class);
+        supportedTypes.add(IItemLabelProvider.class);
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryDeleteStatement} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryDeleteStatementItemProvider queryDeleteStatementItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryDeleteStatement}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryDeleteStatementAdapter() {
+        if (queryDeleteStatementItemProvider == null) {
+            queryDeleteStatementItemProvider = new QueryDeleteStatementItemProvider(this);
+        }
+
+        return queryDeleteStatementItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryInsertStatement} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryInsertStatementItemProvider queryInsertStatementItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryInsertStatement}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryInsertStatementAdapter() {
+        if (queryInsertStatementItemProvider == null) {
+            queryInsertStatementItemProvider = new QueryInsertStatementItemProvider(this);
+        }
+
+        return queryInsertStatementItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QuerySelectStatement} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QuerySelectStatementItemProvider querySelectStatementItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QuerySelectStatement}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQuerySelectStatementAdapter() {
+        if (querySelectStatementItemProvider == null) {
+            querySelectStatementItemProvider = new QuerySelectStatementItemProvider(this);
+        }
+
+        return querySelectStatementItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryUpdateStatement} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryUpdateStatementItemProvider queryUpdateStatementItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryUpdateStatement}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryUpdateStatementAdapter() {
+        if (queryUpdateStatementItemProvider == null) {
+            queryUpdateStatementItemProvider = new QueryUpdateStatementItemProvider(this);
+        }
+
+        return queryUpdateStatementItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.UpdateAssignmentExpression} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected UpdateAssignmentExpressionItemProvider updateAssignmentExpressionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.UpdateAssignmentExpression}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createUpdateAssignmentExpressionAdapter() {
+        if (updateAssignmentExpressionItemProvider == null) {
+            updateAssignmentExpressionItemProvider = new UpdateAssignmentExpressionItemProvider(this);
+        }
+
+        return updateAssignmentExpressionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.CursorReference} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected CursorReferenceItemProvider cursorReferenceItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.CursorReference}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createCursorReferenceAdapter() {
+        if (cursorReferenceItemProvider == null) {
+            cursorReferenceItemProvider = new CursorReferenceItemProvider(this);
+        }
+
+        return cursorReferenceItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryExpressionRoot} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryExpressionRootItemProvider queryExpressionRootItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryExpressionRoot}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryExpressionRootAdapter() {
+        if (queryExpressionRootItemProvider == null) {
+            queryExpressionRootItemProvider = new QueryExpressionRootItemProvider(this);
+        }
+
+        return queryExpressionRootItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValuesRow} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValuesRowItemProvider valuesRowItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValuesRow}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValuesRowAdapter() {
+        if (valuesRowItemProvider == null) {
+            valuesRowItemProvider = new ValuesRowItemProvider(this);
+        }
+
+        return valuesRowItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryValues} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryValuesItemProvider queryValuesItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryValues}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryValuesAdapter() {
+        if (queryValuesItemProvider == null) {
+            queryValuesItemProvider = new QueryValuesItemProvider(this);
+        }
+
+        return queryValuesItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.TableJoined} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected TableJoinedItemProvider tableJoinedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.TableJoined}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createTableJoinedAdapter() {
+        if (tableJoinedItemProvider == null) {
+            tableJoinedItemProvider = new TableJoinedItemProvider(this);
+        }
+
+        return tableJoinedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.WithTableSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected WithTableSpecificationItemProvider withTableSpecificationItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.WithTableSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public Adapter createWithTableSpecificationAdapter() {
+        if (withTableSpecificationItemProvider == null) {
+            withTableSpecificationItemProvider = new WithTableSpecificationItemProvider(this);
+        }
+
+        return withTableSpecificationItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.SearchConditionCombined} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected SearchConditionCombinedItemProvider searchConditionCombinedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.SearchConditionCombined}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createSearchConditionCombinedAdapter() {
+        if (searchConditionCombinedItemProvider == null) {
+            searchConditionCombinedItemProvider = new SearchConditionCombinedItemProvider(this);
+        }
+
+        return searchConditionCombinedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.OrderByValueExpression} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected OrderByValueExpressionItemProvider orderByValueExpressionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.OrderByValueExpression}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createOrderByValueExpressionAdapter() {
+        if (orderByValueExpressionItemProvider == null) {
+            orderByValueExpressionItemProvider = new OrderByValueExpressionItemProvider(this);
+        }
+
+        return orderByValueExpressionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryCombined} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryCombinedItemProvider queryCombinedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryCombined}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryCombinedAdapter() {
+        if (queryCombinedItemProvider == null) {
+            queryCombinedItemProvider = new QueryCombinedItemProvider(this);
+        }
+
+        return queryCombinedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QuerySelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QuerySelectItemProvider querySelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QuerySelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQuerySelectAdapter() {
+        if (querySelectItemProvider == null) {
+            querySelectItemProvider = new QuerySelectItemProvider(this);
+        }
+
+        return querySelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ResultTableAllColumns} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ResultTableAllColumnsItemProvider resultTableAllColumnsItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ResultTableAllColumns}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createResultTableAllColumnsAdapter() {
+        if (resultTableAllColumnsItemProvider == null) {
+            resultTableAllColumnsItemProvider = new ResultTableAllColumnsItemProvider(this);
+        }
+
+        return resultTableAllColumnsItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ResultColumn} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ResultColumnItemProvider resultColumnItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ResultColumn}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createResultColumnAdapter() {
+        if (resultColumnItemProvider == null) {
+            resultColumnItemProvider = new ResultColumnItemProvider(this);
+        }
+
+        return resultColumnItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateBasic} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateBasicItemProvider predicateBasicItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateBasic}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateBasicAdapter() {
+        if (predicateBasicItemProvider == null) {
+            predicateBasicItemProvider = new PredicateBasicItemProvider(this);
+        }
+
+        return predicateBasicItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateBetween} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateBetweenItemProvider predicateBetweenItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateBetween}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateBetweenAdapter() {
+        if (predicateBetweenItemProvider == null) {
+            predicateBetweenItemProvider = new PredicateBetweenItemProvider(this);
+        }
+
+        return predicateBetweenItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateExists} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateExistsItemProvider predicateExistsItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateExists}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateExistsAdapter() {
+        if (predicateExistsItemProvider == null) {
+            predicateExistsItemProvider = new PredicateExistsItemProvider(this);
+        }
+
+        return predicateExistsItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateLike} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateLikeItemProvider predicateLikeItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateLike}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateLikeAdapter() {
+        if (predicateLikeItemProvider == null) {
+            predicateLikeItemProvider = new PredicateLikeItemProvider(this);
+        }
+
+        return predicateLikeItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateIsNull} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateIsNullItemProvider predicateIsNullItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateIsNull}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateIsNullAdapter() {
+        if (predicateIsNullItemProvider == null) {
+            predicateIsNullItemProvider = new PredicateIsNullItemProvider(this);
+        }
+
+        return predicateIsNullItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateQuantifiedValueSelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateQuantifiedValueSelectItemProvider predicateQuantifiedValueSelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateQuantifiedValueSelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateQuantifiedValueSelectAdapter() {
+        if (predicateQuantifiedValueSelectItemProvider == null) {
+            predicateQuantifiedValueSelectItemProvider = new PredicateQuantifiedValueSelectItemProvider(this);
+        }
+
+        return predicateQuantifiedValueSelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateQuantifiedRowSelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateQuantifiedRowSelectItemProvider predicateQuantifiedRowSelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateQuantifiedRowSelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateQuantifiedRowSelectAdapter() {
+        if (predicateQuantifiedRowSelectItemProvider == null) {
+            predicateQuantifiedRowSelectItemProvider = new PredicateQuantifiedRowSelectItemProvider(this);
+        }
+
+        return predicateQuantifiedRowSelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateInValueSelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateInValueSelectItemProvider predicateInValueSelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateInValueSelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateInValueSelectAdapter() {
+        if (predicateInValueSelectItemProvider == null) {
+            predicateInValueSelectItemProvider = new PredicateInValueSelectItemProvider(this);
+        }
+
+        return predicateInValueSelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateInValueList} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateInValueListItemProvider predicateInValueListItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateInValueList}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateInValueListAdapter() {
+        if (predicateInValueListItemProvider == null) {
+            predicateInValueListItemProvider = new PredicateInValueListItemProvider(this);
+        }
+
+        return predicateInValueListItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.PredicateInValueRowSelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected PredicateInValueRowSelectItemProvider predicateInValueRowSelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.PredicateInValueRowSelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createPredicateInValueRowSelectAdapter() {
+        if (predicateInValueRowSelectItemProvider == null) {
+            predicateInValueRowSelectItemProvider = new PredicateInValueRowSelectItemProvider(this);
+        }
+
+        return predicateInValueRowSelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionSimple} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionSimpleItemProvider valueExpressionSimpleItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionSimple}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionSimpleAdapter() {
+        if (valueExpressionSimpleItemProvider == null) {
+            valueExpressionSimpleItemProvider = new ValueExpressionSimpleItemProvider(this);
+        }
+
+        return valueExpressionSimpleItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionColumn} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionColumnItemProvider valueExpressionColumnItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionColumn}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionColumnAdapter() {
+        if (valueExpressionColumnItemProvider == null) {
+            valueExpressionColumnItemProvider = new ValueExpressionColumnItemProvider(this);
+        }
+
+        return valueExpressionColumnItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionVariable} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionVariableItemProvider valueExpressionVariableItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionVariable}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionVariableAdapter() {
+        if (valueExpressionVariableItemProvider == null) {
+            valueExpressionVariableItemProvider = new ValueExpressionVariableItemProvider(this);
+        }
+
+        return valueExpressionVariableItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionScalarSelect} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionScalarSelectItemProvider valueExpressionScalarSelectItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionScalarSelect}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionScalarSelectAdapter() {
+        if (valueExpressionScalarSelectItemProvider == null) {
+            valueExpressionScalarSelectItemProvider = new ValueExpressionScalarSelectItemProvider(this);
+        }
+
+        return valueExpressionScalarSelectItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionLabeledDuration} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionLabeledDurationItemProvider valueExpressionLabeledDurationItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionLabeledDuration}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionLabeledDurationAdapter() {
+        if (valueExpressionLabeledDurationItemProvider == null) {
+            valueExpressionLabeledDurationItemProvider = new ValueExpressionLabeledDurationItemProvider(this);
+        }
+
+        return valueExpressionLabeledDurationItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCast} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCastItemProvider valueExpressionCastItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCast}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCastAdapter() {
+        if (valueExpressionCastItemProvider == null) {
+            valueExpressionCastItemProvider = new ValueExpressionCastItemProvider(this);
+        }
+
+        return valueExpressionCastItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionNullValue} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionNullValueItemProvider valueExpressionNullValueItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionNullValue}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionNullValueAdapter() {
+        if (valueExpressionNullValueItemProvider == null) {
+            valueExpressionNullValueItemProvider = new ValueExpressionNullValueItemProvider(this);
+        }
+
+        return valueExpressionNullValueItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionDefaultValue} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionDefaultValueItemProvider valueExpressionDefaultValueItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionDefaultValue}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionDefaultValueAdapter() {
+        if (valueExpressionDefaultValueItemProvider == null) {
+            valueExpressionDefaultValueItemProvider = new ValueExpressionDefaultValueItemProvider(this);
+        }
+
+        return valueExpressionDefaultValueItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionFunction} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionFunctionItemProvider valueExpressionFunctionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionFunction}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionFunctionAdapter() {
+        if (valueExpressionFunctionItemProvider == null) {
+            valueExpressionFunctionItemProvider = new ValueExpressionFunctionItemProvider(this);
+        }
+
+        return valueExpressionFunctionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCombined} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCombinedItemProvider valueExpressionCombinedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCombined}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCombinedAdapter() {
+        if (valueExpressionCombinedItemProvider == null) {
+            valueExpressionCombinedItemProvider = new ValueExpressionCombinedItemProvider(this);
+        }
+
+        return valueExpressionCombinedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.GroupingSets} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected GroupingSetsItemProvider groupingSetsItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.GroupingSets}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createGroupingSetsAdapter() {
+        if (groupingSetsItemProvider == null) {
+            groupingSetsItemProvider = new GroupingSetsItemProvider(this);
+        }
+
+        return groupingSetsItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.GroupingSetsElementSublist} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected GroupingSetsElementSublistItemProvider groupingSetsElementSublistItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.GroupingSetsElementSublist}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createGroupingSetsElementSublistAdapter() {
+        if (groupingSetsElementSublistItemProvider == null) {
+            groupingSetsElementSublistItemProvider = new GroupingSetsElementSublistItemProvider(this);
+        }
+
+        return groupingSetsElementSublistItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.GroupingSetsElementExpression} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected GroupingSetsElementExpressionItemProvider groupingSetsElementExpressionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.GroupingSetsElementExpression}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createGroupingSetsElementExpressionAdapter() {
+        if (groupingSetsElementExpressionItemProvider == null) {
+            groupingSetsElementExpressionItemProvider = new GroupingSetsElementExpressionItemProvider(this);
+        }
+
+        return groupingSetsElementExpressionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.SuperGroup} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected SuperGroupItemProvider superGroupItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.SuperGroup}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createSuperGroupAdapter() {
+        if (superGroupItemProvider == null) {
+            superGroupItemProvider = new SuperGroupItemProvider(this);
+        }
+
+        return superGroupItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.GroupingExpression} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected GroupingExpressionItemProvider groupingExpressionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.GroupingExpression}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createGroupingExpressionAdapter() {
+        if (groupingExpressionItemProvider == null) {
+            groupingExpressionItemProvider = new GroupingExpressionItemProvider(this);
+        }
+
+        return groupingExpressionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.SuperGroupElementSublist} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected SuperGroupElementSublistItemProvider superGroupElementSublistItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.SuperGroupElementSublist}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createSuperGroupElementSublistAdapter() {
+        if (superGroupElementSublistItemProvider == null) {
+            superGroupElementSublistItemProvider = new SuperGroupElementSublistItemProvider(this);
+        }
+
+        return superGroupElementSublistItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.SuperGroupElementExpression} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected SuperGroupElementExpressionItemProvider superGroupElementExpressionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.SuperGroupElementExpression}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createSuperGroupElementExpressionAdapter() {
+        if (superGroupElementExpressionItemProvider == null) {
+            superGroupElementExpressionItemProvider = new SuperGroupElementExpressionItemProvider(this);
+        }
+
+        return superGroupElementExpressionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCaseSearch} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCaseSearchItemProvider valueExpressionCaseSearchItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCaseSearch}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCaseSearchAdapter() {
+        if (valueExpressionCaseSearchItemProvider == null) {
+            valueExpressionCaseSearchItemProvider = new ValueExpressionCaseSearchItemProvider(this);
+        }
+
+        return valueExpressionCaseSearchItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCaseSimple} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCaseSimpleItemProvider valueExpressionCaseSimpleItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCaseSimple}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCaseSimpleAdapter() {
+        if (valueExpressionCaseSimpleItemProvider == null) {
+            valueExpressionCaseSimpleItemProvider = new ValueExpressionCaseSimpleItemProvider(this);
+        }
+
+        return valueExpressionCaseSimpleItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCaseElse} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCaseElseItemProvider valueExpressionCaseElseItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCaseElse}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCaseElseAdapter() {
+        if (valueExpressionCaseElseItemProvider == null) {
+            valueExpressionCaseElseItemProvider = new ValueExpressionCaseElseItemProvider(this);
+        }
+
+        return valueExpressionCaseElseItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCaseSearchContent} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCaseSearchContentItemProvider valueExpressionCaseSearchContentItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCaseSearchContent}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCaseSearchContentAdapter() {
+        if (valueExpressionCaseSearchContentItemProvider == null) {
+            valueExpressionCaseSearchContentItemProvider = new ValueExpressionCaseSearchContentItemProvider(this);
+        }
+
+        return valueExpressionCaseSearchContentItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionCaseSimpleContent} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionCaseSimpleContentItemProvider valueExpressionCaseSimpleContentItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionCaseSimpleContent}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionCaseSimpleContentAdapter() {
+        if (valueExpressionCaseSimpleContentItemProvider == null) {
+            valueExpressionCaseSimpleContentItemProvider = new ValueExpressionCaseSimpleContentItemProvider(this);
+        }
+
+        return valueExpressionCaseSimpleContentItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.TableInDatabase} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected TableInDatabaseItemProvider tableInDatabaseItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.TableInDatabase}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createTableInDatabaseAdapter() {
+        if (tableInDatabaseItemProvider == null) {
+            tableInDatabaseItemProvider = new TableInDatabaseItemProvider(this);
+        }
+
+        return tableInDatabaseItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.TableFunction} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected TableFunctionItemProvider tableFunctionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.TableFunction}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createTableFunctionAdapter() {
+        if (tableFunctionItemProvider == null) {
+            tableFunctionItemProvider = new TableFunctionItemProvider(this);
+        }
+
+        return tableFunctionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ColumnName} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ColumnNameItemProvider columnNameItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ColumnName}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createColumnNameAdapter() {
+        if (columnNameItemProvider == null) {
+            columnNameItemProvider = new ColumnNameItemProvider(this);
+        }
+
+        return columnNameItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.TableNested} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected TableNestedItemProvider tableNestedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.TableNested}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createTableNestedAdapter() {
+        if (tableNestedItemProvider == null) {
+            tableNestedItemProvider = new TableNestedItemProvider(this);
+        }
+
+        return tableNestedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.QueryMergeStatement} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected QueryMergeStatementItemProvider queryMergeStatementItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.QueryMergeStatement}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createQueryMergeStatementAdapter() {
+        if (queryMergeStatementItemProvider == null) {
+            queryMergeStatementItemProvider = new QueryMergeStatementItemProvider(this);
+        }
+
+        return queryMergeStatementItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.SearchConditionNested} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected SearchConditionNestedItemProvider searchConditionNestedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.SearchConditionNested}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createSearchConditionNestedAdapter() {
+        if (searchConditionNestedItemProvider == null) {
+            searchConditionNestedItemProvider = new SearchConditionNestedItemProvider(this);
+        }
+
+        return searchConditionNestedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.ValueExpressionNested} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected ValueExpressionNestedItemProvider valueExpressionNestedItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.ValueExpressionNested}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createValueExpressionNestedAdapter() {
+        if (valueExpressionNestedItemProvider == null) {
+            valueExpressionNestedItemProvider = new ValueExpressionNestedItemProvider(this);
+        }
+
+        return valueExpressionNestedItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.OrderByOrdinal} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected OrderByOrdinalItemProvider orderByOrdinalItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.OrderByOrdinal}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createOrderByOrdinalAdapter() {
+        if (orderByOrdinalItemProvider == null) {
+            orderByOrdinalItemProvider = new OrderByOrdinalItemProvider(this);
+        }
+
+        return orderByOrdinalItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.TableCorrelation} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected TableCorrelationItemProvider tableCorrelationItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.TableCorrelation}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createTableCorrelationAdapter() {
+        if (tableCorrelationItemProvider == null) {
+            tableCorrelationItemProvider = new TableCorrelationItemProvider(this);
+        }
+
+        return tableCorrelationItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.UpdateSource} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected UpdateSourceItemProvider updateSourceItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.UpdateSource}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createUpdateSourceAdapter() {
+        if (updateSourceItemProvider == null) {
+            updateSourceItemProvider = new UpdateSourceItemProvider(this);
+        }
+
+        return updateSourceItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.UpdateSourceExprList} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected UpdateSourceExprListItemProvider updateSourceExprListItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.UpdateSourceExprList}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createUpdateSourceExprListAdapter() {
+        if (updateSourceExprListItemProvider == null) {
+            updateSourceExprListItemProvider = new UpdateSourceExprListItemProvider(this);
+        }
+
+        return updateSourceExprListItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.UpdateSourceQuery} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected UpdateSourceQueryItemProvider updateSourceQueryItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.UpdateSourceQuery}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createUpdateSourceQueryAdapter() {
+        if (updateSourceQueryItemProvider == null) {
+            updateSourceQueryItemProvider = new UpdateSourceQueryItemProvider(this);
+        }
+
+        return updateSourceQueryItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.OrderByResultColumn} instances.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected OrderByResultColumnItemProvider orderByResultColumnItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.OrderByResultColumn}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter createOrderByResultColumnAdapter() {
+        if (orderByResultColumnItemProvider == null) {
+            orderByResultColumnItemProvider = new OrderByResultColumnItemProvider(this);
+        }
+
+        return orderByResultColumnItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link com.ibm.db.models.sql.query.WithTableReference} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected WithTableReferenceItemProvider withTableReferenceItemProvider;
+
+    /**
+     * This creates an adapter for a {@link com.ibm.db.models.sql.query.WithTableReference}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public Adapter createWithTableReferenceAdapter() {
+        if (withTableReferenceItemProvider == null) {
+            withTableReferenceItemProvider = new WithTableReferenceItemProvider(this);
+        }
+
+        return withTableReferenceItemProvider;
+    }
+
+    /**
+     * This returns the root adapter factory that contains this factory.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ComposeableAdapterFactory getRootAdapterFactory() {
+        return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+    }
+
+    /**
+     * This sets the composed adapter factory that contains this factory.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+        this.parentAdapterFactory = parentAdapterFactory;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public boolean isFactoryForType(Object type) {
+        return supportedTypes.contains(type) || super.isFactoryForType(type);
+    }
+
+    /**
+     * This implementation substitutes the factory itself as the key for the adapter.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Adapter adapt(Notifier notifier, Object type) {
+        return super.adapt(notifier, this);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Object adapt(Object object, Object type) {
+        if (isFactoryForType(type)) {
+            Object adapter = super.adapt(object, type);
+            if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) {
+                return adapter;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * This adds a listener.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void addListener(INotifyChangedListener notifyChangedListener) {
+        changeNotifier.addListener(notifyChangedListener);
+    }
+
+    /**
+     * This removes a listener.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void removeListener(INotifyChangedListener notifyChangedListener) {
+        changeNotifier.removeListener(notifyChangedListener);
+    }
+
+    /**
+     * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void fireNotifyChanged(Notification notification) {
+        changeNotifier.fireNotifyChanged(notification);
+
+        if (parentAdapterFactory != null) {
+            parentAdapterFactory.fireNotifyChanged(notification);
+        }
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryObjectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryObjectItemProvider.java
new file mode 100644
index 0000000..f9b667b
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SQLQueryObjectItemProvider.java
@@ -0,0 +1,96 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SQLQueryObjectItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryObject;
+import org.eclipse.datatools.modelbase.sql.schema.provider.SQLObjectItemProvider;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.SQLQueryObject} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SQLQueryObjectItemProvider
+  extends SQLObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SQLQueryObjectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SQLQueryObject)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SQLQueryObject_type") :
+            getString("_UI_SQLQueryObject_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionCombinedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionCombinedItemProvider.java
new file mode 100644
index 0000000..752c57a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionCombinedItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SearchConditionCombinedItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.SearchConditionCombined;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.SearchConditionCombined} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SearchConditionCombinedItemProvider
+  extends QuerySearchConditionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SearchConditionCombinedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addCombinedOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Combined Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addCombinedOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_SearchConditionCombined_combinedOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_SearchConditionCombined_combinedOperator_feature", "_UI_SearchConditionCombined_type"),
+                 SQLQueryModelPackage.eINSTANCE.getSearchConditionCombined_CombinedOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSearchConditionCombined_LeftCondition());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSearchConditionCombined_RightCondition());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SearchConditionCombined)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SearchConditionCombined_type") :
+            getString("_UI_SearchConditionCombined_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(SearchConditionCombined.class)) {
+            case SQLQueryModelPackage.SEARCH_CONDITION_COMBINED__COMBINED_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.SEARCH_CONDITION_COMBINED__LEFT_CONDITION:
+            case SQLQueryModelPackage.SEARCH_CONDITION_COMBINED__RIGHT_CONDITION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionNestedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionNestedItemProvider.java
new file mode 100644
index 0000000..1a12abd
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SearchConditionNestedItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SearchConditionNestedItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.SearchConditionNested;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.SearchConditionNested} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SearchConditionNestedItemProvider
+  extends QuerySearchConditionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SearchConditionNestedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSearchConditionNested_NestedCondition());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SearchConditionNested)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SearchConditionNested_type") :
+            getString("_UI_SearchConditionNested_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(SearchConditionNested.class)) {
+            case SQLQueryModelPackage.SEARCH_CONDITION_NESTED__NESTED_CONDITION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementExpressionItemProvider.java
new file mode 100644
index 0000000..a719357
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementExpressionItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuperGroupElementExpressionItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.SuperGroupElementExpression;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.SuperGroupElementExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SuperGroupElementExpressionItemProvider
+  extends SuperGroupElementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SuperGroupElementExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSuperGroupElementExpression_GroupingExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SuperGroupElementExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SuperGroupElementExpression_type") :
+            getString("_UI_SuperGroupElementExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(SuperGroupElementExpression.class)) {
+            case SQLQueryModelPackage.SUPER_GROUP_ELEMENT_EXPRESSION__GROUPING_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementItemProvider.java
new file mode 100644
index 0000000..2e4a311
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuperGroupElementItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SuperGroupElement;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.SuperGroupElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SuperGroupElementItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SuperGroupElementItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SuperGroupElement)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SuperGroupElement_type") :
+            getString("_UI_SuperGroupElement_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementSublistItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementSublistItemProvider.java
new file mode 100644
index 0000000..8f14231
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupElementSublistItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuperGroupElementSublistItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.SuperGroupElementSublist;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.SuperGroupElementSublist} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SuperGroupElementSublistItemProvider
+  extends SuperGroupElementItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SuperGroupElementSublistItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSuperGroupElementSublist_SuperGroupElementExprList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SuperGroupElementSublist)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SuperGroupElementSublist_type") :
+            getString("_UI_SuperGroupElementSublist_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(SuperGroupElementSublist.class)) {
+            case SQLQueryModelPackage.SUPER_GROUP_ELEMENT_SUBLIST__SUPER_GROUP_ELEMENT_EXPR_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupItemProvider.java
new file mode 100644
index 0000000..015eca2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/SuperGroupItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuperGroupItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.SuperGroup;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.SuperGroup} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SuperGroupItemProvider
+  extends GroupingItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public SuperGroupItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addSuperGroupTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Super Group Type feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addSuperGroupTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_SuperGroup_superGroupType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_SuperGroup_superGroupType_feature", "_UI_SuperGroup_type"),
+                 SQLQueryModelPackage.eINSTANCE.getSuperGroup_SuperGroupType(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getSuperGroup_SuperGroupElementList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((SuperGroup)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_SuperGroup_type") :
+            getString("_UI_SuperGroup_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(SuperGroup.class)) {
+            case SQLQueryModelPackage.SUPER_GROUP__SUPER_GROUP_TYPE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.SUPER_GROUP__SUPER_GROUP_ELEMENT_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableCorrelationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableCorrelationItemProvider.java
new file mode 100644
index 0000000..0e7392f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableCorrelationItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableCorrelationItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.TableCorrelation;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.TableCorrelation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableCorrelationItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableCorrelationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableCorrelation_ColumnNameList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableCorrelation)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableCorrelation_type") :
+            getString("_UI_TableCorrelation_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(TableCorrelation.class)) {
+            case SQLQueryModelPackage.TABLE_CORRELATION__COLUMN_NAME_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableExpressionItemProvider.java
new file mode 100644
index 0000000..b4ebb05
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableExpressionItemProvider.java
@@ -0,0 +1,190 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableExpressionItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.TableExpression;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.TableExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableExpressionItemProvider
+  extends TableReferenceItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addColumnListPropertyDescriptor(object);
+            addResultTableAllColumnsPropertyDescriptor(object);
+            addValueExprColumnsPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Column List feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addColumnListPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableExpression_columnList_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableExpression_columnList_feature", "_UI_TableExpression_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableExpression_ColumnList(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Result Table All Columns feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addResultTableAllColumnsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableExpression_resultTableAllColumns_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableExpression_resultTableAllColumns_feature", "_UI_TableExpression_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableExpression_ResultTableAllColumns(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Value Expr Columns feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addValueExprColumnsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableExpression_valueExprColumns_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableExpression_valueExprColumns_feature", "_UI_TableExpression_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableExpression_ValueExprColumns(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableExpression_ColumnList());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableExpression_TableCorrelation());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableExpression_type") :
+            getString("_UI_TableExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(TableExpression.class)) {
+            case SQLQueryModelPackage.TABLE_EXPRESSION__TABLE_CORRELATION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableFunctionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableFunctionItemProvider.java
new file mode 100644
index 0000000..c799d68
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableFunctionItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableFunctionItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.TableFunction;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.TableFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableFunctionItemProvider
+  extends TableExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableFunctionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableFunction)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableFunction_type") :
+            getString("_UI_TableFunction_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableInDatabaseItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableInDatabaseItemProvider.java
new file mode 100644
index 0000000..fffb491
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableInDatabaseItemProvider.java
@@ -0,0 +1,134 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableInDatabaseItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.TableInDatabase;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.TableInDatabase} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableInDatabaseItemProvider
+  extends TableExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableInDatabaseItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addDatabaseTablePropertyDescriptor(object);
+            addDerivedColumnListPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Database Table feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addDatabaseTablePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableInDatabase_databaseTable_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableInDatabase_databaseTable_feature", "_UI_TableInDatabase_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableInDatabase_DatabaseTable(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Derived Column List feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addDerivedColumnListPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableInDatabase_derivedColumnList_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableInDatabase_derivedColumnList_feature", "_UI_TableInDatabase_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableInDatabase_DerivedColumnList(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableInDatabase)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableInDatabase_type") :
+            getString("_UI_TableInDatabase_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableJoinedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableJoinedItemProvider.java
new file mode 100644
index 0000000..28efe9a
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableJoinedItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableJoinedItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.TableJoined;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.TableJoined} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableJoinedItemProvider
+  extends TableReferenceItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableJoinedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addJoinOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Join Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addJoinOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_TableJoined_joinOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_TableJoined_joinOperator_feature", "_UI_TableJoined_type"),
+                 SQLQueryModelPackage.eINSTANCE.getTableJoined_JoinOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableJoined_JoinCondition());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableJoined_TableRefRight());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableJoined_TableRefLeft());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableJoined)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableJoined_type") :
+            getString("_UI_TableJoined_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(TableJoined.class)) {
+            case SQLQueryModelPackage.TABLE_JOINED__JOIN_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.TABLE_JOINED__JOIN_CONDITION:
+            case SQLQueryModelPackage.TABLE_JOINED__TABLE_REF_RIGHT:
+            case SQLQueryModelPackage.TABLE_JOINED__TABLE_REF_LEFT:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableNestedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableNestedItemProvider.java
new file mode 100644
index 0000000..64e638e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableNestedItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableNestedItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.TableNested;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.TableNested} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableNestedItemProvider
+  extends TableReferenceItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableNestedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getTableNested_NestedTableRef());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableNested)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableNested_type") :
+            getString("_UI_TableNested_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(TableNested.class)) {
+            case SQLQueryModelPackage.TABLE_NESTED__NESTED_TABLE_REF:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableReferenceItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableReferenceItemProvider.java
new file mode 100644
index 0000000..ddedbfd
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/TableReferenceItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableReferenceItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.TableReference;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.TableReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TableReferenceItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public TableReferenceItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((TableReference)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_TableReference_type") :
+            getString("_UI_TableReference_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateAssignmentExpressionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateAssignmentExpressionItemProvider.java
new file mode 100644
index 0000000..630e890
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateAssignmentExpressionItemProvider.java
@@ -0,0 +1,140 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UpdateAssignmentExpressionItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.UpdateAssignmentExpression;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.UpdateAssignmentExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UpdateAssignmentExpressionItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public UpdateAssignmentExpressionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addTargetColumnListPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Target Column List feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addTargetColumnListPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_UpdateAssignmentExpression_targetColumnList_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_UpdateAssignmentExpression_targetColumnList_feature", "_UI_UpdateAssignmentExpression_type"),
+                 SQLQueryModelPackage.eINSTANCE.getUpdateAssignmentExpression_TargetColumnList(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getUpdateAssignmentExpression_UpdateSource());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((UpdateAssignmentExpression)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_UpdateAssignmentExpression_type") :
+            getString("_UI_UpdateAssignmentExpression_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(UpdateAssignmentExpression.class)) {
+            case SQLQueryModelPackage.UPDATE_ASSIGNMENT_EXPRESSION__UPDATE_SOURCE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceExprListItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceExprListItemProvider.java
new file mode 100644
index 0000000..c56f9a1
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceExprListItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UpdateSourceExprListItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.UpdateSourceExprList;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.UpdateSourceExprList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UpdateSourceExprListItemProvider
+  extends UpdateSourceItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public UpdateSourceExprListItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getUpdateSourceExprList_ValueExprList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((UpdateSourceExprList)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_UpdateSourceExprList_type") :
+            getString("_UI_UpdateSourceExprList_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(UpdateSourceExprList.class)) {
+            case SQLQueryModelPackage.UPDATE_SOURCE_EXPR_LIST__VALUE_EXPR_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceItemProvider.java
new file mode 100644
index 0000000..2166508
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UpdateSourceItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.UpdateSource;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.UpdateSource} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UpdateSourceItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public UpdateSourceItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((UpdateSource)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_UpdateSource_type") :
+            getString("_UI_UpdateSource_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceQueryItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceQueryItemProvider.java
new file mode 100644
index 0000000..da3dbd8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/UpdateSourceQueryItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UpdateSourceQueryItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.UpdateSourceQuery;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.UpdateSourceQuery} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UpdateSourceQueryItemProvider
+  extends UpdateSourceItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public UpdateSourceQueryItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getUpdateSourceQuery_QueryExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((UpdateSourceQuery)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_UpdateSourceQuery_type") :
+            getString("_UI_UpdateSourceQuery_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(UpdateSourceQuery.class)) {
+            case SQLQueryModelPackage.UPDATE_SOURCE_QUERY__QUERY_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionAtomicItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionAtomicItemProvider.java
new file mode 100644
index 0000000..3eb08ac
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionAtomicItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionAtomicItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionAtomic;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.ValueExpressionAtomic} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionAtomicItemProvider
+  extends QueryValueExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionAtomicItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionAtomic)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionAtomic_type") :
+            getString("_UI_ValueExpressionAtomic_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseElseItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseElseItemProvider.java
new file mode 100644
index 0000000..86164bb
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseElseItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseElseItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseElse;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseElse} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseElseItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseElseItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseElse_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCaseElse)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCaseElse_type") :
+            getString("_UI_ValueExpressionCaseElse_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCaseElse.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_ELSE__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseItemProvider.java
new file mode 100644
index 0000000..14b5994
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCase;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCase} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCase_CaseElse());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCase)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCase_type") :
+            getString("_UI_ValueExpressionCase_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCase.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE__CASE_ELSE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchContentItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchContentItemProvider.java
new file mode 100644
index 0000000..6c8d641
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchContentItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseSearchContentItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSearchContent;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSearchContent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseSearchContentItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseSearchContentItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSearchContent_ValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSearchContent_SearchCondition());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCaseSearchContent)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCaseSearchContent_type") :
+            getString("_UI_ValueExpressionCaseSearchContent_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCaseSearchContent.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SEARCH_CONTENT__VALUE_EXPR:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SEARCH_CONTENT__SEARCH_CONDITION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchItemProvider.java
new file mode 100644
index 0000000..e8708f2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSearchItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseSearchItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSearch;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSearch} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseSearchItemProvider
+  extends ValueExpressionCaseItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseSearchItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSearch_SearchContentList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCaseSearch)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCaseSearch_type") :
+            getString("_UI_ValueExpressionCaseSearch_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCaseSearch.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SEARCH__SEARCH_CONTENT_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleContentItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleContentItemProvider.java
new file mode 100644
index 0000000..7552a0e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleContentItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseSimpleContentItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSimpleContent;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSimpleContent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseSimpleContentItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseSimpleContentItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSimpleContent_WhenValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSimpleContent_ResultValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCaseSimpleContent)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCaseSimpleContent_type") :
+            getString("_UI_ValueExpressionCaseSimpleContent_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCaseSimpleContent.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SIMPLE_CONTENT__WHEN_VALUE_EXPR:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SIMPLE_CONTENT__RESULT_VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleItemProvider.java
new file mode 100644
index 0000000..04f98a3
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCaseSimpleItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCaseSimpleItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSimple;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCaseSimple} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCaseSimpleItemProvider
+  extends ValueExpressionCaseItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCaseSimpleItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSimple_ContentList());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCaseSimple_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCaseSimple)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCaseSimple_type") :
+            getString("_UI_ValueExpressionCaseSimple_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCaseSimple.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SIMPLE__CONTENT_LIST:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CASE_SIMPLE__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCastItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCastItemProvider.java
new file mode 100644
index 0000000..e1ce8e2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCastItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCastItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCast;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCast} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCastItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCastItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCast_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCast)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCast_type") :
+            getString("_UI_ValueExpressionCast_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCast.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_CAST__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionColumnItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionColumnItemProvider.java
new file mode 100644
index 0000000..717d56c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionColumnItemProvider.java
@@ -0,0 +1,170 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionColumnItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionColumn;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionColumn} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionColumnItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionColumnItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addAssignmentExprTargetPropertyDescriptor(object);
+            addInsertStatementPropertyDescriptor(object);
+            addTableExprPropertyDescriptor(object);
+            addTableInDatabasePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Assignment Expr Target feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addAssignmentExprTargetPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionColumn_assignmentExprTarget_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionColumn_assignmentExprTarget_feature", "_UI_ValueExpressionColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionColumn_AssignmentExprTarget(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Table Expr feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addTableExprPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionColumn_tableExpr_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionColumn_tableExpr_feature", "_UI_ValueExpressionColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionColumn_TableExpr(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Table In Database feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addTableInDatabasePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionColumn_tableInDatabase_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionColumn_tableInDatabase_feature", "_UI_ValueExpressionColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionColumn_TableInDatabase(),
+                 true));
+    }
+
+    /**
+     * This adds a property descriptor for the Insert Statement feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addInsertStatementPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionColumn_insertStatement_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionColumn_insertStatement_feature", "_UI_ValueExpressionColumn_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionColumn_InsertStatement(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionColumn)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionColumn_type") :
+            getString("_UI_ValueExpressionColumn_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCombinedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCombinedItemProvider.java
new file mode 100644
index 0000000..2e08feb
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionCombinedItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionCombinedItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionCombined;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionCombined} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionCombinedItemProvider
+  extends QueryValueExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionCombinedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addCombinedOperatorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Combined Operator feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addCombinedOperatorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionCombined_combinedOperator_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionCombined_combinedOperator_feature", "_UI_ValueExpressionCombined_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionCombined_CombinedOperator(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCombined_LeftValueExpr());
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionCombined_RightValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionCombined)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionCombined_type") :
+            getString("_UI_ValueExpressionCombined_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionCombined.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_COMBINED__COMBINED_OPERATOR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.VALUE_EXPRESSION_COMBINED__LEFT_VALUE_EXPR:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_COMBINED__RIGHT_VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionDefaultValueItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionDefaultValueItemProvider.java
new file mode 100644
index 0000000..86c93ed
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionDefaultValueItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionDefaultValueItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionDefaultValue;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.ValueExpressionDefaultValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionDefaultValueItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionDefaultValueItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionDefaultValue)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionDefaultValue_type") :
+            getString("_UI_ValueExpressionDefaultValue_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionFunctionItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionFunctionItemProvider.java
new file mode 100644
index 0000000..d709a1b
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionFunctionItemProvider.java
@@ -0,0 +1,202 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionFunctionItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionFunction;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionFunctionItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionFunctionItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addSpecialRegisterPropertyDescriptor(object);
+            addDistinctPropertyDescriptor(object);
+            addColumnFunctionPropertyDescriptor(object);
+            addFunctionPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Special Register feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addSpecialRegisterPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionFunction_specialRegister_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionFunction_specialRegister_feature", "_UI_ValueExpressionFunction_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionFunction_SpecialRegister(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Distinct feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addDistinctPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionFunction_distinct_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionFunction_distinct_feature", "_UI_ValueExpressionFunction_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionFunction_Distinct(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Column Function feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addColumnFunctionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionFunction_columnFunction_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionFunction_columnFunction_feature", "_UI_ValueExpressionFunction_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionFunction_ColumnFunction(),
+                 true,
+                 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE));
+    }
+
+    /**
+     * This adds a property descriptor for the Function feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addFunctionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionFunction_function_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionFunction_function_feature", "_UI_ValueExpressionFunction_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionFunction_Function(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionFunction_ParameterList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionFunction)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionFunction_type") :
+            getString("_UI_ValueExpressionFunction_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionFunction.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_FUNCTION__SPECIAL_REGISTER:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_FUNCTION__DISTINCT:
+            case SQLQueryModelPackage.VALUE_EXPRESSION_FUNCTION__COLUMN_FUNCTION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.VALUE_EXPRESSION_FUNCTION__PARAMETER_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionLabeledDurationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionLabeledDurationItemProvider.java
new file mode 100644
index 0000000..f646e72
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionLabeledDurationItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionLabeledDurationItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionLabeledDuration;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionLabeledDuration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionLabeledDurationItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionLabeledDurationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addLabeledDurationTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Labeled Duration Type feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addLabeledDurationTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionLabeledDuration_labeledDurationType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionLabeledDuration_labeledDurationType_feature", "_UI_ValueExpressionLabeledDuration_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionLabeledDuration_LabeledDurationType(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionLabeledDuration_ValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionLabeledDuration)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionLabeledDuration_type") :
+            getString("_UI_ValueExpressionLabeledDuration_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionLabeledDuration.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_LABELED_DURATION__LABELED_DURATION_TYPE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case SQLQueryModelPackage.VALUE_EXPRESSION_LABELED_DURATION__VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNestedItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNestedItemProvider.java
new file mode 100644
index 0000000..391df1e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNestedItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionNestedItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionNested;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionNested} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionNestedItemProvider
+  extends QueryValueExpressionItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionNestedItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValueExpressionNested_NestedValueExpr());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionNested)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionNested_type") :
+            getString("_UI_ValueExpressionNested_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionNested.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_NESTED__NESTED_VALUE_EXPR:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNullValueItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNullValueItemProvider.java
new file mode 100644
index 0000000..8d2f066
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionNullValueItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionNullValueItemProvider.java,v 1.1 2007/03/22 17:10:12 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionNullValue;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.ValueExpressionNullValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionNullValueItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionNullValueItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionNullValue)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionNullValue_type") :
+            getString("_UI_ValueExpressionNullValue_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionScalarSelectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionScalarSelectItemProvider.java
new file mode 100644
index 0000000..9183876
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionScalarSelectItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionScalarSelectItemProvider.java,v 1.1 2007/03/22 17:10:09 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionScalarSelect;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionScalarSelect} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionScalarSelectItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionScalarSelectItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addQueryExprPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Query Expr feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addQueryExprPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionScalarSelect_queryExpr_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionScalarSelect_queryExpr_feature", "_UI_ValueExpressionScalarSelect_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionScalarSelect_QueryExpr(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionScalarSelect)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionScalarSelect_type") :
+            getString("_UI_ValueExpressionScalarSelect_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionSimpleItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionSimpleItemProvider.java
new file mode 100644
index 0000000..f662198
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionSimpleItemProvider.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionSimpleItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionSimple;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValueExpressionSimple} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionSimpleItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionSimpleItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addValuePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Value feature.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  protected void addValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ValueExpressionSimple_value_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ValueExpressionSimple_value_feature", "_UI_ValueExpressionSimple_type"),
+                 SQLQueryModelPackage.eINSTANCE.getValueExpressionSimple_Value(),
+                 true,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionSimple)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionSimple_type") :
+            getString("_UI_ValueExpressionSimple_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValueExpressionSimple.class)) {
+            case SQLQueryModelPackage.VALUE_EXPRESSION_SIMPLE__VALUE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionVariableItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionVariableItemProvider.java
new file mode 100644
index 0000000..8b9f05f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValueExpressionVariableItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValueExpressionVariableItemProvider.java,v 1.1 2007/03/22 17:10:11 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.ValueExpressionVariable;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.query.ValueExpressionVariable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueExpressionVariableItemProvider
+  extends ValueExpressionAtomicItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValueExpressionVariableItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValueExpressionVariable)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValueExpressionVariable_type") :
+            getString("_UI_ValueExpressionVariable_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValuesRowItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValuesRowItemProvider.java
new file mode 100644
index 0000000..f015321
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/ValuesRowItemProvider.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ValuesRowItemProvider.java,v 1.1 2007/03/22 17:10:08 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.ValuesRow;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.ValuesRow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValuesRowItemProvider
+  extends SQLQueryObjectItemProvider
+  implements
+    IEditingDomainItemProvider,
+    IStructuredItemContentProvider,
+    ITreeItemContentProvider,
+    IItemLabelProvider,
+    IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ValuesRowItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated NOT
+     */
+  public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getValuesRow_ExprList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * This returns ValuesRow.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/ValuesRow");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public String getText(Object object) {
+        String label = ((ValuesRow)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ValuesRow_type") :
+            getString("_UI_ValuesRow_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(ValuesRow.class)) {
+            case SQLQueryModelPackage.VALUES_ROW__EXPR_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+     * @generated
+     */
+  public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableReferenceItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableReferenceItemProvider.java
new file mode 100644
index 0000000..d1916c8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableReferenceItemProvider.java
@@ -0,0 +1,116 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: WithTableReferenceItemProvider.java,v 1.1 2007/03/22 17:10:13 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.WithTableReference;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.WithTableReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WithTableReferenceItemProvider
+	extends TableExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public WithTableReferenceItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addWithTableSpecificationPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the With Table Specification feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addWithTableSpecificationPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WithTableReference_withTableSpecification_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WithTableReference_withTableSpecification_feature", "_UI_WithTableReference_type"),
+                 SQLQueryModelPackage.eINSTANCE.getWithTableReference_WithTableSpecification(),
+                 true));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public String getText(Object object) {
+        String label = ((WithTableReference)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_WithTableReference_type") :
+            getString("_UI_WithTableReference_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableSpecificationItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableSpecificationItemProvider.java
new file mode 100644
index 0000000..3e5f70f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/query/provider/WithTableSpecificationItemProvider.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: WithTableSpecificationItemProvider.java,v 1.1 2007/03/22 17:10:10 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.query.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.query.SQLQueryModelPackage;
+import org.eclipse.datatools.modelbase.sql.query.WithTableSpecification;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link org.eclipse.datatools.modelbase.sql.query.WithTableSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WithTableSpecificationItemProvider
+	extends SQLQueryObjectItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public WithTableSpecificationItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public List getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addWithTableReferencesPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the With Table References feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addWithTableReferencesPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (new ItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WithTableSpecification_withTableReferences_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WithTableSpecification_withTableReferences_feature", "_UI_WithTableSpecification_type"),
+                 SQLQueryModelPackage.eINSTANCE.getWithTableSpecification_WithTableReferences(),
+                 true));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated NOT
+     */
+	public Collection getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getWithTableSpecification_WithTableQueryExpr());
+            //childrenFeatures.add(SQLQueryModelPackage.eINSTANCE.getWithTableSpecification_ColumnNameList());
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns WithTableSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public Object getImage(Object object) {
+        return getResourceLocator().getImage("full/obj16/WithTableSpecification");
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public String getText(Object object) {
+        String label = ((WithTableSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_WithTableSpecification_type") :
+            getString("_UI_WithTableSpecification_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(WithTableSpecification.class)) {
+            case SQLQueryModelPackage.WITH_TABLE_SPECIFICATION__WITH_TABLE_QUERY_EXPR:
+            case SQLQueryModelPackage.WITH_TABLE_SPECIFICATION__COLUMN_NAME_LIST:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public ResourceLocator getResourceLocator() {
+        return SQLQueryEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SQLObjectItemProvider.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SQLObjectItemProvider.java
new file mode 100644
index 0000000..5c7bde4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SQLObjectItemProvider.java
@@ -0,0 +1,192 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SQLObjectItemProvider.java,v 1.1 2007/03/22 17:10:14 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.schema.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+import org.eclipse.datatools.modelbase.sql.schema.SQLSchemaFactory;
+import org.eclipse.datatools.modelbase.sql.schema.SQLSchemaPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.ENamedElementItemProvider;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adpater for a {@link com.ibm.db.models.sql.schema.SQLObject} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SQLObjectItemProvider
+	extends ENamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SQLObjectItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addDescriptionPropertyDescriptor(object);
+			addLabelPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(new ItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_SQLObject_description_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_SQLObject_description_feature", "_UI_SQLObject_type"),
+				 SQLSchemaPackage.eINSTANCE.getSQLObject_Description(),
+				 true,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+	}
+
+	/**
+	 * This adds a property descriptor for the Label feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLabelPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(new ItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_SQLObject_label_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_SQLObject_label_feature", "_UI_SQLObject_type"),
+				 SQLSchemaPackage.eINSTANCE.getSQLObject_Label(),
+				 true,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Collection getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SQLSchemaPackage.eINSTANCE.getSQLObject_Dependencies());
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * This returns SQLObject.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getImage(Object object) {
+		return getResourceLocator().getImage("full/obj16/SQLObject");
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getText(Object object) {
+		String label = ((SQLObject)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_SQLObject_type") :
+			getString("_UI_SQLObject_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(SQLObject.class)) {
+			case SQLSchemaPackage.SQL_OBJECT__DESCRIPTION:
+			case SQLSchemaPackage.SQL_OBJECT__LABEL:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case SQLSchemaPackage.SQL_OBJECT__DEPENDENCIES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+	 * describing all of the children that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SQLSchemaPackage.eINSTANCE.getSQLObject_Dependencies(),
+				 SQLSchemaFactory.eINSTANCE.createDependency()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ResourceLocator getResourceLocator() {
+		return SqlmodelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SqlmodelEditPlugin.java b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SqlmodelEditPlugin.java
new file mode 100644
index 0000000..20136c8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.modelbase.sql.query.edit/src/org/eclipse/datatools/modelbase/sql/schema/provider/SqlmodelEditPlugin.java
@@ -0,0 +1,94 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SqlmodelEditPlugin.java,v 1.1 2007/03/22 17:10:14 bpayton Exp $
+ */
+package org.eclipse.datatools.modelbase.sql.schema.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+/**
+ * This is the central singleton for the SQLModel edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class SqlmodelEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final SqlmodelEditPlugin INSTANCE = new SqlmodelEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SqlmodelEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     EcoreEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @param descriptor the description of the plugin.
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}