NF: Enhanced the feature to change the case of keywords, to include the optional join words, left, right, full, inner, outer. These words were missed prior to this change and only the JOIN word was capitalized. CH: Changed the default for sqlutil_use_tbl_alias = 'a' (ask) from being on at all times. This can be overridden in your vimrc.
NF: Added new option g:sqlutil_use_tbl_alias, which is on by default. When creating a column list for a table, it will add a table alias to each column. The table alias is calculated based on rules. This feature has 3 settings: n - no alias d - default calculated alias a - ask the user using default alias NF: Updated g:sqlutil_col_list_terminators to handle some additional cases. BF: In some cases -@- could be left in the query. This seems to be a bug in Vim, where the marks could move. Unsure why, but put a workaround in. BF: When g:sqlutil_align_comma=1, and the lines did not begin with commas, the formatting was incorrect. BF: When searching through buffers (SQLU_CreateColumnList), the alternate buffer could be changed.
New features added: New global variables to customization some aspects of the formatting: sqlutil_align_where - aligns the =, >=, <=, ... sqlutil_align_comma - places the column lists in select statement on new lines sqlutil_align_first_word - see examples You can change the case of the keywords while formatting. A help has been created to list all the various options and examples for each of them. Thanks to Ronald Speelman, for suggestions and testing.
NF: Added global variable sqlutil_col_list_terminators for customization. NF: Changed all functions to be prefixed bySQLU_ for consistency. BF: Fixed SQLU_GetColumnDataType andSQLU_GetColumnDef to handle tabs. BF: -@- could be left after incorrect formatting.
NF: Support the formatting of FUNCTIONS or stored procedures used as derived tables. This will nest the function calls on new lines and correctly split the paranthesis on new lines if the function call is longer than one line. You would notice this mainly in the SELECT column list. NF: Support the formatting of nested CASE statements. NF: Added the GetColumnDataType command NF: Improved primary key determination, it no longer requires the PRIMARY KEY statement to be part of the CREATE TABLE statement, it can be part of an ALTER TABLE statement. NF: Improved formatting of SQL keywords. INSERT INTO statement, the INTO will no longer be split onto a new line. Now correctly format the various JOIN keywords: NATURAL RIGHT OUTER JOIN will be placed one online instead of just the JOIN keyword as before. BF: Did not properly handle the formatting of nested open paranthesis in all cases. BF: Using new technique to determine how to change the textwidth to utilitize more screen space when wrapping long lines. nested open paranthesis in all cases. NF: Create procedure uses shiftwidth for indent. BF: Save/restore previous search.
Improved a number of items. 1. If a PRIMARY KEY cannot be found for a given table the WHERE clause will contain all columns. 2. Made the lookup for primary keys smarter. Now the script will also look for ALTER TABLE ... ADD PRIMARY KEY statements instead of just the PRIMARY KEY clause as part of the CREATE TABLE statement. 3. If hidden is set, the script will cycle through the buffers looking for the table. Now, it will leave the cursor positioned in the same location when it leaves hidden buffers. 4. You can now define g:sqlutil_cmd_terminator. It currently defaults to ";". This is used when looking gathering columns lists.