updated for version 7.0219
diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt
new file mode 100644
index 0000000..a0e6f02
--- /dev/null
+++ b/runtime/doc/sql.txt
@@ -0,0 +1,298 @@
+*sql.txt*   For Vim version 7.0aa.  Last change: Fri Jan 06 2006 8:09:25 AM
+
+by David Fishburn
+
+This is a filetype plugin to work with SQL files.
+
+The Structured Query Language (SQL) is a standard which specifies statements
+that allow a user to interact with a relational database.  Vim includes
+features for navigation, indentation and syntax highlighting.
+
+1. Navigation                                   |sql-navigation|
+    1.1 Matchit		        		|sql-matchit|
+    1.2 Text Object Motions		        |sql-object-motions|
+    1.3 Predefined Object Motions               |sql-predefined-objects|
+    1.4 Macros                                  |sql-macros|
+2. SQL Dialects		                        |sql-dialects|
+    2.1 SQLSetType		        	|SQLSetType|
+    2.2 SQL Dialect Default		        |sql-type-default|
+3. Adding new SQL Dialects		        |sql-adding-dialects|
+
+==============================================================================
+1. Navigation	        			*sql-navigation*
+
+The SQL ftplugin provides a number of options to assist with file
+navigation.
+
+
+1.1 Matchit		        		*sql-matchit*
+-----------
+The matchit plugin (http://www.vim.org/scripts/script.php?script_id=39)
+provides many additional features and can be customized for different
+languages.  The matchit plugin is configured by defining a local 
+buffer variable, b:match_words.  Pressing the % key while on various 
+keywords will move the cursor to its match.  For example, if the cursor
+is on an "if", pressing % will cycle between the "else", "elseif" and
+"end if" keywords.
+
+The following keywords are supported: >
+    if
+    elseif | elsif
+    else [if]
+    end if
+    
+    [while condition] loop
+        leave
+        break
+        continue
+        exit
+    end loop
+    
+    for
+        leave
+        break
+        continue
+        exit
+    end loop
+    
+    do
+        statements
+    doend
+    
+    case
+    when 
+    when
+    default
+    end case
+    
+    merge
+    when not matched
+    when matched
+
+    create[ or replace] procedure|function|event
+    returns
+<
+
+1.2 Text Object Motions		        	*sql-object-motions*
+-----------------------
+Vim has a number of predefined keys for working with text |object-motions|.
+This filetype plugin attempts to translate these keys to maps which make sense
+for the SQL language.
+
+The following |Normal| mode and |Visual| mode maps exist (when you edit a SQL
+file): >
+    ]]              move forward to the next 'begin'
+    [[              move backwards to the previous 'begin'
+    ][              move forward to the next 'end'
+    []              move backwards to the previous 'end'
+<
+
+1.3 Predefined Object Motions                   *sql-predefined-objects*
+-----------------------------
+Most relational databases support various standard features, tables, indicies,
+triggers and stored procedures.  Each vendor also has a variety of proprietary
+objects.  The next set of maps have been created to help move between these
+objects.  Depends on which database vendor you are using, the list of objects
+must be configurable.  The filetype plugin attempts to define many of the
+standard objects, plus many additional ones.  In order to make this as
+flexible as possible, you can override the list of objects from within your
+|vimrc| with the following: >
+    let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' .
+                \ ',schema,service,publication,database,datatype,domain' .
+                \ ',index,subscription,synchronization,view,variable'
+<                
+The following |Normal| mode and |Visual| mode maps have been created which use
+the above list: >
+    ]}              move forward to the next 'create <object name>'
+    [{              move backward to the previous 'create <object name>'
+
+Repeatedly pressing ]} will cycle through each of these create statements: >
+    create table t1 (
+        ...
+    );
+
+    create procedure p1
+    begin
+        ...
+    end;
+
+    create index i1 on t1 (c1);
+<
+The default setting for g:ftplugin_sql_objects is: >
+    let g:ftplugin_sql_objects = 'function,procedure,event,' .
+                \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
+                \ 'table,trigger' .
+                \ ',schema,service,publication,database,datatype,domain' .
+                \ ',index,subscription,synchronization,view,variable'
+<
+The above will also handle these cases: >
+    create table t1 (
+        ...
+    );
+    create existing table t2 (
+        ...
+    );
+    create global temporary table t3 (
+        ...
+    );
+<
+By default, the ftplugin only searches for CREATE statements.  You can also
+override this via your |vimrc| with the following: >
+    let g:ftplugin_sql_statements = 'create,alter'
+
+The filetype plugin defines three types of comments: >
+    1.  --
+    2.  //
+    3.  /*
+         *
+         */
+<         
+The following |Normal| mode and |Visual| mode maps have been created to work
+with comments: >
+    ]"              move forward to the beginning of a comment
+    ["              move forward to the end of a comment
+
+
+
+1.4 Macros                                         *sql-macros*
+----------
+Vim's feature to find macro definitions, |'define'|, is supported using this
+regular expression: >
+    \c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>
+<
+This addresses the following code: >
+    CREATE VARIABLE myVar1 INTEGER;
+
+    CREATE PROCEDURE sp_test(
+        IN myVar2 INTEGER,
+        OUT myVar3 CHAR(30),
+        INOUT myVar4 NUMERIC(20,0)
+    )
+    BEGIN
+        DECLARE myVar5 INTEGER;
+
+        SELECT c1, c2, c3
+          INTO myVar2, myVar3, myVar4
+          FROM T1
+         WHERE c4 = myVar1;
+    END;
+<
+Place your cursor on "myVar1" on this line: >
+         WHERE c4 = myVar1;
+                     ^
+<
+Press any of the following keys: >
+    [d
+    [D
+    [CTRL-D
+
+
+==============================================================================
+2. SQL Dialects	        			*sql-dialects* *sql-types*
+                                                *sybase* *TSQL* *Transact-SQL*
+                                                *sqlanywhere* 
+                                                *oracle* *plsql* *sqlj*
+                                                *sqlserver*
+                                                *mysql* *postgress* *psql*
+                                                *informix*
+
+All relational databases support SQL.  There is a portion of SQL that is
+portable across vendors (ex. CREATE TABLE, CREATE INDEX), but there is a
+great deal of vendor specific extensions to SQL.  Oracle supports the 
+"CREATE OR REPLACE" syntax, column defaults specified in the CREATE TABLE
+statement and the procedural language (for stored procedures and triggers).
+
+The default Vim distribution ships with syntax highlighting based on Oracle's
+PL/SQL.  The default SQL indent script works for Oracle and SQL Anywhere.
+The default filetype plugin works for all vendors and should remain vendor
+neutral, but extendable.
+
+Vim currently has support for a variety of different vendors, currently this
+is via syntax scripts. Unfortunately, to flip between different syntax rules
+you must either create:
+    1.  New filetypes
+    2.  Custom autocmds
+    3.  Manual steps / commands
+
+The majority of people work with only one vendor's database product, it would
+be nice to specify a default in your |vimrc|.
+
+
+2.1 SQLSetType		        		*sqlsettype* *SQLSetType*
+--------------
+For the people that work with many different databases, it would be nice to be
+able to flip between the various vendors rules (indent, syntax) on a per
+buffer basis, at any time.  The ftplugin/sql.vim file defines this function: >
+    SQLSetType
+<
+Executing this function without any parameters will set the indent and syntax
+scripts back to their defaults, see |sql-type-default|.  If you have turned
+off Vi's compatibility mode, |'compatible'|, you can use the <Tab> key to
+complete the optional parameter.
+
+After typing the function name and a space, you can use the completion to
+supply a parameter.  The function takes the name of the Vim script you want to
+source.  Using the |cmdline-completion| feature, the SQLSetType function will
+search the |'runtimepath'| for all Vim scripts with a name containing 'sql'.
+This takes the guess work out of the spelling of the names.  The following are
+examples: >
+    :SQLSetType 
+    :SQLSetType sqloracle
+    :SQLSetType sqlanywhere
+    :SQLSetType sqlinformix
+    :SQLSetType mysql
+<
+The easiest approach is to the use <Tab> character which will first complete
+the command name (SQLSetType), after a space and another <Tab>, display a list
+of available Vim script names: >
+    :SQL<Tab><space><Tab>
+<
+
+2.2 SQL Dialect Default		        	*sql-type-default*
+-----------------------
+As mentioned earlier, the default syntax rules for Vim is based on Oracle
+(PL/SQL).  You can override this default by placing one of the following in
+your |vimrc|: >
+    let g:sql_type_default = 'sqlanywhere'
+    let g:sql_type_default = 'sqlinformix'
+    let g:sql_type_default = 'mysql'
+<
+If you added the following to your |vimrc|: >
+    let g:sql_type_default = 'sqlinformix'
+<
+The next time edit a SQL file the following scripts will be automatically 
+loaded by Vim: >
+    ftplugin/sql.vim
+    syntax/sqlinformix.vim
+    indent/sql.vim
+>
+Notice indent/sqlinformix.sql was not loaded.  There is no indent file
+for Informix, Vim loads the default files if the specified files does not
+exist.
+
+
+==============================================================================
+3. Adding new SQL Dialects		        *sql-adding-dialects*
+
+If you begin working with a SQL dialect which does not have any customizations
+available with the default Vim distribution you can check http://www.vim.org
+to see if any customization currently exist.  If not, you can begin by cloning
+an existing script.  Read |filetype-plugins| for more details.
+
+To help identify these scripts, try to create the files with a "sql" prefix.
+If you decide you wish to create customizations for the SQLite database, you
+can create any of the following: >
+    Unix
+        ~/.vim/syntax/sqlite.vim
+        ~/.vim/indent/sqlite.vim
+    Windows
+        $VIM/vimfiles/syntax/sqlite.vim
+        $VIM/vimfiles/indent/sqlite.vim
+<
+No changes are necessary to the SQLSetType function.  It will automatically
+pickup the new SQL files and load them when you issue the SQLSetType command. 
+
+
+
+
+vim:tw=78:ts=8:ft=help:norl:ff=unix: