Add support for Microsoft SQL Server 2016


Signed-off-by: sguan <sguan@actuate.com>
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.properties b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.properties
index b8f59f6..1bbbf3c 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.properties
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.properties
@@ -23,3 +23,5 @@
 2012VersionString = 2012
 2014ProductString = SQL Server
 2014VersionString = 2014
+2016ProductString = SQL Server
+2016VersionString = 2016
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.xml b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.xml
index 29b31c6..8005b3d 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.xml
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/plugin.xml
@@ -39,5 +39,12 @@
             versionDisplayString="%2014VersionString"
             file="runtime/vendors/SQL Server_2014/SQL Server_2014.xmi">
       </definition>
+      <definition
+            version="2016"
+            product="SQL Server"
+            productDisplayString="%2016ProductString"
+            versionDisplayString="%2016VersionString"
+            file="runtime/vendors/SQL Server_2016/SQL Server_2016.xmi">
+      </definition>
    </extension>
 </plugin>
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/runtime/vendors/SQL Server_2016/SQL Server_2016.xmi b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/runtime/vendors/SQL Server_2016/SQL Server_2016.xmi
new file mode 100644
index 0000000..da6b46f
--- /dev/null
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition/runtime/vendors/SQL Server_2016/SQL Server_2016.xmi
@@ -0,0 +1,943 @@
+<?xml version="1.0" encoding="ASCII"?>
+<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="SQL Server" version="2016" maximumIdentifierLength="128"
+ viewTriggerSupported="true" userDefinedTypeSupported="true">
+  <predefinedDataTypeDefinitions xmi:id="BIGINT_1" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="BIGINT" jdbcEnumType="-5" javaClassName="long">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BIGINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_2" multipleColumnsSupported="true" primitiveType="INTEGER" jdbcEnumType="-7" javaClassName="boolean">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BIT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" lengthUnit="BYTE" multipleColumnsSupported="true" defaultLength="50" maximumLength="8000" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BINARY</name>
+  </predefinedDataTypeDefinitions>
+ <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" lengthSupported="true" lengthUnit="BYTE" multipleColumnsSupported="true" defaultLength="50" maximumLength="8000" largeValueSpecifierSupported="true" largeValueSpecifierName="MAX" largeValueSpecifierLength="-1" primitiveType="BINARY_VARYING" jdbcEnumType="-3" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>VARBINARY</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_2" multipleColumnsSupported="true" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="-4" javaClassName="java.sql.Blob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>IMAGE</name>
+  </predefinedDataTypeDefinitions>
+  
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true"  maximumLength="8000" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
+    <defaultValueTypes>SYSTEM_USER</defaultValueTypes>
+    <defaultValueTypes>SESSION_USER</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CHAR</name>
+    <name>CHARACTER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true"  maximumLength="4000" primitiveType="NATIONAL_CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
+    <defaultValueTypes>SYSTEM_USER</defaultValueTypes>
+    <defaultValueTypes>SESSION_USER</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" multipleColumnsSupported="true" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="-1" javaClassName="java.sql.Clob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TEXT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_LARGE_OBJECT_1" multipleColumnsSupported="true" primitiveType="NATIONAL_CHARACTER_LARGE_OBJECT" jdbcEnumType="-1" javaClassName="java.sql.Clob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NTEXT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true"  maximumLength="8000" largeValueSpecifierSupported="true" largeValueSpecifierName="MAX" largeValueSpecifierLength="-1" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
+    <defaultValueTypes>SYSTEM_USER</defaultValueTypes>
+    <defaultValueTypes>SESSION_USER</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>VARCHAR</name>
+    <name>CHARACTER VARYING</name>
+    <name>CHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_2" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>UNIQUEIDENTIFIER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true"  maximumLength="4000" largeValueSpecifierSupported="true" largeValueSpecifierName="MAX" largeValueSpecifierLength="-1" primitiveType="NATIONAL_CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
+    <defaultValueTypes>SYSTEM_USER</defaultValueTypes>
+    <defaultValueTypes>SESSION_USER</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NVARCHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="DATE" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATETIME</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_3" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATE</name>
+  </predefinedDataTypeDefinitions>
+   <predefinedDataTypeDefinitions xmi:id="DATE_4" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATETIME2</name>
+  </predefinedDataTypeDefinitions>
+   <predefinedDataTypeDefinitions xmi:id="DATE_5" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATETIMEOFFSET</name>
+  </predefinedDataTypeDefinitions>
+   <predefinedDataTypeDefinitions xmi:id="DATE_6" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIME</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" maximumPrecision="38" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DECIMAL</name>
+    <name>DEC</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DOUBLE PRECISION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" precisionSupported="true" maximumPrecision="53" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="INTEGER" jdbcEnumType="4" javaClassName="int">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>INT</name>
+    <name>INTEGER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" maximumPrecision="38" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMERIC</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="REAL_1" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>REAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_2" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>MONEY</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_3" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLMONEY</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_2" keyConstraintSupported="true" multipleColumnsSupported="true" primitiveType="DATE" jdbcEnumType="92" javaClassName="java.sql.Time">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLDATETIME</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="SMALLINT" jdbcEnumType="5" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_2" keyConstraintSupported="true" identitySupported="true" multipleColumnsSupported="true" primitiveType="SMALLINT" jdbcEnumType="-6" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TINYINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_1" keyConstraintSupported="true" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP</name>
+    <name>ROWVERSION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_2" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="-150" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SQL_VARIANT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="XML_TYPE_1" primitiveType="XML_TYPE" jdbcEnumType="509" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>XML</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="GEOMETRY_1" jdbcEnumType="-4" orderingSupported="false" groupingSupported="false" primitiveType="BINARY" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>GEOMETRY</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="GEOGRAPHY_1" jdbcEnumType="-4" orderingSupported="false" groupingSupported="false" primitiveType="BINARY" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>GEOGRAPHY</name>
+  </predefinedDataTypeDefinitions>
+    <predefinedDataTypeDefinitions xmi:id="HIERARCHYID_2" keyConstraintSupported="true" primitiveType="CHARACTER" jdbcEnumType="-4" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>HIERARCHYID</name>
+  </predefinedDataTypeDefinitions>
+  
+  <triggerDefinition maximumIdentifierLength="128" typeSupported="true" insteadOfTriggerSupported="true"/>
+  <columnDefinition maximumIdentifierLength="128" identitySupported="true" computedSupported="true" identityStartValueSupported="true" identityIncrementSupported="true"/>
+  <constraintDefinition maximumPrimaryKeyIdentifierLength="128" maximumForeignKeyIdentifierLength="128" maximumCheckConstraintIdentifierLength="128" uniqueKeyNullable="true">
+    <parentUpdateDRIRuleType>CASCADE</parentUpdateDRIRuleType>
+    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
+    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
+  </constraintDefinition>
+  <queryDefinition hostVariableMarker="@"/>
+  <indexDefinition maximumIdentifierLength="128" clusteringSupported="true"/>
+  <viewDefinition maximumIdentifierLength="128" indexSupported="true"/>
+  <tableDefinition maximumIdentifierLength="128"/>
+  <schemaDefinition maximumIdentifierLength="128"/>
+  <storedProcedureDefinition maximumIdentifierLength="128">
+    <functionLanguageType>SQL</functionLanguageType>
+  </storedProcedureDefinition>
+  <udtDefinition maximumIdentifierLength="128" distinctTypeSupported="true"/>
+  <SQLSyntaxDefinition terminationCharacter="GO">
+    <keywords>A</keywords>
+	<keywords>ABORT</keywords>
+	<keywords>ABS</keywords>
+	<keywords>ABSOLUTE</keywords>
+	<keywords>ACCESS</keywords>
+	<keywords>ACOS</keywords>
+	<keywords>ACQUIRE</keywords>
+	<keywords>ACTION</keywords>
+	<keywords>ACTIVATE</keywords>
+	<keywords>ADA</keywords>
+	<keywords>ADD</keywords>
+	<keywords>ADDFORM</keywords>
+	<keywords>ADMIN</keywords>
+	<keywords>AFTER</keywords>
+	<keywords>AGGREGATE</keywords>
+	<keywords>ALIAS</keywords>
+	<keywords>ALL</keywords>
+	<keywords>ALLOCATE</keywords>
+	<keywords>ALTER</keywords>
+	<keywords>AN</keywords>
+	<keywords>ANALYZE</keywords>
+	<keywords>AND</keywords>
+	<keywords>ANY</keywords>
+	<keywords>APPEND</keywords>
+	<keywords>ARCHIVE</keywords>
+	<keywords>ARCHIVELOG</keywords>
+	<keywords>ARE</keywords>
+	<keywords>ARRAY</keywords>
+	<keywords>ARRAYLEN</keywords>
+	<keywords>AS</keywords>
+	<keywords>ASC</keywords>
+	<keywords>ASCII</keywords>
+	<keywords>ASIN</keywords>
+	<keywords>ASSERTION</keywords>
+	<keywords>AT</keywords>
+	<keywords>ATAN</keywords>
+	<keywords>AUDIT</keywords>
+	<keywords>AUTHORIZATION</keywords>
+	<keywords>AVG</keywords>
+	<keywords>AVGU</keywords>
+	<keywords>BACKUP</keywords>
+	<keywords>BECOME</keywords>
+	<keywords>BEFORE</keywords>
+	<keywords>BEGIN</keywords>
+	<keywords>BETWEEN</keywords>
+	<keywords>BIGINT</keywords>
+	<keywords>BINARY</keywords>
+	<keywords>BIND</keywords>
+	<keywords>BINDING</keywords>
+	<keywords>BIT</keywords>
+	<keywords>BIT_LENGTH</keywords>
+	<keywords>BLOB</keywords>
+	<keywords>BLOCK</keywords>
+	<keywords>BODY</keywords>
+	<keywords>BOOLEAN</keywords>
+	<keywords>BOTH</keywords>
+	<keywords>BREADTH</keywords>
+	<keywords>BREAK</keywords>
+	<keywords>BREAKDISPLAY</keywords>
+	<keywords>BROWSE</keywords>
+	<keywords>BUFFERPOOL</keywords>
+	<keywords>BULK</keywords>
+	<keywords>BY</keywords>
+	<keywords>BYREF</keywords>
+	<keywords>CACHE</keywords>
+	<keywords>CALL</keywords>
+	<keywords>CALLPROC</keywords>
+	<keywords>CANCEL</keywords>
+	<keywords>CAPTURE</keywords>
+	<keywords>CASCADE</keywords>
+	<keywords>CASCADED</keywords>
+	<keywords>CASE</keywords>
+	<keywords>CAST</keywords>
+	<keywords>CATALOG</keywords>
+	<keywords>CCSID</keywords>
+	<keywords>CEILING</keywords>
+	<keywords>CHANGE</keywords>
+	<keywords>CHAR</keywords>
+	<keywords>CHAR_LENGTH</keywords>
+	<keywords>CHARACTER</keywords>
+	<keywords>CHARACTER_LENGTH</keywords>
+	<keywords>CHARTOROWID</keywords>
+	<keywords>CHECK</keywords>
+	<keywords>CLASS</keywords>
+	<keywords>CLOB</keywords>
+	<keywords>CHECKPOINT</keywords>
+	<keywords>CHR</keywords>
+	<keywords>CLEANUP</keywords>
+	<keywords>CLEAR</keywords>
+	<keywords>CLEARROW</keywords>
+	<keywords>CLOSE</keywords>
+	<keywords>CLUSTER</keywords>
+	<keywords>CLUSTERED</keywords>
+	<keywords>COALESCE</keywords>
+	<keywords>COBOL</keywords>
+	<keywords>COLGROUP</keywords>
+	<keywords>COLLATE</keywords>
+	<keywords>COLLATION</keywords>
+	<keywords>COLLECTION</keywords>
+	<keywords>COLUMN</keywords>
+	<keywords>COMMAND</keywords>
+	<keywords>COMMENT</keywords>
+	<keywords>COMMIT</keywords>
+	<keywords>COMPLETION</keywords>
+	<keywords>COMMITTED</keywords>
+	<keywords>COMPILE</keywords>
+	<keywords>COMPLEX</keywords>
+	<keywords>COMPRESS</keywords>
+	<keywords>COMPUTE</keywords>
+	<keywords>CONCAT</keywords>
+	<keywords>CONFIRM</keywords>
+	<keywords>CONNECT</keywords>
+	<keywords>CONNECTION</keywords>
+	<keywords>CONSTRAINT</keywords>
+	<keywords>CONSTRAINTS</keywords>
+	<keywords>CONSTRUCTOR</keywords>
+	<keywords>CONTAINS</keywords>
+	<keywords>CONTAINSTABLE</keywords>
+	<keywords>CONTENTS</keywords>
+	<keywords>CONTINUE</keywords>
+	<keywords>CONTROLFILE</keywords>
+	<keywords>CONTROLROW</keywords>
+	<keywords>CONVERT</keywords>
+	<keywords>COPY</keywords>
+	<keywords>CORRESPONDING</keywords>
+	<keywords>COS</keywords>
+	<keywords>COUNT</keywords>
+	<keywords>COUNTU</keywords>
+	<keywords>CREATE</keywords>
+	<keywords>CROSS</keywords>
+	<keywords>CUBE</keywords>
+	<keywords>CURRENT</keywords>
+	<keywords>CURRENT_DATE</keywords>
+	<keywords>CURRENT_PATH</keywords>
+	<keywords>CURRENT_ROLE</keywords>
+	<keywords>CURRENT_TIME</keywords>
+	<keywords>CURRENT_TIMESTAMP</keywords>
+	<keywords>CURRENT_USER</keywords>
+	<keywords>CURSOR</keywords>
+	<keywords>CVAR</keywords>
+	<keywords>CYCLE</keywords>
+	<keywords>DATA</keywords>
+	<keywords>DATABASE</keywords>
+	<keywords>DATAFILE</keywords>
+	<keywords>DATAHANDLER</keywords>
+	<keywords>DATAPAGES</keywords>
+	<keywords>DATE</keywords>
+	<keywords>DAY</keywords>
+	<keywords>DAYOFMONTH</keywords>
+	<keywords>DAYOFWEEK</keywords>
+	<keywords>DAYOFYEAR</keywords>
+	<keywords>DAYS</keywords>
+	<keywords>DBA</keywords>
+	<keywords>DBCC</keywords>
+	<keywords>DBSPACE</keywords>
+	<keywords>DEALLOCATE</keywords>
+	<keywords>DEC</keywords>
+	<keywords>DECIMAL</keywords>
+	<keywords>DECLARATION</keywords>
+	<keywords>DECLARE</keywords>
+	<keywords>DECODE</keywords>
+	<keywords>DEFAULT</keywords>
+	<keywords>DEFERRABLE</keywords>
+	<keywords>DEFERRED</keywords>
+	<keywords>DEFINE</keywords>
+	<keywords>DEFINITION</keywords>
+	<keywords>DEGREES</keywords>
+	<keywords>DELETE</keywords>
+	<keywords>DEPTH</keywords>
+	<keywords>DEREF</keywords>
+	<keywords>DELETEROW</keywords>
+	<keywords>DENY</keywords>
+	<keywords>DESC</keywords>
+	<keywords>DESCRIBE</keywords>
+	<keywords>DESCRIPTOR</keywords>
+	<keywords>DESTROY</keywords>
+	<keywords>DHTYPE</keywords>
+	<keywords>DESTRUCTOR</keywords>
+	<keywords>DETERMINISTIC</keywords>
+	<keywords>DICTIONARY</keywords>
+	<keywords>DIAGNOSTICS</keywords>
+	<keywords>DIRECT</keywords>
+	<keywords>DISABLE</keywords>
+	<keywords>DISCONNECT</keywords>
+	<keywords>DISK</keywords>
+	<keywords>DISMOUNT</keywords>
+	<keywords>DISPLAY</keywords>
+	<keywords>DISTINCT</keywords>
+	<keywords>DISTRIBUTE</keywords>
+	<keywords>DISTRIBUTED</keywords>
+	<keywords>DO</keywords>
+	<keywords>DOMAIN</keywords>
+	<keywords>DOUBLE</keywords>
+	<keywords>DOWN</keywords>
+	<keywords>DROP</keywords>
+	<keywords>DUMMY</keywords>
+	<keywords>DUMP</keywords>
+	<keywords>DYNAMIC</keywords>
+	<keywords>EACH</keywords>
+	<keywords>EDITPROC</keywords>
+	<keywords>ELSE</keywords>
+	<keywords>ELSEIF</keywords>
+	<keywords>ENABLE</keywords>
+	<keywords>END</keywords>
+	<keywords>ENDDATA</keywords>
+	<keywords>ENDDISPLAY</keywords>
+	<keywords>ENDEXEC</keywords>
+	<keywords>END-EXEC</keywords>
+	<keywords>ENDFORMS</keywords>
+	<keywords>ENDIF</keywords>
+	<keywords>ENDLOOP</keywords>
+	<keywords>EQUALS</keywords>
+	<keywords>ENDSELECT</keywords>
+	<keywords>ENDWHILE</keywords>
+	<keywords>ERASE</keywords>
+	<keywords>ERRLVL</keywords>
+	<keywords>ERROREXIT</keywords>
+	<keywords>ESCAPE</keywords>
+	<keywords>EVENTS</keywords>
+	<keywords>EVERY</keywords>
+	<keywords>EXCEPT</keywords>
+	<keywords>EXCEPTION</keywords>
+	<keywords>EXCEPTIONS</keywords>
+	<keywords>EXCLUDE</keywords>
+	<keywords>EXCLUDING</keywords>
+	<keywords>EXCLUSIVE</keywords>
+	<keywords>EXEC</keywords>
+	<keywords>EXECUTE</keywords>
+	<keywords>EXISTS</keywords>
+	<keywords>EXIT</keywords>
+	<keywords>EXP</keywords>
+	<keywords>EXPLAIN</keywords>
+	<keywords>EXPLICIT</keywords>
+	<keywords>EXTENT</keywords>
+	<keywords>EXTERNAL</keywords>
+	<keywords>EXTERNALLY</keywords>
+	<keywords>EXTRACT</keywords>
+	<keywords>FALSE</keywords>
+	<keywords>FETCH</keywords>
+	<keywords>FIELD</keywords>
+	<keywords>FIELDPROC</keywords>
+	<keywords>FILE</keywords>
+	<keywords>FILLFACTOR</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FIRST</keywords>
+	<keywords>FLOAT</keywords>
+	<keywords>FLOOR</keywords>
+	<keywords>FLOPPY</keywords>
+	<keywords>FLUSH</keywords>
+	<keywords>FOR</keywords>
+	<keywords>FORCE</keywords>
+	<keywords>FORMDATA</keywords>
+	<keywords>FORMINIT</keywords>
+	<keywords>FORMS</keywords>
+	<keywords>FORTRAN</keywords>
+	<keywords>FOREIGN</keywords>
+	<keywords>FOUND</keywords>
+	<keywords>FREELIST</keywords>
+	<keywords>FREELISTS</keywords>
+	<keywords>FREETEXT</keywords>
+	<keywords>FREETEXTTABLE</keywords>
+	<keywords>FROM</keywords>
+	<keywords>FREE</keywords>
+	<keywords>FULL</keywords>
+	<keywords>FULLTEXTTABLE</keywords>
+	<keywords>FUNCTION</keywords>
+	<keywords>GENERAL</keywords>
+	<keywords>GET</keywords>
+	<keywords>GETCURRENTCONNECTION</keywords>
+	<keywords>GETFORM</keywords>
+	<keywords>GETOPER</keywords>
+	<keywords>GETROW</keywords>
+	<keywords>GLOBAL</keywords>
+	<keywords>GO</keywords>
+	<keywords>GOTO</keywords>
+	<keywords>GRANT</keywords>
+	<keywords>GRANTED</keywords>
+	<keywords>GRAPHIC</keywords>
+	<keywords>GREATEST</keywords>
+	<keywords>GROUP</keywords>
+	<keywords>GROUPING</keywords>
+	<keywords>GROUPS</keywords>
+	<keywords>HASH</keywords>
+	<keywords>HAVING</keywords>
+	<keywords>HOST</keywords>
+	<keywords>HELP</keywords>
+	<keywords>HELPFILE</keywords>
+	<keywords>HOLDLOCK</keywords>
+	<keywords>HOUR</keywords>
+	<keywords>HOURS</keywords>
+	<keywords>IDENTIFIED</keywords>
+	<keywords>IDENTITY</keywords>
+	<keywords>IDENTITY_INSERT</keywords>
+	<keywords>IGNORE</keywords>
+	<keywords>IDENTITYCOL</keywords>
+	<keywords>IF</keywords>
+	<keywords>IFNULL</keywords>
+	<keywords>IIMESSAGE</keywords>
+	<keywords>IIPRINTF</keywords>
+	<keywords>IMMEDIATE</keywords>
+	<keywords>IMPORT</keywords>
+	<keywords>IN</keywords>
+	<keywords>INCLUDE</keywords>
+	<keywords>INCLUDING</keywords>
+	<keywords>INCREMENT</keywords>
+	<keywords>INDEX</keywords>
+	<keywords>INDEXPAGES</keywords>
+	<keywords>INDICATOR</keywords>
+	<keywords>INITCAP</keywords>
+	<keywords>INITIAL</keywords>
+	<keywords>INITIALIZE</keywords>
+	<keywords>INITIALLY</keywords>
+	<keywords>INITRANS</keywords>
+	<keywords>INITTABLE</keywords>
+	<keywords>INNER</keywords>
+	<keywords>INOUT</keywords>
+	<keywords>INPUT</keywords>
+	<keywords>INSENSITIVE</keywords>
+	<keywords>INSERT</keywords>
+	<keywords>INSERTROW</keywords>
+	<keywords>INSTANCE</keywords>
+	<keywords>INSTR</keywords>
+	<keywords>INT</keywords>
+	<keywords>INTEGER</keywords>
+	<keywords>INTEGRITY</keywords>
+	<keywords>INTERFACE</keywords>
+	<keywords>INTERSECT</keywords>
+	<keywords>INTERVAL</keywords>
+	<keywords>INTO</keywords>
+	<keywords>IS</keywords>
+	<keywords>ISOLATION</keywords>
+	<keywords>ITERATE</keywords>
+	<keywords>JOIN</keywords>
+	<keywords>KEY</keywords>
+	<keywords>KILL</keywords>
+	<keywords>LABEL</keywords>
+	<keywords>LANGUAGE</keywords>
+	<keywords>LARGE</keywords>
+	<keywords>LAST</keywords>
+	<keywords>LATERAL</keywords>
+	<keywords>LAYER</keywords>
+	<keywords>LEADING</keywords>
+	<keywords>LEAST</keywords>
+	<keywords>LEFT</keywords>
+	<keywords>LESS</keywords>
+	<keywords>LENGTH</keywords>
+	<keywords>LEVEL</keywords>
+	<keywords>LIKE</keywords>
+	<keywords>LIMIT</keywords>
+	<keywords>LINENO</keywords>
+	<keywords>LINK</keywords>
+	<keywords>LIST</keywords>
+	<keywords>LISTS</keywords>
+	<keywords>LOAD</keywords>
+	<keywords>LOADTABLE</keywords>
+	<keywords>LOCAL</keywords>
+	<keywords>LOCALTIME</keywords>
+	<keywords>LOCALTIMESTAMP</keywords>
+	<keywords>LOCATOR</keywords>
+	<keywords>LOCATE</keywords>
+	<keywords>LOCK</keywords>
+	<keywords>LOCKSIZE</keywords>
+	<keywords>LOG</keywords>
+	<keywords>LOGFILE</keywords>
+	<keywords>LONG</keywords>
+	<keywords>LONGINT</keywords>
+	<keywords>LOWER</keywords>
+	<keywords>LPAD</keywords>
+	<keywords>LTRIM</keywords>
+	<keywords>LVARBINARY</keywords>
+	<keywords>LVARCHAR</keywords>
+	<keywords>MAIN</keywords>
+	<keywords>MANAGE</keywords>
+	<keywords>MANUAL</keywords>
+	<keywords>MAP</keywords>
+	<keywords>MATCH</keywords>
+	<keywords>MAX</keywords>
+	<keywords>MAXDATAFILES</keywords>
+	<keywords>MAXEXTENTS</keywords>
+	<keywords>MAXINSTANCES</keywords>
+	<keywords>MAXLOGFILES</keywords>
+	<keywords>MAXLOGHISTORY</keywords>
+	<keywords>MAXLOGMEMBERS</keywords>
+	<keywords>MAXTRANS</keywords>
+	<keywords>MAXVALUE</keywords>
+	<keywords>MENUITEM</keywords>
+	<keywords>MESSAGE</keywords>
+	<keywords>MERGE</keywords>
+	<keywords>MICROSECOND</keywords>
+	<keywords>MICROSECONDS</keywords>
+	<keywords>MIN</keywords>
+	<keywords>MINEXTENTS</keywords>
+	<keywords>MINUS</keywords>
+	<keywords>MINUTE</keywords>
+	<keywords>MODIFIES</keywords>
+	<keywords>MINUTES</keywords>
+	<keywords>MINVALUE</keywords>
+	<keywords>MIRROREXIT</keywords>
+	<keywords>MOD</keywords>
+	<keywords>MODE</keywords>
+	<keywords>MODIFY</keywords>
+	<keywords>MODULE</keywords>
+	<keywords>MONEY</keywords>
+	<keywords>MONTH</keywords>
+	<keywords>MONTHS</keywords>
+	<keywords>MOUNT</keywords>
+	<keywords>MOVE</keywords>
+	<keywords>NAMED</keywords>
+	<keywords>NAMES</keywords>
+	<keywords>NATIONAL</keywords>
+	<keywords>NATURAL</keywords>
+	<keywords>NCHAR</keywords>
+	<keywords>NCLOB</keywords>
+	<keywords>NEW</keywords>
+	<keywords>NEXT</keywords>
+	<keywords>NHEADER</keywords>
+	<keywords>NO</keywords>
+	<keywords>NOARCHIVELOG</keywords>
+	<keywords>NOAUDIT</keywords>
+	<keywords>NOCACHE</keywords>
+	<keywords>NOCHECK</keywords>
+	<keywords>NOCOMPRESS</keywords>
+	<keywords>NOCYCLE</keywords>
+	<keywords>NOECHO</keywords>
+	<keywords>NOMAXVALUE</keywords>
+	<keywords>NOMINVALUE</keywords>
+	<keywords>NONCLUSTERED</keywords>
+	<keywords>NONE</keywords>
+	<keywords>NOORDER</keywords>
+	<keywords>NORESETLOGS</keywords>
+	<keywords>NORMAL</keywords>
+	<keywords>NOSORT</keywords>
+	<keywords>NOT</keywords>
+	<keywords>NOTFOUND</keywords>
+	<keywords>NOTRIM</keywords>
+	<keywords>NOWAIT</keywords>
+	<keywords>NULL</keywords>
+	<keywords>NULLIF</keywords>
+	<keywords>NULLVALUE</keywords>
+	<keywords>NUMBER</keywords>
+	<keywords>NUMERIC</keywords>
+	<keywords>OBJECT</keywords>
+	<keywords>NUMPARTS</keywords>
+	<keywords>NVL</keywords>
+	<keywords>OBID</keywords>
+	<keywords>OCTET_LENGTH</keywords>
+	<keywords>ODBCINFO</keywords>
+	<keywords>OF</keywords>
+	<keywords>OFF</keywords>
+	<keywords>OFFLINE</keywords>
+	<keywords>OFFSETS</keywords>
+	<keywords>OLD</keywords>
+	<keywords>ON</keywords>
+	<keywords>ONCE</keywords>
+	<keywords>ONLINE</keywords>
+	<keywords>ONLY</keywords>
+	<keywords>OPEN</keywords>
+	<keywords>OPERATION</keywords>
+	<keywords>OPENDATASOURCE</keywords>
+	<keywords>OPENQUERY</keywords>
+	<keywords>OPENROWSET</keywords>
+	<keywords>OPENXML</keywords>
+	<keywords>OPTIMAL</keywords>
+	<keywords>OPTIMIZE</keywords>
+	<keywords>OPTION</keywords>
+	<keywords>OR</keywords>
+	<keywords>ORDER</keywords>
+	<keywords>ORDINALITY</keywords>
+	<keywords>OUT</keywords>
+	<keywords>OUTER</keywords>
+	<keywords>OUTPUT</keywords>
+	<keywords>OVER</keywords>
+	<keywords>OVERLAPS</keywords>
+	<keywords>OWN</keywords>
+	<keywords>PACKAGE</keywords>
+	<keywords>PAD</keywords>
+	<keywords>PARAMETER</keywords>
+	<keywords>PARAMETERS</keywords>
+	<keywords>PAGE</keywords>
+	<keywords>PAGES</keywords>
+	<keywords>PARALLEL</keywords>
+	<keywords>PART</keywords>
+	<keywords>PARTIAL</keywords>
+	<keywords>PATH</keywords>
+	<keywords>PIVOT</keywords>
+	<keywords>POSTFIX</keywords>
+	<keywords>PASCAL</keywords>
+	<keywords>PCTFREE</keywords>
+	<keywords>PCTINCREASE</keywords>
+	<keywords>PCTINDEX</keywords>
+	<keywords>PCTUSED</keywords>
+	<keywords>PERCENT</keywords>
+	<keywords>PERM</keywords>
+	<keywords>PERMANENT</keywords>
+	<keywords>PERMIT</keywords>
+	<keywords>PI</keywords>
+	<keywords>PIPE</keywords>
+	<keywords>PLAN</keywords>
+	<keywords>PLI</keywords>
+	<keywords>POSITION</keywords>
+	<keywords>POWER</keywords>
+	<keywords>PRECISION</keywords>
+	<keywords>PREFIX</keywords>
+	<keywords>PREORDER</keywords>
+	<keywords>PREPARE</keywords>
+	<keywords>PRESERVE</keywords>
+	<keywords>PRIMARY</keywords>
+	<keywords>PRINT</keywords>
+	<keywords>PRINTSCREEN</keywords>
+	<keywords>PRIOR</keywords>
+	<keywords>PRIQTY</keywords>
+	<keywords>PRIVATE</keywords>
+	<keywords>PRIVILEGES</keywords>
+	<keywords>PROC</keywords>
+	<keywords>PROCEDURE</keywords>
+	<keywords>PROCESSEXIT</keywords>
+	<keywords>PROFILE</keywords>
+	<keywords>PROGRAM</keywords>
+	<keywords>PROMPT</keywords>
+	<keywords>PUBLIC</keywords>
+	<keywords>PUTFORM</keywords>
+	<keywords>PUTOPER</keywords>
+	<keywords>PUTROW</keywords>
+	<keywords>QUALIFICATION</keywords>
+	<keywords>QUARTER</keywords>
+	<keywords>QUOTA</keywords>
+	<keywords>RADIANS</keywords>
+	<keywords>RAISE</keywords>
+	<keywords>RAISERROR</keywords>
+	<keywords>RAND</keywords>
+	<keywords>RANGE</keywords>
+	<keywords>RAW</keywords>
+	<keywords>READ</keywords>
+	<keywords>READS</keywords>
+	<keywords>READTEXT</keywords>
+	<keywords>REAL</keywords>
+	<keywords>RECURSIVE</keywords>
+	<keywords>REF</keywords>
+	<keywords>RECONFIGURE</keywords>
+	<keywords>RECORD</keywords>
+	<keywords>RECOVER</keywords>
+	<keywords>REDISPLAY</keywords>
+	<keywords>REFERENCES</keywords>
+	<keywords>REFERENCING</keywords>
+	<keywords>RELATIVE</keywords>
+	<keywords>REGISTER</keywords>
+	<keywords>RELEASE</keywords>
+	<keywords>RELOCATE</keywords>
+	<keywords>REMOVE</keywords>
+	<keywords>RENAME</keywords>
+	<keywords>REPEAT</keywords>
+	<keywords>REPEATABLE</keywords>
+	<keywords>REPEATED</keywords>
+	<keywords>REPLACE</keywords>
+	<keywords>REPLICATE</keywords>
+	<keywords>REPLICATION</keywords>
+	<keywords>RESET</keywords>
+	<keywords>RESETLOGS</keywords>
+	<keywords>RESOURCE</keywords>
+	<keywords>RESTORE</keywords>
+	<keywords>RESTRICT</keywords>
+	<keywords>RESULT</keywords>
+	<keywords>RESTRICTED</keywords>
+	<keywords>RESUME</keywords>
+	<keywords>RETRIEVE</keywords>
+	<keywords>RETURN</keywords>
+	<keywords>RETURNS</keywords>
+	<keywords>REUSE</keywords>
+	<keywords>REVERT</keywords>
+	<keywords>REVOKE</keywords>
+	<keywords>RIGHT</keywords>
+	<keywords>ROLE</keywords>
+	<keywords>ROLES</keywords>
+	<keywords>ROLLBACK</keywords>
+	<keywords>ROLLUP</keywords>
+	<keywords>ROUTINE</keywords>
+	<keywords>ROW</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>ROWCOUNT</keywords>
+	<keywords>ROWGUIDCOL</keywords>
+	<keywords>ROWID</keywords>
+	<keywords>ROWIDTOCHAR</keywords>
+	<keywords>ROWLABEL</keywords>
+	<keywords>ROWNUM</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>RPAD</keywords>
+	<keywords>RRN</keywords>
+	<keywords>RTRIM</keywords>
+	<keywords>RULE</keywords>
+	<keywords>RUN</keywords>
+	<keywords>RUNTIMESTATISTICS</keywords>
+	<keywords>SAVE</keywords>
+	<keywords>SAVEPOINT</keywords>
+	<keywords>SCHEDULE</keywords>
+	<keywords>SCHEMA</keywords>
+	<keywords>SCN</keywords>
+	<keywords>SCREEN</keywords>
+	<keywords>SCROLL</keywords>
+	<keywords>SCOPE</keywords>
+	<keywords>SEARCH</keywords>
+	<keywords>SCROLLDOWN</keywords>
+	<keywords>SCROLLUP</keywords>
+	<keywords>SECOND</keywords>
+	<keywords>SECONDS</keywords>
+	<keywords>SECQTY</keywords>
+	<keywords>SECTION</keywords>
+	<keywords>SECURITYAUDIT</keywords>
+	<keywords>SEGMENT</keywords>
+	<keywords>SELECT</keywords>
+	<keywords>SEQUENCE</keywords>
+	<keywords>SERIALIZABLE</keywords>
+	<keywords>SERVICE</keywords>
+	<keywords>SESSION</keywords>
+	<keywords>SESSION_USER</keywords>
+	<keywords>SET</keywords>
+	<keywords>SETS</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIN</keywords>
+	<keywords>SIMPLE</keywords>
+	<keywords>SIGN</keywords>
+	<keywords>SHUTDOWN</keywords>
+	<keywords>SHORT</keywords>
+	<keywords>SHARE</keywords>
+	<keywords>SHARED</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIZE</keywords>
+	<keywords>SLEEP</keywords>
+	<keywords>SMALLINT</keywords>
+	<keywords>SNAPSHOT</keywords>
+	<keywords>SOME</keywords>
+	<keywords>SORT</keywords>
+	<keywords>SOUNDEX</keywords>
+	<keywords>SPACE</keywords>
+	<keywords>SPECIFIC</keywords>
+	<keywords>SPECIFICTYPE</keywords>
+	<keywords>SQL</keywords>
+	<keywords>SQLEXCEPTION</keywords>
+	<keywords>SQLBUF</keywords>
+	<keywords>SQLCA</keywords>
+	<keywords>SQLCODE</keywords>
+	<keywords>SQLERROR</keywords>
+	<keywords>SQLSTATE</keywords>
+	<keywords>SQLWARNING</keywords>
+	<keywords>SQRT</keywords>
+	<keywords>START</keywords>
+	<keywords>STATE</keywords>
+	<keywords>STATEMENT</keywords>
+	<keywords>STATIC</keywords>
+	<keywords>STRUCTURE</keywords>
+	<keywords>STATISTICS</keywords>
+	<keywords>STOGROUP</keywords>
+	<keywords>STOP</keywords>
+	<keywords>STORAGE</keywords>
+	<keywords>STORPOOL</keywords>
+	<keywords>SUBMENU</keywords>
+	<keywords>SUBPAGES</keywords>
+	<keywords>SUBSTR</keywords>
+	<keywords>SUBSTRING</keywords>
+	<keywords>SUCCESSFUL</keywords>
+	<keywords>SUFFIX</keywords>
+	<keywords>SUM</keywords>
+	<keywords>SYSTEM_USER</keywords>
+	<keywords>SUMU</keywords>
+	<keywords>SWITCH</keywords>
+	<keywords>SYNONYM</keywords>
+	<keywords>SYSCAT</keywords>
+	<keywords>SYSDATE</keywords>
+	<keywords>SYSFUN</keywords>
+	<keywords>SYSIBM</keywords>
+	<keywords>SYSSTAT</keywords>
+	<keywords>SYSTEM</keywords>
+	<keywords>SYSTIME</keywords>
+	<keywords>SYSTIMESTAMP</keywords>
+	<keywords>TABLE</keywords>
+	<keywords>TABLEDATA</keywords>
+	<keywords>TABLES</keywords>
+	<keywords>TABLESAMPLE</keywords>
+	<keywords>TABLESPACE</keywords>
+	<keywords>TAN</keywords>
+	<keywords>TAPE</keywords>
+	<keywords>TEMP</keywords>
+	<keywords>TEMPORARY</keywords>
+	<keywords>TERMINATE</keywords>
+	<keywords>THAN</keywords>
+	<keywords>TEXTSIZE</keywords>
+	<keywords>THEN</keywords>
+	<keywords>THREAD</keywords>
+	<keywords>TIME</keywords>
+	<keywords>TIMEOUT</keywords>
+	<keywords>TIMESTAMP</keywords>
+	<keywords>TIMEZONE_HOUR</keywords>
+	<keywords>TIMEZONE_MINUTE</keywords>
+	<keywords>TINYINT</keywords>
+	<keywords>TO</keywords>
+	<keywords>TOP</keywords>
+	<keywords>TPE</keywords>
+	<keywords>TRACING</keywords>
+	<keywords>TRAILING</keywords>
+	<keywords>TRAN</keywords>
+	<keywords>TRANSACTION</keywords>
+	<keywords>TRANSLATE</keywords>
+	<keywords>TRANSLATION</keywords>
+	<keywords>TREAT</keywords>
+	<keywords>TRIGGER</keywords>
+	<keywords>TRIGGERS</keywords>
+	<keywords>TRIM</keywords>
+	<keywords>TRUE</keywords>
+	<keywords>TRUNCATE</keywords>
+	<keywords>TSEQUAL</keywords>
+	<keywords>TYPE</keywords>
+	<keywords>UID</keywords>
+	<keywords>UNCOMMITTED</keywords>
+	<keywords>UNDER</keywords>
+	<keywords>UNION</keywords>
+	<keywords>UNIQUE</keywords>
+	<keywords>UNKNOWN</keywords>
+	<keywords>UNNEST</keywords>
+	<keywords>UNLIMITED</keywords>
+	<keywords>UNLOADTABLE</keywords>
+	<keywords>UNPIVOT</keywords>
+	<keywords>UNSIGNED</keywords>
+	<keywords>UNTIL</keywords>
+	<keywords>UP</keywords>
+	<keywords>UPDATE</keywords>
+	<keywords>UPDATETEXT</keywords>
+	<keywords>UPPER</keywords>
+	<keywords>USAGE</keywords>
+	<keywords>USE</keywords>
+	<keywords>USER</keywords>
+	<keywords>USING</keywords>
+	<keywords>UUID</keywords>
+	<keywords>VALIDATE</keywords>
+	<keywords>VALIDPROC</keywords>
+	<keywords>VALIDROW</keywords>
+	<keywords>VALUE</keywords>
+	<keywords>VALUES</keywords>
+	<keywords>VARBINARY</keywords>
+	<keywords>VARCHAR</keywords>
+	<keywords>VARIABLE</keywords>
+	<keywords>VARIABLES</keywords>
+	<keywords>VARYING</keywords>
+	<keywords>VCAT</keywords>
+	<keywords>VERSION</keywords>
+	<keywords>VIEW</keywords>
+	<keywords>VOLUMES</keywords>
+	<keywords>WAITFOR</keywords>
+	<keywords>WEEK</keywords>
+	<keywords>WHEN</keywords>
+	<keywords>WHENEVER</keywords>
+	<keywords>WHERE</keywords>
+	<keywords>WHILE</keywords>
+	<keywords>WITH</keywords>
+	<keywords>WITHOUT</keywords>
+	<keywords>WORK</keywords>
+	<keywords>WRITE</keywords>
+	<keywords>WRITETEXT</keywords>
+	<keywords>YEAR</keywords>
+	<keywords>YEARS</keywords>
+	<keywords>ZONE</keywords>
+  </SQLSyntaxDefinition>
+</DBDefinition:DatabaseVendorDefinition>
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.ui/plugin.xml b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.ui/plugin.xml
index ceffab8..525bef9 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.ui/plugin.xml
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver.ui/plugin.xml
@@ -25,6 +25,12 @@
       <propertyEditor
             customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
             driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate"
