AQT Release Notes

New to AQT v10.1.2p

New Features

  • When Activation is using SSL (https), it will now also use TLS1.2
  • You can now specify a connection statement in the AQT command line. This allows you to connect to a particular database when AQT starts.
  • For PostgreSQL, AQT will now display the different databases within the instance. You can switch to another database.

Bug fixes

  • A few fixes to Data Export:
    • exporting using Use bulk exporting of data took a very long time in the Formatting data phase when there were date columns. To avoid this a new option Use bulk formatting of dates has been added.
    • when exporting from the Data Display window, Export didn't remember the last set of options used.
    • when exporting from the Data Display window, date values could be formatted incorrectly.
    • JSON export didn't export line-feeds and other control characters correctly
  • A few fixes for the Data Loader:
    • when the user was prompted whether to Drop the target table, the Yes option was ignored
    • when loading from an Excel file in non-native mode, all values came through as Null.
    • when loading from an Excel file in non-native mode, timestamp values were sometimes not formatted correctly
    • the Scan function (when in Create mode) sometimes didn't recognize date and timestamp values correctly
    • the Scan function sometimes failed with Object invoked has disconnected from its clients
  • A couple of fixes to Charting
    • creating a chart sometimes hit error "Cannot convert xxxx to Boolean".
    • charts sometimes had a spurious footer "1".
  • For DB2 v11, AQT didn't show the full list of database and schema authorities
  • improved the display of table columns for PostgreSQL and Yellowbrick
  • setparm did not set value <date(MMdd_hhmm)> correctly
  • in the SQL window, AQT sometimes hit the error "Cannot convert '' to Boolean" when canceling a query
  • in the Database Explorer window, the Abort button became disabled when clicking on Display multiple times
  • when you connect via a connection string, the database name for the connection was taken from the full connection string. This was erroneous as it could include the userid/password. It was corrected to being the ODBC Driver or DSN name.
  • the $list parameter on --aqt queryparm / setparm only allowed select statements and not show. It will now allow show.
  • On the SQL window, View > Explain Plan hit an error for databases such as SQLServer / MySQL which do not have explain tables. This option will now be disabled for these databases.
  • when running a non-Select statement against Teradata, AQT will give the message Error at splitsql_queryinfo
  • for Teradata, AQT didn't display the column types for Period columns
  • In some rare circumstances, a query would fail with Function sequence error
  • For Yellowbrick, AQT didn't correctly parse a cross-database query
  • The setparm and queryparm commands didn't correctly process a value contained in brackets, such as value=('A','B','C')
  • Generate DDL for DB2 z/OS sometimes failed with message "get_parms has detected a possible recursive situation"
  • In some circumstances, viewing a file failed when the file contained an embedded blank

New to AQT v10.1.1

Note: we have made improvements to the Encrypted Password feature. This is used both by Save Password feature of the Signon window, plus when using passwords in batch scripts.

If you use encrypted passwords in batch scripts it is recommended that you regenerate the passwords using this release.

Passwords saved by AQT v10.1.1 (and later) cannot be used by earlier releases of AQT.

Visual Explain

This is a major new feature of AQT. This is described in Visual Explain.

  • this has been implemented for DB2/LUW, Oracle, MS SQL Server and PostgreSQL. We are also working on this for DB2 z/OS - please get in touch with us if you are interested in using this.
  • Visual Explain for DB2/LUW can also show the information for Explained Packages
  • for DB2/LUW there is now a tool for easily Explaining packages
  • for DB2/LUW, you can run the DB2 Index Advisor and Explain Formatter
  • on the Run SQL window you can click on Run > Show Query Cost. This will show the cost of a query without having to see the Visual Explain window.

Other New Features

  • The queryparm command now allows you to specify a hidden parameter (idparm). The user can be shown a set of values which are meaningful to them (eg. customer names), but a hidden value (eg. customer ids) is passed to the query.
  • In the History window you can restrict the display to queries which ran against a particular database. You can also filter the display to only show particular entries.
  • Data Loader:
    • we've done a number of performance enhancements; in particular Load Using Insert statements should now run considerably faster
    • we've added a new load option Use Bulk Inserts. This will load multiple rows in a single Insert statement. In some scenarios this provides a very fast method of loading.
    • there is now an option to truncate data values to the defined length of character column. This is useful when loading "untidy" data.
    • when the Data Loader was run from the Run SQL window, the Abort button was not active
    • when loading from a file, it is now easier to specify the column delimiter
  • There is now an Option to disable the Export function.
  • A number of enhancements to Charting.
    • a lot more information has been added to the Help
    • Bubble Charts have been added
    • the Cumulative option can now be different for different series
    • AQT will now, by default, show the column names on the Axes
    • you can now specify a Logarithmic scale
    • you can now specify the format of the values in the Axes. For instance, numeric values can be formatted as a currency amount.
  • Compare Objects:
    • now has an option to remember your compare options between sessions
    • resync can now generate drop / create statements for objects whose definition can only be resynced if they are dropped and recreated. An example is indexes.
  • On the Database Explorer, Data Display and Row Detail windows, you can increase the font size with Ctrl+Up (and decrease it with Ctrl+Down).
  • Support has been added for Redshift
  • For PostrgeSQL, support has been added for Stored Procedures and Materialized Views. The Database Explorer window will now show Types and Domains.
  • The Data Loader will now prompt before dropping or deleting the contents of a table.This will help prevent inadvertent loss of data.
  • Data Compare:
    • now has an option to limit the resync script to lines of 72 characters or less
    • the window will now increase the size of the query boxes when the window is resized
  • When displaying the detail of a data value, there is now an option to split the text into 72-byte lines. This is useful when displaying Db2 z/OS View, Package and Stored Procedure text as this is often stored within Db2 z/OS without linebreaks.
  • There is now an option to specify how Bit / Boolean values are to be displayed. In a Checkbox or as 0/1 or False/True.
  • The Query Explorer now has a display Newest First. This makes it easy to see recently added or amended queries.
  • On the Run SQL window, you can now display the full column list for a table (as opposed to select *) with Edit > Show Full Column List (or Alt +L).
  • A few improvements to Data Export
    • you can now select a recent directory for your export file
    • when exporting to Excel, the Native File export will be selected by default. However, for compatibility with earlier releases, when you run an export script and xlnative is not specified, the default will be a non-native export.
    • for Excel exports, there is a new option Format numeric values as numbers. This deals with the case of numeric values being held in a character column. At present, these values will be exported to Excel as a text value. When this option is selected, these values will be exported as a numeric value.
  • Communication with our activation server will now use https rather than http.

Bug Fixes

  • on a small number of systems, AQT crashed when connecting to a database. This seemed to happen for people running an old level of the .Net Framework. Now fixed.
  • For Oracle, the Database Explorer was very slow for displaying schemas, plus a few other functions. This was caused by the system view ALL_OBJECTS being absurdly slow. For instance the query: Select Object_Type, Count(*) from all_objects Group By Object_Type can take up to 30 minutes.

    To avoid this problem, AQT will switch to using the DBA views if the user has authority to use these.

    The problem can also be eased by using option Use Disk Cache for Schemas.

  • the Database Explorer window:
    • some queries populating the window could not be canceled
    • the grid headers did not have a distinct font
    • in the Query Explorer display, some of the Shared Queries display showed Personal Queries
    • for some users, the Queries display in the Database Explorer sometimes showed directories in random order
  • in the Run SQL window:
    • the fonts on the SQL Editor didn't display well for some users. To resolve this we have changed the default font from Courier New to Consolas.
    • a Shared Query sometimes wasn't saved when the window was closed.
    • on the Open / Save dialog, the button for Shared Home was shown when the user had not specified a Shared Query directory
    • the Open / Save dialog gave numerous pop-up messages when AQT hit an error reading a directory.
  • a few fixes for SQL Server:
    • the Find Objects feature wasn't working
    • the display of Tables Only wasn't working
    • some users got message The multi-part identified "i.column-id" could not be bound when displaying the properties or altering a table.
    • foreign key columns were not correct when there were multiple foreign keys between two tables
    • the length of nvarchar columns was reported incorrectly in the Database Explorer window
  • a few fixes for Data Export:
    • when there were no rows to export, the header was erroneously not written.
    • when exporting from a grid, there were several errors when the grid contained hidden rows
    • when exporting from a grid, AQT hit an error when the grid had a Total row
    • when exporting from a grid, decimal values were truncated when the decimal separator was a comma
    • Export to Multiple Files hit an error when exporting to Excel
    • when exporting to Excel, the header would be overwritten when multiple queries were written to the same sheet
    • the start and end text would ignore a <cr> if this was at the end of the text
    • when exporting to a file which already existed, the user got multiple File Already Exists messages
  • for DB2/UDB:
    • there have been a few improvements to the display of Sequences and Aliases
    • the Database Explorer window did not display for DB2 v8
    • when running a Stored Procedure which returns an XML value, the returned data was garbage
    • didn't generate correct DDL for *CHAR FOR BIT DATA columns
    • for some versions of DB2, the Database Explorer window did not show Tablespace Containers
    • Index Sizing sometimes showed an incorrect list of indexes
    • will now show the LastUsed date for Indexes
    • Summary Tables did not show table partitions
  • in the Data Display window:
    • AQT did not display images correctly when View as was select from within the Detail of a Data Value dialog
    • AQT sometimes did not use the correct display program for the View as function from the Detail of a Data Value dialog
    • the Row Detail window could not be opened if the database had been closed or AQT could not determine the name of the query table
    • by default, unprintable characters were displayed as $(:). This has been changed to not be the default.
  • for the Data Loader:
    • wasn't able load MySQL tables which had a space in the column names
    • the Create Table option didn't get the correct data types when loading a Unicode file
    • the Create Table option generated columns with types Datetime and Double, which are not valid for PostgreSQL. Changed to Timestamp and Decimal.
    • when opening a saved load script for a table using Create mode, the data types were not retrieved
    • values being loaded had trailing spaces removed. We have now added an option to specify whether you wish to be done.
    • Load all Tables in Schema: when loading from Files or Excel Files in Create Table mode and the "First row has column names" option was specified, the tables were created with the correct columns names.
    • when loading from file using Create Table mode, the file would be unnecessarily scanned for the column types even through these have been specified.
    • when loading from file using Create Table mode, a table would sometimes be created with the wrong Null attribute.
    • failed to load a numeric value correctly when a comma was used as the thousand separator.
  • the Query Builder window:
    • running queries could not be cancelled
    • queries which used a function in the ON clause were not parsed correctly
    • the Where window blanked the second value in a BETWEEN clause
    • in the Where Value column of the Columns tab, Access date values were incorrectly enclosed in #s
    • now supports the syntax SELECT ALL
    • some improvements to the handling of WITH statements
    • didn't handle a sub-select enclosed in multiple spurious brackets
    • the Build IN clause dialog would remove duplicate values when added from the right panel. An option has been added to allow duplicates to be retained.
    • did not correctly parses a query when it had a Case clause with an alias which doesn't use AS. Example: case flag1 when 0 then 'False' else 'True' end Unpaid.
    • the Add Table dialog sometimes showed an incorrect list of tables after switching to a new database.
  • Compare Objects
    • the Filter did not process the Not, Regex or Ends With options.
    • sometimes didn't show schemas when the All Tables option was selected, or the user opens the Compare window before selecting a schema
    • the resync script sometimes had multiple identical statements.
  • Data Compare
    • sometimes didn't compare numeric values correctly on systems where the decimal separator was a comma
    • hit an Overflow error when using the Write Results to excel file option, and there were a large number of differences
    • Ctrl+A didn't select the text in the query text boxes
  • For Stored Procedures:
    • there was an error running a DB2 z/OS Stored Procedure with returned an XML value
    • when a hex value was entered for a parameter, AQT would incorrectly give a warning message that the value was too long
  • Other:
    • for some users, SQL Server gave very slow performance when the Use ExecDirect option was used.
    • for SQL Server and MS Access, AQT returned an error on update/delete when the Use ExecDirect option was used.
    • for DB2 z/OS, the Package ConToken was sometimes not displayed correctly. Depending on the data, AQT would attempt to convert the ConToken from Ecbdic to Ascii. It will now always be displayed in hex.
    • a number of admin functions (Compare Objects, DDL) failed for some databases when the table had more than 500 columns.
    • PostgreSQL had the Referenced Tables and Dependent Tables displays the wrong way around.
    • Batch processing sometimes hit an error that the log file was in use
    • for setparm, the value=$list parameter did not work if there was a blank prior to the bracket
    • for setparm, the value clause was not picked up if preceded by a blank
    • the Run SQL window no longer had File > Close. The Close item has been reinstated.
    • when running multiple SQL statements, the Abort button did not cancel the SQL statement which was running.
    • the History window sometimes gave an error when Show Saved Results was clicked
    • in the Create Table window, the dropdown for column data types sometimes had the same value multiple times.
    • when running AQT in batch, SQL was truncated to 1000 bytes when written to the log file. You can now increase this to a higher value by setting option BatchSQLLength.
    • the SQL didn't show the cursor position in the box at the bottom right (as it should). Also the View > Show ascii value of current character did not work.
    • for some users, AQT crashed when displaying a Teradata table which had timestamp columns
    • in the System Monitor window, you were unable to copy data from the text box in the bottom panel
    • for PostgreSQL, the Table Properties display failed for PostgreSQL v12
    • for PostgreSQL, AQT didn't generate correct DDL for functions
    • for Informix, AQT incorrectly included the rowid when displaying tables
    • for Oracle, AQT hit an error when generating the DDL for large packages
    • AQT hit an error when loading a BLOB of more than 2GB in size.
    • For Informix, there were a number of problems with the admin component and Compare Objects.
    • AQT took a long time to display a large Redshift table. The add Top x clause option has been amended to include Redshift.
    • Teradata hit an error when using the add Sample x clause option and the query had a Union / Minus or Except clause. For these statements, AQT will not add the Sample clause.
    • When creating a SQL Server index, it would sometimes incorrectly have the clause INCUDE().
    • When creating an Index, the Asc/Desc column did not have a dropdown list, as it should.
    • Some queries for Teradata took a long time to complete. This was due to AQT checking to see if the query returned another result-set. This is discussed in the section Multiple result-sets for Sybase / MS SQL Server / Teradata.

New to AQT v10.1.0

Installation

  • AQT v10.1 now runs under .Net Framework 4.5. This includes later releases such as .Net 4.7.

New Features

  • AQT now allows you to define Shared Queries. These are queries which are shared amongst members of your work group. The Queries display of the Database Explorer window will show you these in addition to your personal queries.
  • The Signon window has been altered to make it easier to connect to some databases (DB2 / Oracle / MySQL / SQL Server) without having to define a Datasource.
  • A number of enhancements to the Query Builder:
    • it now supports multiple statements Unioned together
    • it now supports the use of the WITH statement
    • it can now build column SubSelect expressions
    • it can now build Case expressions
    • there is now support for the TOP statement used by SQL Server, Sybase and Teradata
    • there is now a combo-box on the toolbar where you can specify the number of rows to be displayed
    • a few changes with the Run Against feature
    • some minor enhancements to the Build IN List dialog
    • when SQL is generated you can choose to have commas generated prior to the column names in the column list. This option is in Options > Line Breaks
    • on the tables on the Gui tab, you can choose to have the correlation name appear prior to the table name. This option is in Options > Misc.
    • when you mouse-over a table header, you will get a tooltip with the full table name. This is useful if your table names are very long.
    • when specifying a column correlation name, you can use a colon to include the name of the column,
    • when you add a table to the query from a User Defined Relationship, the table correlation name is taken from the UDR Alias name.
    • there is now a Filter box to show only particular columns in a table
    • the Help for the Query Builder has been improved
  • Activation
    • some minor improvements to the Activation process
    • AQT will now contact our activation server on a regular basis (eg. every 3 days). This help some of our corporate customers who wish to know which licenses are still being used, and which are not.
  • Filters (in the Database Explorer and other places):
    • can now filter on all columns in the grid, not just the first. To specify this, use a # at the start of the filter.
    • filters will now be highlighted in green. It will now be more noticeable when you have a filter in effect.
  • File paths, such as Options > File Locations, can include Windows environment variables. Example: %APPDATA%\AQT\Queries
  • On the Open / Save window, the columns you have sorted by are remembered between sessions.
  • There is now an option to not include the schema when table names are used in the SQL and Query Builder windows.
  • Improved support for Microsoft Azure databases.
  • The Run SQL window:
    • there is now a combo-box on the toolbar where you can specify the number of rows to be displayed
    • the Select to matching bracket function was difficult to use. This has now been changed to Select within brackets. This will select the text within the brackets containing the cursor.
    • there is a new function Run within Brackets. This will run the SQL within the brackets containing the cursor. This is useful for running sub-select clauses.
    • there is now an option for the default query for a table to include the full column list (rather than using select * from table).
  • Export Data
    • you can now export to multiple files. This provides a mechanism to spread a large export over a number of files.
    • can now export data in JSON format.
    • when exporting to a CSV file, you can specify the encoding of the file
    • AQT will now create the export directory if it doesn't exist
    • export to Excel did not format timestamp values correctly. Note that the decimal parts of a timestamp value will not display fully - this is a limitation of Excel.
  • For DB2 for z/OS
    • AQT now supports Archived tables.
    • AQT will now show the Image Copies of a Tablespace
    • There is a new display - Index Columns - which shows a table's indexes and index columns in a single list.
  • On the Data Display window:
    • when displaying XML values, there is now an option to display the XML as Formatted XML. This will add line breaks, indenting and syntax highlighting to make the XML data more readable.
    • there is now a JSON viewer for displaying JSON values
    • if you have a lot of columns in your display, you now "find" a column with Grid > Find Column (Ctrl + Shift +F)
    • improvements to the display of binary values
    • improvements to the display of EBCDIC values
    • the sum of selected cells was incorrect for decimal values when the decimal separator was a comma.

The SQL History window:

  • will now write the query time in the standard year-month-date hour:minute:second format. Previously it was in Windows system format which Windows (for some formats) would not recognize as a valid date (!).
  • Ctrl+C didn't copy text from the SQL or Results boxes.
  • Other:
    • AQT has a new option Use System Colors. When this is selected, AQT windows display better when using a Windows Theme such as High Contrast.

      This option will be switched on if AQT detects that your Windows system is using a High Contrast theme.

    • There is now an option to disable the Show Password button on the sign window.
    • There is now an option to enable Oracle numeric columns defined without precision/scale to be displayed without loss of precision.
    • SQL History will now write the query time in the standard year-month-date hour:minute:second format. Previously it was in Windows system format which Windows (for some formats) would not recognize as a valid date (!).
    • User Defined Relationships (UDRs) now allows you to define an Alias for a relationship. This makes it easy to locate a particular relationship.
    • Generate Text now has an option to include a Tab character in the text.
    • Generate DDL now allows you to specify whether you want Comments to be generated.
    • The Run Procedure window now can write INOUT and OUT parameter values to a file. This is useful for procedures which return large values.
    • AQT now releases memory more promptly when you close a Data Display, SQL or Query Builder window.
    • The display of Oracle Indexes will now show Index Type.
    • Added support for Sequences, Tablespaces, Users/Roles and authorities for PostgreSQL.
    • Added support for Teradata v16.
    • Added support for MariaDB.
    • Added support for Snowflake.
    • Added support for SAP IQ (previously known as Sybase IQ).
    • The Connect and Disconnect scripting statements now have a parameter batchonly=true. When this is coded these statements are ignored when run in interactive AQT.
    • Transactions have been enabled for MySQL.

Bug Fixes

  • After apply Windows 10 Update 1803, AQT 32-bit would get numerous error messages Processing error at Get_Setting. Requested registry access is not allowed.

    It seems that, after update 1803 has been applied, AQT was denied access to the LOCAL_MACHINE part of the registry. AQT doesn't really use this part of the registry, but reads settings from there in case the user has loaded some system-wide settings into this.

  • A few fixes for the Database Explorer window
    • the Schema Filter did not recognise the not indicator (a minus sign at the start)
    • when running a Query or Favourite with a WITH statement, AQT gave the message "SQL not run as contains a non-select statement"
    • AQT didn't give an error message when an error was hit switching to new SQL Server database.
    • Schema Filters were sometimes not applied if you signed onto a database multiple times.
    • For recent version of MySQL, the column type was displayed incorrectly.
    • The list of databases was erroneously limited to the value of Options > Max Rows Displayed. All databases will now be shown.
    • Objects were not shown for SQL Server when the Use SQLExecDirect option was used
  • On the Data Display window:
    • when a layout was Applied, it did not set the style of the Caption correctly
    • when a new column was added to Grouping, sub-totals were removed
    • when copying, it would sometimes erroneously give the message "No cells selected"
    • AQT would get an error opening Saved Results in which more than one column had the same name
    • SQL Server timestamp values were incorrectly displayed in ascii mode rather than hex mode
    • The Replace x'00' option on Copy Cells was not working correctly
    • When displaying binary values in hex mode, only the first 50 bytes were displayed.
  • A few fixes for DDL generation for DB2/LUW:
    • the NOT TRUSTED clause was omitted from the DDL for Foreign Keys
    • the EXCLUDING NULL KEYS clause was omitted from DDL for Indexes
    • index DDL can now include column functions
    • when Foreign Key DDL was generated using the "FK on Dep Tables" option, the Enforced, Trusted and Optimize clauses were omitted.
    • a few problems with the DISTRIBUTE BY and MAINTAINED BY clauses for Tables
    • the ENFORCED / NOT ENFORCED clause will be included in Primary Key DDL
    • Random Distribution key columns had incorrectly been included in table DDL
    • added Percent Encoded to the column sizing display for DB2 v11
    • DDL of Boolean types incorrectly included the length specification
    • the DDL for Row Organized MDC tables was sometimes wrong
  • For DB2 for z/OS:
    • DDL was not generated correctly for Temporal tables
    • the Database Explorer did not show ARCHIVE tables
  • A few fixes for Exporting data
    • when exporting multiple queries to Excel, it would sometimes run in append mode rather than replace mode
    • when exporting to Excel you could get message "Worksheet already exists" even though Replace was specified
    • export to Excel didn't generate hypertext links for values starting with https://
    • when exporting to multiple sheets in an Excel file, numeric values were sometimes formatted as dates
    • when exporting to Excel using bulk exporting mode, numeric values would sometimes be formatted as text
  • The Run SQL window
    • would take a long time to parse some WITH queries
    • Run as Single Statement incorrectly ran all text, not the selected text
    • SQL History would not include entries which had dates which Window didn't recognize as valid
    • would get an error message when the window is activated, and the user is editing a query which has an invalid file date
    • Wrap to 60 chars did not work well when the SQL contained comments
    • query elapsed time would be displayed as negative if the query spanned midnight
    • Run as DB2 Command failed if your password contained a blank or special character.
  • In the Query Builder:
    • Options > Table Id > offset was disabled.
    • User Defined Relationships didn't correctly deal with lower case table names (in Oracle/DB2) that need to be enclosed in quotes.
    • Commands preceding the SQL (such as queryparm and setparm) were removed from the SQL.
    • SQL containing a correlated subquery would interpretted be incorrectly as a join
  • In the Open / Save window:
    • times were displayed in 12-hour format, not 24-hour format.
    • the directory box was too narrow for long directory names; has been made wider
    • did not show Help when F1 was hit
  • Data Compare:
    • was not able to compare tables which had hidden columns. This included DB2 tables defined with Distribute by Random (these have a hidden column). Plus it included DB2 for z/OS Temporal Tables.
    • export results to Excel would sometimers highlight the wrong columns.
    • export results to Excel would not behave well when the Excel file name was invalid, or it hit an error writing to the file
  • Data Loader:
    • when selecting a table, the table-list wasn't refreshed after you had switched to another database
  • Compare Objects:
    • did not correctly compare constraints bewtween DB2 for LUW and DB2 for z/OS
    • sometimes did not correctly compare procedure / view text when they contain comments
  • Other:
    • AQT 64-bit would get an error trying to display a MySQL table containing a longblob column
    • Pivot and Charting did not recognize the DB2 DECFLOAT data type as numeric
    • For recent versions of MySQL, the column type was displayed incorrectly
    • AQT hit an error when opening the User Defined Relationships file
    • Create/Alter table failed when a column name contained the string DDL.
    • Manage Authorities would take an excessive time when adding a large number of tables to the grid.
    • For Teradata, the column list for Views did not include comments.
    • AQT did not show tables correctly for a Tribute database.
    • When creating a DB2 index, the Replace if Exists option did not work.
    • AQT was using the incorrect syntax when renaming an Oracle table.
    • Some users got multiple messages "Error in get_options" when AQT started. This happens when the user doesn't have a My Documents directory.
    • Add Multiple Objects to Favorites hit an error for SQL Server
    • When Creating a new table, the default properties of columns were not being set correctly
    • When Altering a SQL Server Procedure, comments before the start of the procedure were incorrectly removed.
    • In the System Monitor, the Cancel Task failed
    • The Oracle Display DBMS Output window didn't allow cells to be copied. A few other miscellaneous improvements to this window.
    • Oracle LONG columns were sometimes displayed incorrectly

New to AQT v10.0.4z

This is a maintenance release of AQT v10.0.4, correcting a few minor problems.

New Features

  • exporting to a Document Locator file now supports Append Mode plus exporting to an new worksheet on an existing Excel file.
  • DB2 z/OS now has better support for Roles.

Bug Fixes

  • when a license key was entered, the user got the message Activation Code is not valid
  • Compare Objects for DB2/LUW failed with an error
  • When using Run using SQL*PLUS in the Run SQL window, AQT ran the entire SQL, not just the selected SQL.
  • Run using SQL*PLUS gives an error when a line is 3000 bytes or more (this is a limitation of SQL*PLUS). AQT will avoid this problem by splitting long lines into lines of less than 3000 bytes.
  • For DB2 z/OS, some XML values were not able to be displayed
  • Some DB2/LUW systems did not display Modules.
  • The Query Builder > Cols tab did not display any columns in the left panel.

New to AQT v10.0.4

New Features

  • On the Database Explorer window:
    • there is now a Filter box on the Object Tree. This can be used for filtering the schemas.
    • You can specify that the schema filters are remembered between AQT sessions
  • Data Compare can now :
    • write results to an Excel spreadsheet. This can be done when the Compare is run in batch mode, or when the Compare all tables in Schema function is used.
    • when writing the resync script to separate files, there is now as option to not also write to the main script file.
    • the report file will now contain info on the number of insert/update/delete statements written to the script files.
  • In the System Monitor and History windows, copying from cells has been improved.
  • In the Run SQL window:
    • we have added an option to highlight the current line
    • for Sybase, Intellisense will show you a dropdown of tables and views, not just tables
  • For DB2 for LUW:
    • we have added DDL generation for Database Partition Groups
  • For DB2 for z/OS:
    • we have improved the display of native SQL Procedures with different versions.
    • the Run Procedure window will now correctly handle SQL Procedures with different versions.
  • A few improvements to the Data DIsplay window:
    • the Display x'00 characters as spaces now allows you to display a particular character for the x'00'.
    • there is a new option Display unprintable characters as which allows you to display all unprintable characters in a readable format.
    • the Hide all Columns where.. function now allows you to specify multiple values. This setting is now remembered between sessions.
  • In the Preview dialog of the Row Update window, we have added a Copy to SQL Window function.
  • The result-grids on the SQL and Query Builder windows can now show the Group By box (right-click the grid for the option to show this).
  • When you customize a toolbar, you can specify that some items are right-aligned on the toolbar.
  • We have added a window for displaying and amending environment variables. This was borne out of frustration with Windows poor tools for managing these.

Bug Fixes

  • For DB2 for LUW:
    • the tables in tablespace display showed all tables, rather than those just in the selected tablespace
    • DDL for Bufferpools did not have the Database Partition Group clause
    • the table Internal Detail display was very slow
    • DDL for partitioned tables incorrectly had DISTRIBUTE BY when it should be PARTITION BY
    • table DDL was not correct for columns defined with type CODEUNITSxx.
    • for DB2 v10.5 and above, AQT will generate the ORGANIZE BY ROW/COLUMN clause.
  • For DB2 for z/OS:
    • Index DDL was sometimes generated with a NON UNIQUE clause, which is not valid
    • XML values were sometimes not able to be displayed
    • DDL was incorrect for columns defined with TIMESTAMP WITH TIME ZONE
  • For both DB2 LUW and DB2 z/OS:
    • DDL was incorrect for timestamp columns where the length was specified - eg. TIMESTAMP(9)
    • We have improved the way AQT handles tables with Hidden Columns. In particular the Row Update window sometimes generated incorrect SQL for such tables.
    • Timestamp values were sometimes not formatted correctly in insert / update statements
  • On the Run SQL window:
    • the column list for a table was not refreshed when the refresh icon (above the column list) was hit.
    • Format SQL truncated a statement which was longer than 32K bytes
    • Format SQL sometimes omitted the UNION clause, or added one erroneously
    • the Database dropdown box was sometimes not wide enough for very long database names. It will now resize to the width of the database names.
    • when the Link SQL window to Data window option was used, AQT would sometimes link to an existing data window rather than a new one
    • when FIPSAlgorithmPolicy was enabled, the editor would crash when pasting text
  • A few problems with Data Compare:
    • the compare would crash when running in 64-bit mode and comparing LOBs
    • the Generate into Separate Files options were sometimes disabled
  • Customize Shortcut keys hit an error when your PC was using German or some other non-english languages
  • Values for columns with the LOGICAL data type were erroneously enclosed in quotes
  • For Teradata, the NUMBER data type was not identified correctly in the column display.
  • For Teradata v15, AQT was not displaying the full (long) object names.
  • Export to XML hit an error when exporting to a directory that didn't exist
  • On the Signon window, items in the Recent list would sometimes be displayed with the wrong icon.
  • The Save dialog would sometimes not recognize that the directory had been changed, and would save the file into the original directory.
  • The Data Loader
    • incorrectly reset the Mapping when the table being loaded, or the load-source was changed.
    • did not save the history of Load Data from Table entries
  • When using the ODBC Driver for Excel, tables sometimes didn't get their column list populated in the SQL and Query Builder windows
  • When a query was run from the Database Explorer window, the Cancel button was ignored on the Enter Parameter Values dialog.
  • History for Search Table was not saved when Search Table was run fom the Database Explorer window.
  • Manage Authorities only allowed 500 items to be added to the grid when the Add to Grid option was used.
  • The Row Update window truncated text in the Preview box when it contained a x'00' character.
  • If AQT was positioned at the top of the screen, it would be reopened in a slightly different position.
  • In the Query Builder you can now clear all display-grids with View > Clear all grids.
  • On the Database Explorer window, the Number of Objects Displayed message was incorrect when a filter was applied.

New to AQT v10.0.3

New Features

  • A few enhancements to the Database Explorer window:
    • when you print a grid, the grid title is included in the print
    • for DB2 for iSeries, when the Use Column Headers option is specified, AQT will use the COLUMN_TEXT if the COLUMN_HEADER is blank
    • for DB2/LUW, the Enforced flag is now shown on the Foreign Key display
  • Generate DDL
    • can now save/remember your settings
    • can now be run as a script statement (e.g. in batch)
    • you can now specify how data types are mapped from one database to another. This is done with a statement (typeconv) in the cfg file for the database.
  • AQT now interfaces with the Document Locator document management system by ColumbiaSoft.
  • On the Compare Multiple Tables and Load Multiple Tables windows, you can now copy the contents of the grids.
  • A few enhancements to the Run SQL window:
    • You can now specify how many Recent Query items are to be maintained
    • There is a new option Run to Cursor. This will run all SQL up to the current cursor position.
    • The Sort Columns option above the column-list will now cycle-though no-sort, sort-ascending, sort-descending. Previously it did not have a sort-descending mode.
    • There is now an option for AQT to save your SQL when you close the window (even if it is not a saved-query)
  • A few enhancements to Data Compare:
    • you can now export the results to Excel
    • you can now generate a resync script when comparing a query, as long as it is an updateable query
    • when comparing a query, you will now get a warning message if the query doesn't include an ORDER BY clause
  • A few improvements to the DB2 System Monitor.
  • AQT can now run Teradata Procedures. This is discussed here.
  • In the Run Procedure window, you can now specify hex IN values, plus view output parameters in hex.
  • The Export window:
    • will now prompt you if a file/worksheet exists and you haven't specified replace/append/new. In the past this caused the export to fail.
    • will now remember the recent files you have exported-to. A different list is held per export type.
  • A few changes to User-Defined Parameters:
    • The setparm statement can now read a list of values from an external file (csv or Excel) or from a query.This is a frequently-requested piece of functionality. It allows you to read a list of values from (say) an Excel file and use these in an IN list for a query.
    • There is now an Option to specify whether you want the parameter values remembered between AQT sessions
    • The delparm statement can now delete all parameters, or a set of parameters matching a mask
  • Other:
    • The Data Loader will now remember the table and load-from-file dropdown lists between AQT sessions.
    • In the Query Builder window, you an now deactivate a Where clause. This provides an easy way to "remove" a where clause then add it back in again later.
    • Object Compare now allows you specify <schema> and <table> in the report and resync file names. When comparihng multiple objects, this allows you to have separate report/resync files per object compared.
    • Objects Compare can now compare DB2/LUW Functions and Procedures.
    • There is a new scripting command WriteMsg to write info to the Debug file plus Log File (when running in batch).
    • Activation can now be done through a Proxy Server.
    • AQT now supports the use of the SYSTSOOLS schema for DB2/UDB Explain Tables
    • There is now a setting (Adjust column widths) to make the columns width in the Data Display window a bit wider.
    • AQT can now read QMF query files (*.qry)

Bug Fixes

  • The Database Explorer
    • for some databases, it didn't show your schemas when you had a single schema
    • displays did not work for Netezza v7
    • for DB2/LUW, the Tables in Tablespace display didn't include tables which had this tablespace as a Long Tablespace or Index Tablespace.
    • the Tablespace Sizing display for DB2 for z/OS did not include all tablespaces
    • in some circumstances, when the Referenced Tables option was selected, the table count was displayed instead
    • did not show any tables when using the CData ODBC Driver for XML
  • A few fixes for DDL Generation:
    • for DB2/LUW, Table DDL did not have the Inline Length clause
    • for DB2/iSeries, you can now generate the DDL for Physicals. They will be generated as a Create Table statement.
    • for DB2/iSeries, AQT will now include Column Comments in the DDL.
  • Data Compare:
    • hit an error when the Primary Key column was a long way down in the column-list
    • did not find the Primary Keys for Sybase Anywhere tables
    • Compare Multiple Objects didn't copy cells from the grid when Select All > Copy was hit
    • for SQL Server, the Primary Key columns were in alphabetic order, rather than in the index order
  • A few fixes for the Run SQL window:
    • the setting for background color of the editor was ignored, if this was specified as being a different color for different databases.
    • multi-line text was pasted oddly.
    • when FIPSAlgorithmPolicy was enabled, the editor would crash when pasting text which ended in a linefeed.
    • copy text sometimes hung for a long time, then failed.
    • when using Autosave, the save message was written to the status-bar at the bottom of the window, overwriting other messages. AQT will now not give you the save message when a query is autosaved.
    • when hitting the backspace key, the cursor would sometimes jump to the end of the query
  • A couple of fixes for the Open / Save queries window.
    • The Save file name sometimes had two back-slashes in the name
    • the Rename / Delete Directory functions did not work
  • A couple of fixes to the Data Loader
    • a mapping function which had a comma inside quotes (such as trans(“$,”,)) did not work
    • when creating a table, the scale of a decimal column wasn't calculated accurately
  • A couple of fixes for Export:
    • when exporting to a new Excel file, you sometimes got an error indicating your worksheet already existed
    • when changing between different export modes, export would sometimes export the wrong file format
    • when exporting to Excel using Native export, date values weren't correctly defined to Excel as date values
  • Other:
    • For PostgreSQL, AQT wasn't getting Primary Keys correctly.
    • Options > Time Format was ignored when formatting Timestamp values
    • In some circumstances, a query run against PostgreSQL would not return an error message.
    • The DB2 System Monitor would hang when the Monitor Flags were changed.
    • Foreign Key information for DB2 for iSeries was not correct.
    • For Turkish users, some of the Administration Component window did not display correctly.
    • Load Multiple Tables ignored the setting for Delete Table Contents when this was set to False.
    • Edit Data hit an error when one of the Key values was Null.
    • Compare Objects sometimes did not correctly compare Informix Default values
    • for DB2 for z/OS, when the Resource Limit was exceeded, AQT did not warn the user
    • the Query Builder didn't give a warnng message when importing a Unioned statement
    • the batch-mode flag noappend wasn't recognised unless it was in lower case
    • in batch-mode, if the log file was not specified, but noappend was specified, the log file was erroneously taken as being noappend
    • the Signon window didn't display Direct Connect entries correctly in the Recent list
    • in the Data Layout window, the Move Up / Move Down buttons did not work after Move To was used.
    • AQT would sometimes crashes when File > Exit AQT was selected.
    • for Informix, the Primary Key columns were in the incorrect order when one of the columns was in descending sequence.

