==================================================================
Top100 - The Oracle Shared Pool Profiler
Copyright (c) 1995-2002 by Material Dreams.
All Rights Reserved.
http://www.materialdreams.com/oracle
==================================================================


Version 1.7.2 Build 144 - 23-JUL-2002
-------------------------------------
- Extensive debugging capabilities have been added.


Version 1.7.1 Build 143 - 27-JUN-2002
-------------------------------------
- A new column (Error Message) now allows to see why the statement was
  not explained properly.
- Fixed a problem that caused the interactive explain plan not to show the
  execution plan.
- The trial period now automatically extents by 30 days if a new version of
  this application has been installed.


Version 1.7.0 Build 142 - 26-APR-2002
-------------------------------------
The server name in the connect dialog can now be
up to 128 characters long.
The process of calculating the similarity to a given
statement has been moved into its own thread and now
has a progress indicator.


Version 1.7.0 Build 141 - 12-MAR-2002
-------------------------------------
Fixed some more spelling mistakes.


Version 1.7.0 Beta Build 140 - 13-FEB-2002
------------------------------------------
Smaller internal improvements and fixed several spelling mistakes.


Version 1.7.0 Beta Build 139 - 06-FEB-2002
------------------------------------------
This build fixes a problem when running Top100 on some
versions of Windows NT. At startup the application just generated
the error message "The procedure entry point CreateToolhelp32Snapshot
could not be located in the dynamic link library KERNEL32.dll".


Version 1.7.0 Beta Build 138 - 01-FEB-2002
------------------------------------------
This build fixes a few smaller problems including the wrong error
message when using the new option "Find similar statements".


Version 1.7.0 Beta Build 137 - 27-JAN-2002
------------------------------------------
- Completely redesigned the Oracle interface.
  The OCI DLL's are now dynamically loaded.
  Support for all Oracle Client Versions.
  Added support for Oracle 9i.
- Completely redesigned the data retrieval from the shared pool.
  Loading of the statemnts is up to 10 times faster then before.
- Multithreaded processing when analyzing statements.
- New improved progress message with time left indicator.
- Connect and Disconnect options now available.
- The connection dialog now allows to connect as sysdba or sysoper.
- Title of main window now shows the current connection.
- Extensive connection information now available in the help menu.
- An option to flush the shared pool has been added.
- New command line options to select OCI version and authorization type.
- The HTML and XML output have been optimized using style sheets.
- The SQL statement details dialog has been redesigned
  into a property sheet dialog with four pages.
  Two separate pages for the SQL text and execution plan.
  A new page with the detailed list of statement parameters.
  A new "SQL Test" page offers on-the-fly modifications and analysis
  of the sql statement.
- The "Find similar statements" option has been finalized and
  it's user interface has been further improved.
- Enhanced Oracle error handling.
- Enhanced debugging features.


Version 1.6.0 Beta Build 136 - 10-MAY-2001
------------------------------------------
Added the export to a CSV file by keeping the
line breaks in the sql statements.
Fixed a problem when export empty columns
to a XML file.
Fixed a problem that prevented to correctly
show the line breaks in the XML and HTML
output files.
Improved speed when export very large
result sets as an XML file.


Version 1.6.0 Beta Build 135 - 23-APR-2001
------------------------------------------

NEW ENHANCED FILTER CRITERIA:

Added a new set of complex filter criteria to
the preferences window in order better filter
the statements that need to be analyzed.

The following filter criteria can now be used:
+ Elapsed minutes since first load
+ Buffer Gets + Disk Reads per execution
+ Buffer Gets per execution
+ Disk Reads per execution
+ Executions
+ Sorts per execution
+ Number of Rows per execution
+ SQL statement text like
+ SQL statement text unlike

All numeric filter criteria can be set to the
following values:
all, less then, more then and equal

All text filter criteria can be set to the
following criteria:
all, case insensitive, case sensitive

FIND STATEMENTS WITHOUT BINDING VARIABLES:

With the new enhanced filter criteria it is
also possible to get an overview of all
statements that are not properly using
binding variables.

To for example find select statements
that might not properly use binding
variables the following filter settings
could be used:

In the Value Filter
SQL statement like	= case ins. + %where%
SQL statement not like	= case ins. + %:%
All other criteria	= all

In the statement Filter
Only enable the select statements

NEW SORTING CAPABILITIES:

It is now possible to sort on multiple columns
by pressing the Control key while selecting
the columns to be sorted by in the header.
By selecting a column twice the sort order
will change.

The current sorting settings will be shown in the
Table layout page of the preferences dialog.

The sorting will be saved and restored from the
registry when saving the preferences or leaving
the application.

The speed of the sorting in very large tables
has been improved.

NEW STATEMENT SIMILARITY ANALYZER:

A new functionality has been added allowing to
find similar statements based on the algorithm
known as the "Levenshtein Distance".

It is now possible to select a statement in the
table and by pressing the right mouse button to
activate the popup menu where the "Find similar
statements" option can be found.

It is now possible to select if the calculation
should be case sensitive or not and how the
statements with a different command type should be
compared. If you compare statement of different
command type the distance will then be set to the
max value of 99999.

The application now calculates the difference
between the currently selected statement and all
other statements and sorts the list descending
by difference putting the current statement
on the top of the list because of a difference
of 0.

IMPROVED DATABASE CONNECTION HANDLING:

Show the currently connected user, the database
connection, the database name and the version
in the task window title.

Allow reconnecting with a new server without
having to terminate the application.

NEW AND CHANGED PREFERENCES:

A new flag in the general preferences forces
the application to show a warning message
when starting up if not all database users
are part of the current selection.

The Layout editor in the preferences now
correctly shows the order of the columns
in the table.

The "Only show the top n statements" option
that gave the name to the application has been
removed because of the introduction of more
general filter criteria and the enhanced
sorting capabilities available in this
revision.