+            id="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
             driverTemplateID="org.eclipse.datatools.enablement.msft.sqlserver.2014.driverTemplate"
             id="org.eclipse.datatools.enablement.msft.sqlserver.2014.driverTemplate.password">
       </propertyEditor>
@@ -90,6 +96,14 @@
       </driverUIContributor>
    </extension>
    
+     <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.msft.sqlserver.internal.ui.connection.drivers.SQLServer2016DriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate"
+            id="org.eclipse.datatools.enablement.msft.sqlserver.internal.ui.connection.drivers.SQLServer2016DriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
       <driverUIContributor
             class="org.eclipse.datatools.enablement.msft.sqlserver.internal.ui.connection.drivers.SQLServer2012DriverUIContributor"
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.properties b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.properties
index 1222c76..09821da 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.properties
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.properties
@@ -20,12 +20,14 @@
 driverPWD = Password
 
 SQLSERVER_CATEGORY_NAME = SQL Server
+2016_VERSION_CATEGORY_NAME = 2016
 2014_VERSION_CATEGORY_NAME = 2014
 2012_VERSION_CATEGORY_NAME = 2012
 2008_VERSION_CATEGORY_NAME = 2008
 2005_VERSION_CATEGORY_NAME = 2005
 2000_VERSION_CATEGORY_NAME = 2000
 
+org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate = Microsoft SQL Server 2016 JDBC Driver
 org.eclipse.datatools.enablement.msft.sqlserver.2014.driverTemplate = Microsoft SQL Server 2014 JDBC Driver
 org.eclipse.datatools.enablement.msft.sqlserver.2012.driverTemplate = Microsoft SQL Server 2012 JDBC Driver
 org.eclipse.datatools.enablement.msft.sqlserver.2008.driverTemplate = Microsoft SQL Server 2008 JDBC Driver
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.xml b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.xml
index 8873ff1..6651059 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.xml
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/plugin.xml
@@ -31,6 +31,10 @@
 			name="%SQLSERVER_CATEGORY_NAME" />
 		<category
 			parentCategory="org.eclipse.datatools.enablement.msft.sqlserver.driverCategory"
+			id="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverCategory"
+			name="%2016_VERSION_CATEGORY_NAME" />
+		<category
+			parentCategory="org.eclipse.datatools.enablement.msft.sqlserver.driverCategory"
 			id="org.eclipse.datatools.enablement.msft.sqlserver.2014.driverCategory"
 			name="%2014_VERSION_CATEGORY_NAME" />
 		<category
@@ -50,6 +54,38 @@
 			id="org.eclipse.datatools.enablement.msft.sqlserver.2000.driverCategory"
 			name="%2000_VERSION_CATEGORY_NAME" />
 		<driverTemplate createDefault="false" emptyJarListIsOK="false"
+			id="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate"
+			jarList="sqljdbc.jar"
+			name="%org.eclipse.datatools.enablement.msft.sqlserver.2016.driverTemplate"
+			parentCategory="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverCategory"
+			valuesProvider="org.eclipse.datatools.enablement.msft.internal.sqlserver.driver.SQLServer2016DriverValuesProvider">
+			<properties>
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.driverClass" name="%driverClass"
+					value="com.microsoft.sqlserver.jdbc.SQLServerDriver" required="true"
+					visible="true" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.vendor" name="%driverVendor"
+					value="SQL Server" required="true" visible="false" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.version" name="%driverVersion"
+					value="2014" required="true" visible="false" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.databaseName" name="%driverDBName"
+					value="pubs" required="true" visible="true" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.URL" name="%driverConnectionURL"
+					value="jdbc:sqlserver://localhost:1433;databaseName=pubs" required="true"
+					visible="true" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.username" name="%driverUID"
+					value="" required="false" visible="true" />
+				<property generated="false"
+					id="org.eclipse.datatools.connectivity.db.password" name="%driverPWD"
+					required="false" visible="true" />
+			</properties>
+		</driverTemplate>
+		<driverTemplate createDefault="false" emptyJarListIsOK="false"
 			id="org.eclipse.datatools.enablement.msft.sqlserver.2014.driverTemplate"
 			jarList="sqljdbc.jar"
 			name="%org.eclipse.datatools.enablement.msft.sqlserver.2014.driverTemplate"
@@ -305,6 +341,11 @@
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005SchemaLoader"
 			eclass="org.eclipse.datatools.modelbase.sql.schema.Schema" 
 			product="SQL Server"
+			version="2016" />
+		<overrideLoader
+			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005SchemaLoader"
+			eclass="org.eclipse.datatools.modelbase.sql.schema.Schema" 
+			product="SQL Server"
 			version="2014" />
 		<overrideLoader
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005SchemaLoader"
@@ -331,6 +372,11 @@
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005ColumnLoader"
 			eclass="org.eclipse.datatools.modelbase.sql.tables.Column" 
 			product="SQL Server"
+			version="2016" />		
+		<overrideLoader
+			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005ColumnLoader"
+			eclass="org.eclipse.datatools.modelbase.sql.tables.Column" 
+			product="SQL Server"
 			version="2014" />
 		<overrideLoader
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005ColumnLoader"
@@ -356,6 +402,11 @@
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005RoutineLoader"
 			eclass="org.eclipse.datatools.modelbase.sql.routines.Routine"
 			product="SQL Server"
+			version="2016" />			
+		<overrideLoader 
+			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005RoutineLoader"
+			eclass="org.eclipse.datatools.modelbase.sql.routines.Routine"
+			product="SQL Server"
 			version="2014" />
 		<overrideLoader 
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005RoutineLoader"
@@ -381,6 +432,11 @@
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005TableLoader"
 			eclass="org.eclipse.datatools.modelbase.sql.tables.Table"
 			product="SQL Server"