New to AQT v10.0.2

New Features

  • A few enhancement to the signon window:
    • you can now right-click > sort the Recent list
    • you can add descriptions to Recent items (as was available in AQT v9)
  • Some enhancements to the Data Display window:
    • a very useful feature is to right-click a cell and select Only show rows with this value. There is now a second option Only show rows with this value (another condition) to add this condition to the existing ones
    • there is now to ability to highlight a particular set of cells in a display grid
  • Some improvements to the Row Update window:
    • when you click on Get Values, AQT can get the values from the Foreign Key defined for the column. This will be done when Options > Row Display/Update > Get Values from Foreign Keys has been selected.
    • once you have clicked on Get Values to get the list of values for a column, this list is retained / re-established while the window is open and doesn't have to be re-fetched.
    • the option Edit > Enable Sorting is now remembered.
  • Data Compare:
    • now has an option to Show Row Detail. This allows you to see the detail of a comparison of an individual row. You can step through the compare results in this mode.
    • you can now use View > Only show rows which are different to only see the rows which are different.
  • The Open/Save dialog has been improved. New features are:
    • you can filter files to quickly find a file with a particular name
    • you can display all recently-changed files with a single click
    • you can display all files in the directory plus sub-directories in a single display
    • you can delete or rename multiple files
  • In the Database Explorer (and elsewhere) the Filter used for filtering objects has been enhanced:
    • you can search for entries ending with some text
    • you use regular expressions (regex)
  • A number of enhacements for the Data Loader
    • improved handling of loading from space-delimited files
    • new mapping functions LPAD, RPAD and NULLIF
    • when in Create Table mode, you can now specify the column names / types / null-flag of the new table on the Mapping tab. Previously this could only be done when the Create Table statement was previewed, which was a bit clunky.
    • for Create Table mode, for DB2 z/OS you can now specify the name of the Database the table is to be created in. This allows the use of the In Database xxxx clause.
    • when loading from a delimited file, you can now specify a hex column delimiter.
  • A few enhancements for the Query Builder window
    • on the Columns tab, there are now options to display column types and column descriptions
    • on the Columns tab, there is now an option to sort the table column list
    • for DB2 for iSeries users, when Options > For DB2/400 use Column Headers is specified, column Header will be added to the query when a column is selected.
  • A couple of enhancements to Generate DDL
    • on the Database Explorer window, there is now a DDL menu item. This can be used for generating the DDL for all the objects in the database. This option is only available for some databases.
    • a new option Format View definitions. This will format the view text to a more readable format.
    • a new option Include a Commit after each object. When this is selected, AQT will include a Commit statement at the end of the DDL for each object.
  • Other:
    • Charts can now run queries that contain parameters (and queryparm commands)
    • You can now Activate your License using a web page. This is an alternative should online activation not be possible.
    • For DB2/UDB you can now generate the DDL for all objects (eg. All Tables). This is done with the DDL option on the main menu-bar of the Database Explorer window.
    • When Exporting to a delimited file you can specify a hex column delimiter.
    • In the Database Explorer window, you can now select multiple objects then click on DDL, Drop table etc. The selected objects will be selected in the new window.
    • In Options > Diagnostics you can now specify the name of the Debug file. This can also be specified when running AQT in batch.
    • Run Procedure > Copy to SQL Window will now include the parameter name in the parms statements. This makes it easier to identify which parm is which.
    • You can now specify how many searches are on the Search Table window.
    • For DB2 z/OS you can now use Compare Objects with Plans and Packages.
    • For SQL Server, the Database Explorer will now display Linked Servers.

