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";
+ }
+
+}