+			version="2016" />			
+		<overrideLoader 
+			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005TableLoader"
+			eclass="org.eclipse.datatools.modelbase.sql.tables.Table"
+			product="SQL Server"
 			version="2014" />
 		<overrideLoader 
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005TableLoader"
@@ -402,7 +458,12 @@
 			eclass="org.eclipse.datatools.modelbase.sql.tables.Table"
 			product="SQL Server"
 			version="2000" />
-		
+
+		<overrideLoader 
+			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005TableIndexLoader"
+			eclass="org.eclipse.datatools.modelbase.sql.constraints.Index"
+			product="SQL Server"
+			version="2016" />		
 		<overrideLoader 
 			provider="org.eclipse.datatools.enablement.msft.internal.sqlserver.loaders.SQL2005TableIndexLoader"
 			eclass="org.eclipse.datatools.modelbase.sql.constraints.Index"
@@ -471,6 +532,11 @@
 			product="SQL Server"
 			version="2014">
 		</generator>
+		<generator
+			class="org.eclipse.datatools.enablement.msft.internal.sqlserver.ddl.SqlServerDdlGenerator"
+			product="SQL Server"
+			version="2016">
+		</generator>		
 	</extension>
 	
 	<extension
@@ -796,5 +862,68 @@
        </properties>
     </driverTemplate>
  </extension>