Version 1.5.2 - 18-MAR-2001
---------------------------
- The number of parses (# Parses) is now also available
  as a column in the table.
- Fixen an error when exporting results in HTML format.
  (Some special characters have not been converted)


Version 1.5.1 - 22-JAN-2001
---------------------------
- When upgrading from an earlier version of Top100,
  the columns and their contents might appear out
  of sync. This is caused because of an error when
  converting the stored table layout preferences.
  This problem has been fixed by cheling the version
  of the preferences and eventually restoring the
  default table layout automatically.
- The error when setting the "Only show the top" option
  in the preferences to a value different then 0 and larger
  then the total number of statements in the SQL area
  has been fixed.


Version 1.5.0 - 21-JAN-2001
---------------------------
- The results of the analysis can now be exported
  and saved as a simple HTML file or as a XML
  database together with a HTML file that allows
  to browse the XML database.
  Use the Export entry in the File menu or the
  "Save" button in the toolbar to export the
  contents of the table.
- A new flag in the preferences allows to manually
  disable the analyzing of each sql statement via
  explain plan. This will speed up the process but
  at the same time certain values will no longer be
  available and you will be able to see the execution
  for each sql statement.
- The progress bar in the status bar is now more
  precise when analyzing a large SQL area and on slow
  remote database connections.
- The analyzing of the sql statements has been further
  optimized and should perform a little faster.
- The reaction on changes in the preference dialog
  has been optimized by only reloading the data from
  the database if really needed because of the changes.
- The (anyway very simple) printing functionality has
  been removed because of the newly introduced export
  options.
- The help file has been made a little better.
- An example on the XML export has been added to the
  distribution. (Top100.XML and Top100.HTML)


Version 1.4.1 - 12-JAN-2001
---------------------------
- Because of problems with the "modal" progress window
  i'm now using a progress control in the status line.
- The processing can be stopped by using the ESCape key.
- An error has been fixed that occured when several users
  were using Top100 on the same instance.


Version 1.4.0 - 06-JAN-2001
---------------------------

FIXED SEVERAL PROBLEMS WHEN ANALYZING STATEMENTS:

- When the application cannot analyze a statement
  the statement fill be skipped and processing continues.
- A new column status shows if and how the statement
  was analyzed or if any error has occurred
  The following information can be found:
  "analyzed" ... the statement was process correctly
  and all information is available.
  "not analyzed" ... the statement was not analyzed
  because it is not a select, update, insert or delete
  statement.
  "expired" ... the complete statement cannot be retrieved.
  This condition in not an error condition and ac occur
  on a heavy loaded system.
  "error" ... an error occurred when analyzing the statement.
  The statement was not analyzed but can still be seen.
- The columns "cost" (total cost) and "# FTS" (number
  of needed full table scans) can only be used if the
  statement was analyzed correctly and will be null else.

SELECTION OF STATEMENT OWNER:

- The selection of the statements by the user who
  first parsed the statement has been comletely redesigned.
  A new Tab (Users) in the Preferences Dialog allow to
  select any compination of users from a predefined list
  of oracle users using the checkboxes in the list.
- The limitations in seleting the SYS and SYSTEM user
  are no longer needed and have been removed.

IMPROVED THE PROCESSING SPEED:

- All database accesses have been redesigned and optimized
  by using array fetches, no longer sorting in the database
  and not performing any joins in the database.
  Because of the lack for fast index relational access
  to the dynamic performance tables in Oracle the complete
  tables will be fetched and then processed locally.
- All static information (users, paarmeter, etc.) will
  be cached locally and used for all refeshes.
- Additionally the application now shows a progress
  message during the process of analyzing the sqlrea
  and informs you of the time left to wait. The processing
  can also be cancelled at any time.

OTHER IMPROVEMENTS:

- The application now saves and restores the latest
  position of the main application frame.
- A new column has been introduced showing the internal
  statement address.
- The existance of the plan table will be cheked at
  program start.
- Fixed a failed assertion when setting the sort
  order to an invisible column in the preference
  Dialog.


Version 1.3.1 - 20-DEC-2000
---------------------------
- Internal changes and adapted to new CI.
- Fixed a GPF when no SQL statements can be found.

Version 1.3.0 - 09-DEC-2000
---------------------------

IMPROVED PRE-PROCESSING OF SQL STATEMENTS:
- During the analysis of the SQL area in the Oracle
  instance the system now also automatically loads
  the complete SQL statement and additionally
  analyzes and retrieves the execution plan of each
  statement.
- This makes sure that all SQL state in the table
  can be shown and analyzed. In older versions the
  system might have reported, that the statement is
  no longer available in the sga and therefore cannot
  be analyzed.
- The preprocessing of the SQL statements slows
  down a little the refreshing of the statement list
  but being highly optimized the total time of
  processing if still acceptable.
- The execution plan now observes the optimizer goal
  set for each individual statement.

NEW INFORMATION IN THE TABLE:
- The columns Cost and FTS have been added to the
  table and offer a very interesting overview of the
  pre-analyzed statements.
- The column cost is retrieved from the execution plan
  for each statement and represents the cost of each
  statement.
- The column FTS (Full Table Scan) is the number
  of full table scans needed for each statement
  and is a very good indicator for SQL statements
  that might need special attention or missing
  indices for the statement.
- Booth fields are only available when processing
  SQL statements that can be analyzed. (SELECT, INSERT,
  UPDATE and DELETE)

IMPROVEMENTS IN THE TABLE LAYOUT:
- The table layout (visibility, width and order
  of the columns) can be changed.
- You can sort the table by any column by clicking
  the column header. The current sort settings will be
  indicated in the column header with a small arrow.
  The sort order changes each time you click on a column.
- A new tab in the properties dialog allows to see
  the current table layout and also to hide one
  or more columns. Additionally you can restore the
  default table layout by pressing the default button.
- All the information of the table layout will be
  automatically stored/retrieved when leaving/starting
  the application.
- Changing the order of the columns can be done by
  dragging the columns to its new position.
- Improved table appearance using auto select row feature
  and flat scrollbars.

GENERAL IMPROVEMENTS:
- The applications now checks the availability and
  versions of all needed system components before
  starting and reports any missing components.
- A small help file named (Top100.hlp) has been added
  to explain the usage of Top100.
- The application now supports online help and
  opens the Top100.hlp file when help is requested.
- It is now possible to unregister the application
  using the Unregister item in the Help menu.
- It is now (also) possible to access the Top100
  web page using the Visit Web Page item in the Help
  menu.


Version 1.2.0 - 06-JUL-2000
---------------------------
- The description of the SQL statement now uses a more
  refined syntax highlighting algorithm and also marks
  constants and comments properly.
  An sql statement in the table can now be analyzed by
  simply double-clicking the line in the table view.
  The word-wrap mode has been removed in order to always
  show the original format of the SQL statement.
  The error handling in the logon dialog has been fixed
  and does now no longer abort if a wrong user/password
  combination was used.


Version 1.1.0 - 10-JUN-2000
---------------------------
- Two new columns %Disk and %Buff. have been introduced
  and allow to see the percentage of Disk Reads or Buffer
  Gets one single SQL statement accounts for compared to the
  total number of Disk Reads of Buffer Gets.
  This two values should offer a better identification of
  the suspicious sql statements that may need to be tuned.
- The new option "Restrict to top now allows to restrict
  the rows to the current Top n ones without the need
  to refresh all rows from the database. By resorting the
  rows (click on the column header) you can look at the
  Top n rows for each column.


Version 1.0.1 - 03-JUN-2000
---------------------------
- A problem in the online registration process
  has been corrected. You must use version 2.2.1
  or higher in order to register the application
  successfully.


Version 1.0.0 - 24-MAY-2000
---------------------------
- First released version.