Bug Fixes

  • A few minor problems on the Data Display window:
    • when a Font was specified, the Font Script was ignored. This is needed to display some asian characters correctly.
    • group Calculations didn't recognise some columns as numeric when Options > Display Numeric Columns as Double was specified.
    • crash displaying a result when Options > Max Row Height was set to a very high value.
    • when customizing a Style, the settings for Group Header were ignored.
    • the right-click menu sometimes didn't show when a single row was displayed.
    • group-calculations > show as text row, sometimes did not display
    • the XML Viewer would sometimes get error Unable to display XML Data '.' hexadecimal value 0x00 is an invalid character.
  • A few fixes for the Run SQL window:
    • data was sometimes exported instead of displayed
    • parsing of the SQL (to get the column list) sometimes took a long time if Options > Use SQLExecDirect was specfied.
    • Copy cell values to SQL did not work correctly after the grid had been sorted.
    • when using Format SQL, and connected to DB2, the WITH UR clause would be removed from the query.
    • Format SQL did not work correctly when there was a table expression without a correlation name at the end.
    • a few functions did not work correctly when select* was specified (eg. no blank between the select and the *).
  • A few fixes to the Data Loader:
    • when loading from Excel files, the cell formula rather than the cell value was loaded.
    • when loading from Excel files, date and time values were sometimes loaded as the internal numeric value rather than the string representation of the date/time.
    • when creating a table from a file or Excel file, AQT looked at all rows, ignoring Start From Row. This sometimes led to the columns being created with the wrong data types.
    • the Data Loader didn't give an error message when it hit an error opening an Excel file
    • when creating a new table, the DDL would be incorrect if a column name contained a comma
    • the load sometimes did not check whether the target table exists
  • Some fixes to the Database Explorer window:
    • the DB2/UDB Table Sizing display sometimes got an error with the Round function
    • a few improvements to the display of DB2/UDB Stored Procedures
    • for SQL Server, Index DDL didn't work when right-clicking an index in the right grid
    • for DB2 z/OS some users were not shown in the User list
    • Generate DDL did not work from the a list of objects displayed with Find Objects.
  • A couple of fixes for Generate DDL
    • the option Ensure lines are less than 72 bytes was not working correctly
    • when Write DDL at end of script was selected, the DDL would incorrectly contain some internal control characters
    • DDL for DB2 z/OS didn't handle Index Include columns correctly
  • Some fixes for the Query Builder window:
    • For Oracle, Add Related Tables was very slow
    • The SQL was sometimes created as function(colname) as : rather than function(colname) as colname.
  • A number of fixes for Compare Objects:
    • for DB2, the resync script did not correctly handle columns defined as NOT NULL WITH DEFAULT, or correctly resync DEFAULT values
    • when the Select Table button was clicked, the right grid in the Database Explorer window was cleared
    • when comparing a single table, the resync script was not shown, even though it was specified to do this
    • for DB2/LUW, AQT would compare table partitioning columns. This has been changed to be an optional item to be compared.
    • for DB2 iSeries there were a few problems with the script for resyncing table definitions.
    • the resync script includes statements to resync the definition of a table, even though this was de-selected.
  • The Run Procedure window:
    • would get an error when a procedure was selected from the dropdown list after a Filter was applied.
    • the number of result-sets returned by a procedure was limited to 100.
    • for DB2/LUW there were problems running a stored procedures when there were multiple procedures with the same name but different specific-names.
  • A couple of problems with Data Export:
    • when running an export to Excel, the Windows clipboard was cleared
    • for a csv export, the delimiter character was not remembered when it was an Other character.
  • Other:
    • On the Window-List bar, the Show Close Button state was not remembered.
    • Explain for DB2 z/OS didn't show the SQL text
    • Find Text in Table didn't include Aliases and Synonyms.
    • Find Text in Table did not work with SQL/MX numeric columns.
    • For Oracle, Add Related Tables in the Query Builder was very slow.
    • The option Get Related Table information from User Defined Relationships only was ignored.
    • In batch mode, an error was not flagged if queryparm or setparm had an error running a query.
    • In the file open/save dialog, files were sometimes not shown in file name order.
    • Find in the SQL History window could give an Overflow error
    • For DB2/LUW v8 the System Monitor gave error "monitor-object monlockw not found"
    • Simple DDL Generator didn't generate DDL for DB2/400 Physicals and Logicals
    • Auto-reconnect was not working for DB2 for z/OS.
    • The Signon window would give error message Processing error at GetDataSources. Object Reference not set to an instance of an Object when there were no datasources.
    • Activation can now deal with users who have roaming profiles.
    • When created a SQL Server Stored Procedure, the Copy From button was not present.
    • The Batch samples did not run successfully as they were in the Program Files directory structure, which Windows protects. They have now been moved to the Application Data directory, so can run successfully.
    • AQT would crash when connecting to a database if the Windows setting Fips Algorithm Policy was set. This has now been fixed.

New to AQT v10

Major New Features

  • The Database Explorer window has a Find Objects feature. This allows you to find all objects that contain a particular name (such as a column name).
  • There is a new window to Load all the tables in a schema. This is built on top of the Data Loader and allows you to load all the tables in a schema in a single operation.
  • There is a new window to Compare all the tables in a schema. This is built on top of the Data Compare and allows you to compare a tables across two schemas in a single operation.
  • You can now search multiple tables looking for a particular piece of text.
  • The Signon window has a new look, plus makes it easy to sign onto File DSN plus Access/Excel files
  • Compare Objects can now generate a script to resync the objects / schemas being compared.

Other New Features

  • The displays in the Database Explorer can now be cached to disk. This allows for a faster startup of AQT for databases which have a large number of objects.
  • Compare Objects can now be run in batch.
  • Data Compare has had a couple of improvements:
    • you can select which of updates / inserts / deletes are to be included in the resync script
    • there is now an option Generate Updates as Deletes/Inserts. When this option is selected, AQT will update a row by deleting it and inserting a new row, rather than using an update statement. This avoids the problem whereby some rows cannot be updated due to foreign key constraints.
  • AQT can now Auto-Reconnect to a database if it has detected that the database connection has been closed.
  • The Run SQL window:
    • can now highlight column and table names.
    • when running a script, you can now set the statement delimiter at the start of the script.
    • has a new function to Rewrite your SQL. This is the equialent of importing your SQL into the Query Builder and back again; the SQL will be rewritten as per the options in the Query Builder.
  • The Data Display window:
    • has an option View > Use column expressions as headers. This is useful for complex queries - the column header (title) will be taken from the column expression rather than the column name.
  • Miscellaneous:
    • The Window-list buttons now display a close button. This makes it a lot easier to close windows.
    • There is a new Scripting command Sleep. This will cause the script to sleep for a given number of seconds, or until a particular time of day. This can be used as a basic scheduler.
    • You can now specify any arguments that need to be passed when using an External Editor.
    • You can now specify that the display tabs in the Run SQL and Query Builder windows have a "Copy to Data Display window" button. This makes it easy to copy the results to their own Data Display window.

Changes in behaviour

  • AQT v10 licenses now need to be Activated. This registers the use of the license on our servers.
  • AQT now runs under .Net Framework v3.5. This is an inbuilt part of Windows 7. For Windows 8 you may have to install this. See Installing AQT under Windows 8 for details.

Bug Fixes

  • In the Run SQL window:
    • AQT didn't recognise that a query had been changed when the backspace or delete button were hit
    • the Window-List button for the SQL window was sometimes blank
    • sometimes it hit an error when running multiple --aqt commands
  • Data Compare:
    • did not correctly write to the resync script when Append mode was selected
    • did not work well when the Primary Key was numeric
  • For DB2 z/OS:
    • the wrong SQL was generated when displaying a table that contained XML columns.
    • Table DDL sometimes had "Generated By Default" when should have been "Generated Always"
  • A few fixes for DB2 for LUW:
    • for DB2/LUW v8, the Table Sizing display failed
    • when generating the DDL for a DB2/LUW Stored Procedure, the text <NULL> was erroneously replaced with <1>
    • the DDL was incorrect for Automatic Storage tablespaces.
    • DDL was generated corretly for Column Organized tables
  • DB2 for iSeries: AQT didn't include the Row Change Timestamp clause in table DDL
  • For SQL Server:
    • Table DDL was not working
    • Improved the handling of Column Comments
  • For Oracle:
    • support has been added for Trigger Columns
    • DDL for some tables had an invalid Storage clause
  • The Database Explorer displays did not work for some versions of Netezza.
  • The Data Display window did not save the Font when Save Layout was selected.
  • In the Row Display window, Goto Row sometimes went to the wrong row.