+  <extension
+       point="org.eclipse.datatools.connectivity.driverExtension">
+    <driverTemplate
+          createDefault="false"
+          emptyJarListIsOK="false"
+          id="org.eclipse.datatools.enablement.msft.sqlserver.2016.other.driverTemplate"
+          name="%org.eclipse.datatools.enablement.msft.sqlserver.2016.other.driverTemplate"
+          parentCategory="org.eclipse.datatools.enablement.msft.sqlserver.2016.driverCategory">
+       <properties>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.driverClass"
+                name="%driverClass"
+                required="true"
+                visible="true">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.vendor"
+                name="%driverVendor"
+                required="true"
+                value="SQL Server"
+                visible="false">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.version"
+                name="%driverVersion"
+                required="true"
+                value="2016"
+                visible="false">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.databaseName"
+                name="%driverDBName"
+                required="true"
+                visible="true">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.URL"
+                name="%driverConnectionURL"
+                required="true"
+                visible="true">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.username"
+                name="%driverUID"
+                required="false"
+                visible="true">
+          </property>
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true">
+          </property>
+       </properties>
+    </driverTemplate>
+ </extension>
 	
 </plugin>
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/connection/SQLServerDatabaseRecognizer.java b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/connection/SQLServerDatabaseRecognizer.java
index dc19f8e..b5284ee 100644
--- a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/connection/SQLServerDatabaseRecognizer.java
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/connection/SQLServerDatabaseRecognizer.java
@@ -25,6 +25,7 @@
 	public static final String VERSION2008 = "2008"; //$NON-NLS-1$
 	public static final String VERSION2012 = "2012"; //$NON-NLS-1$
 	public static final String VERSION2014 = "2014"; //$NON-NLS-1$
+	public static final String VERSION2016 = "2016"; //$NON-NLS-1$
     
     public DatabaseDefinition recognize(Connection connection) {
         try {
@@ -55,6 +56,9 @@
             else if(version.startsWith("12.")) { //$NON-NLS-1$
                 return DatabaseDefinitionRegistryImpl.INSTANCE.getDefinition(PRODUCT, VERSION2014);
             }
+            else if(version.startsWith("13.")) { //$NON-NLS-1$
+                return DatabaseDefinitionRegistryImpl.INSTANCE.getDefinition(PRODUCT, VERSION2016);
+            }
         }
         catch (Exception e) {
         }
diff --git a/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/driver/SQLServer2016DriverValuesProvider.java b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/driver/SQLServer2016DriverValuesProvider.java
new file mode 100644
index 0000000..b034e93
--- /dev/null
+++ b/plugins/enablement/org.eclipse.datatools.enablement.msft.sqlserver/src/org/eclipse/datatools/enablement/msft/internal/sqlserver/driver/SQLServer2016DriverValuesProvider.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2008 NexB Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     Anton Safonov and Ahti Kitsik - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.msft.internal.sqlserver.driver;
+
+public class SQLServer2016DriverValuesProvider extends
+		SQLServerDriverValuesProvider {
+
+	public String getDriverDirName() {
+		return "lib/SQL Server_2016";
+	}
+
+}