What's New in SQLMerger 4, release date 1. Okt. 2018

Major news:

* New feature: merge tables schema (references, indexes, keys also)
* Added ribbon menu.
* Target data can now be persisted via stored procedures.
* Blob and image fields suppport.
* Much better speed.
* Better error handling.
* Sort items by references depth.

See more below for minor changes and bug fixes.

For version 3.0, release date 1. June 2012

Other new features:

* Support for MySQL table names and field names with space and underscores.
* Support for identity fields.
* Passwords can now be remembered.
* Can now handle Binary and Varbinary fields.
* Added import and export blob like field types.
* Added support for comparing blob fields.
* It is now possible to execute a number of actions on startup, so the programs can be used to automate tasks. E.g. set up at windows service to invoke certain functionality.

Small improvements:

* Can now handle e.g. [] and "" in primary key field names specifications and table names.
* When the key field of a lookup did not exist in the dataset behind the error showed was not being very informative. A better description of the error is provided now.
* Append record now sets focus in grid on first editable cell, ready for keying in.
* When generating script for stored procedures invocation, unchanged values are now commented as ":Unchanged:".
* Text-style processing, now trailing spaces are removed first so to avoid adding - in the end of strings.
* When a string has trailing spaces it is trimmed for comments related to lookup values.
* When saving data via stored procedure, Identity field setting is now ignored. Previously it could cause problems with stored procedures.
* When a lookup have a custom query, the name is now listed also in the display text of the lookup.
* Better handling of non-existing primary keys fields (when a wrong field name is entered).
* It is now possible to have more than one lookup dependent on a field. E.g. you can use this post having a table with postal codes etc. This might be keyed by an internal id, but in user interface you want to display 2 fields in separate dropdowns from the domain table. Postal code and City. This is now possible. The 2 dropdowns will correspond and when one is changed the other will automatically follow.
* Better generating lookup name automatically.
* Can now find field endings with "Name" if only one in the table, this is used when making lookup display field suggestions.
* Ctrl + Ins works in memos now.
* Sometimes empty text values from database was read as '' strings. Thus creating extra database updates unnecessary.
* Strange zero terminated strings in database fields with errors are now handled fine and interpreted as empty strings.
* Improved handling of problem when no key have been filled in and script is generated.
* More robust when encountering unknown field types.
* Improved: Save as dialog. Displays project name. Can see if file is new in title. Locates previous file location.
* Improved: Much better speed when deleting merge items and less flickering.
* Improved: Quick locator is now only populated with not hidden items.
* Improved: Error handling when invalid lookup definitions improved.
* Added feature: Copy source connection setting to target and visa verse features.
* Improved: Entering SQL Server connection settings
* Improved: Generate field list to clipboards can now be used on the query tab too.
* Improvement: Start up time improved.
* Improvement: Responsiveness when closing large datasets merge items.
* Improvement: Now supports generating lookup text comments for multiple lookups on the same key field.
* When editing in project grid speed has been improved a lot. Now more than 100 times better.
* Added feature: Project file is now automatically backed up when saving the project. There is an option to keep all revisions or to override previous backup file. Backups are stored in a Backup folder along with the project.
* Loading a project has been optimized. A project with 1600+ merge items took approx. 2 minutes to load. It now takes about 5 seconds.
* Added support for select all in target grid.
* Added feature to open/export to excel.
* Added feature to paste grid data from clipboard in tabs operated format, as used by excel. This means it is possible to select cells in excel, copy and then paste the data into the target data grid in SQLMerger.
* When adding a new item to a project, if the first automatically inserted one was untouched, it is reused for the new one.
* Sometimes busy cursor was removed to early.
* Added Ctrl shortcuts for New Project and Open Project.
* Toolbar icons in menu are now looking better (with transparent background).
* Added support for spaces in key field names.
* Added support for spaces and special chars in table names. Like in a Navision database.
* Added feature: It is now possible to use parameterized custom queries in lookup sql.
* Improved speed when opening data a lot (several 100% in some cases)
* Improved speed: When a lookup list contained key duplicates it was not used. It is used now which improves speed significantly.
* Added functionality to go to next merge item and open it. This feature is great for quickly browsing through a newly used database.
* Improved handling of problem when no key have been filled in and script is generated.
* Improved error handling when opening datasets.
* More robust when encountering unknown field types.
* Can now handle Binary and Varbinary fields.
* Added features to import and export blob like field types.

Bugs Fixed:

* Fixed: When trying to reopen a file that does no longer exists this is handled more properly now.
* Fixed: Float and BCD field with decimals are now working on non us countries.
* Fixed: After editing a lookup field the focus was set to the first element in the project. Now focus is maintained on the current item.
* Fixed: Copy text from query memo now works with selections.
* Fixed: When clicking in a query edit, a text selection was made first time.
* Fixed: Text-style processing, now operation with words separated with - initially keeps the separation.
* Fixed: when a lookup was not matching the case on the real field, comments for lookup values was not scripted.
* Fixed. When no key was entered in primary key field spec and script was generated without keys, then when going back and filling in a key and going to the script tab, new SQL was not generated.
* Fixed: Sometimes there could be an access violation when closing down the program.
* Fixed: When using Add Lookup an error occurred.
* Fixed: When there is a problem with a configured lookup without a name, the error referred to nothing. Now the field name along with a lead text is displayed.
* Fixed: when there is a problem with opening the target SQL query, Edit lookup dialog could not open.
* Fixed: It was not possible to delete a merge item with lookups in.
* Fixed: Some error could be provoked by deleting multiple merge items.
* Fixed: When using Actions -> Copy field value from source the target cell was not recolored according to the new value, it is now.
* Fixed: When SQL was changed and the program exited, the projects dirty state was not detected.
* Fixed: Problem with feature to automatically display logon dialog logging.
* Fixed: If a lookup was given the same name as an existing field in a source or target query and error would occur.
* Fixed: In a table without a primary key, if the primary key field matched table name (with ID included) the field was suggested as lookup by mistake.
* Fixed: When populating a project # of items in project display was not updated immediately afterwards.
* Fixed: Some bugs when manually editing certain columns in the project grid on a detected item. E.g. processed.
* Fixed: When in immediate mode and setting a delete mark and going to a new line, the data was not updated in the UI.
* Fixed: Problem showing list descriptions initially in Explorer for list selected after first list.
* Fixed: Problem with big field display refreshing list of available fields.
* Fixed: Problem with handling coloring for differences when lookup datasets contained result fields with null values.
* Fixed: Was not able to update certain fields because of reserved keywords.
* Fixed: Was not able to update texts in Access databases in the new AccDB format.
* Fixed: Problem applying text styles when all chars in uppercase initially.
* Fixed: Problem when logging in to an Access database with password.
* Fixed: Adding lookups automatically did not work with Sybase.
* Fixed: Changing date and date time fields in a Sybase database did not work.
* Fixed: Delete Lookup on just detected item failed.
* Fixed: When persisting data via stored procedure and that failed, it looked like the data was saved when the error dialog was closed.
* Fixed: It was not possible to change the value of a key field.
* Fixed: Sometimes some text could be seen under splitter bars in the top.
* Fixed: can now populate from Access databases (there was a problem related to getting the primary key).
* Fixed: Populate databases. When connection setting for either source or target data base was incorrect, the populate process would fail completely. Now SQLMerger survives and populates anyway if one of the databases can be connected.
* Fixed: Can now handle table names with spaces.
* Fixed: Problem detecting Enterprise license codes correctly.
* Fixed: Problem automatically detecting lookups when using Access databases fixed.
* Fixed: Problem when having an open project with an open item and the loading another. This could cause an access violation.
* Fixed: When the default project was deleted or moved on the computer, and SQLMerger was started, database settings controls would not change values.
* Fixed: If source database fails opening during populate project, the project is possible populated via Target database, and then the error message is displayed.


* Site license possibility.
* New prices.

For version 2.5, release date 22. April 2009

* Better speed: when opening data, when copying large datasets, when generating SQL and much more
* New. Lookup definitions lines now embedded in master grid of merge items, making it much easier to overview the project
* Improved detection of lookup fields. Can now use the database schema also on some database types
* New. Cascading lookups - allowing lookups to lookup from other lookups and traverse multiple tables to get to the needed lookup value. Editable!
* New. Handled key fields; allows you to generate keys for a field/table via a stored procedure in your database. Very nice if you don't want to use identity/auto increment keys
* New. Continue after error in script. Works together with delete committed statements
* New. Log into a number of different database systems directly
* New. Added support for merging table schemas (early), only supports fields and of a limited number of types
* New. New merge item type: script items, which are items only containing script statements to be put into final scripts
* New. Copy a single field value from source quickly, via "Copy field value from Source"
* New. Switch between source and target connection settings, via a single click
* New. Added support for dropping SQLMerger project files onto the SQLMerger main window, and have it open the dropped file
* It is now possible to edit the value of a field used in the key. It is also possible to mark the record for deletion even though the key value have been edited
* Now only generates script when the data is 'dirty', this mean that you can click back on the Merge tab and then return to the Script tab, without your manual edits in the script is being lost, because new script was generated
* Can now find more lookup fields; fieldnames with _ is taken into consideration as candidates
* Can now match keys fields on text and it is optionally case sensitively
* Lookup display fields can now not only be string fields, but many other types
* It is now possible, via a setting on a merge item, to use the target database for source data also. This can be very convenient, especially when copying data
* When scripting, project items can now be multi-selected
* Improved auto add lookup fields dialog, now display-text fields can be selected among all fields in the foreign table, via a dropdown list
* Improved Quick Locator, now you can select it and press return to get to the item previously entered
* Improved script generation: inserts now have comments after each value so it is easy to see what field the value goes into, in long statements
* Execute Scripts, can now divide statements via GO
* Initial animation while generating SQL provides feedback (the first lines are added with a small delay)
* Added splitters in SQL query area
* "Script" menu now have a Save menu item (not only a "Save as" as previously)
* When copying data from source to destination the program checks if all fields exists and informs about discrepancies
* When opening both databases at the same time, the logon dialogs will now be displayed before the data is opened
* If there is no query in source or target, one is added now automatically after the user is prompted
* Improved several merge actions, now they can be invoked while data is not already open, then they will open the data. This improves work speed
* When comparing string fields, blanks to the right is now cut of first
* Added F8 key to make script and other shortcut keys
* Changed how new data are added. Now you can press Insert and have a line inserted anywhere
* Improved handling of extensions and initial locations when opening and saving scripts
* Info buttons improves help system
* Improved tools bars with new and more icons
* Open project via file association (double click a project icon in Windows and SQLMerger is started with the project open)

Bugs Fixed:

* Fixed. Painting project - now selected line is not sometimes all white
* Fixed a problem when using "Add Merge Setup Item". Sometimes some values was not set correctly
* Fixed a problem with opening data if there was a problem with a lookup on it
* Fixed a problem with the project scrolling to a wrong item after a possible item was automatically converted to a real item, when entering text in some of the setting
* Fixed a problem when pasting text into some edit controls
* Fixed a bug when copying records and some values would not fit the new record and user cancelled because of this
* Fixed a problem with applying a text style when text was separated with "-"
* Fixed a problem with deleting items in project 2nd time
* Fixed a problem pressing Del in the project
* Fixed a problem saving certain SQL statements
* Fixed a problem cross locating record when primary key field changes to an invalid value and back to a valid
* Fixed a problem refreshing colors in target if invalid primary key entered
* Fixed a problem refreshing 'local' columns if invalid primary key entered
* Fixed a problem with long field names in lookup definitions
* Fixed a problem with quick locator edit, now contents is being cleared when a new project is created or loaded
* Fixed a problem with repainting color when a lookup field edit was cancelled by pressing escape 2 times. The color was still blue, for "different from original"
* Fixed a problem with using count(*) in queries without an alias specification (Sybase only)


* New licensing model

Beta versions fixes:

* Fixed a problem getting primary keys after changes for supporting schemas.
* Improved handling when using an invalid (misspelled?) key.
* Improved handling locating records when key fields are null.
* Improved handling of handled key field, if value already supplied by input or query, now no new value is generated and included.
* Improved: now, when specifying an Identity key, no value will be added for it in insert statements.
* Improved: now statistical panel does not count record where SQLMerger is unable to determine if record is really local, e.g. if no key column or key value is null.
* Now text color is target grid is always black when cells are colorized, so it is easier to read.
* SQL text is now copied to clipboard both as plain text and nicely formatted RFT text and HTML text.
* Fixed a problem hiding demo texts sometimes.
* Added some short cut keys to set some fixed sizes for the main screen.
* Screen position cannot be restored after start up now, to a negative position.
* Fixed: Move and restore could not be used from the windows taskbar command menu.

* Fixed a problem repopulating history string when making a new project and then populating the project
* Fixed a problem when using schemas for 'naming' (grouping) tables. Now supports schemas
* Fixed a problem adding 'self-referencing' lookups
* Now supports adding lookups automatically also when tables are on different schemas
* Now also uses "Title" and "Description" as candidates for display fields, for lookups
* Auto add lookups dialog is now sizable
* Auto add lookups: the "Create" checkbox is now only checked if valid key and display text fields could be detected
* Added progress indication on add lookups on project
* Moved "suggestion table name" in the Add/Edit lookup dialog to support longer tables names
* Optimized adding lookups for project; much faster now
* Improved intro text

* Improved: now detects combined primary keys automatically
* Fixed: error about RecID showing up when using Microsoft Dynamics Axapta, with SQL Server.
* Added "Local in source count" information to statistical panel
* Statistical labels are now dark red color if they display active information (other vise black)
* Fixed: now updating statistical panels when there is a new primary key entered
* Improved locating opposite side records when locating on non-unique key and appending records manually
* Improved handling adding new lines in target
* Fixed: when adding lookup definitions, target was closed
* Fixed: Access Violation when selecting a field type in the Merge tab
* Improved layout of statistics panel
* Project window larger, so it can show the entire demo project.
* Merge schema copy fields function, will now display a message when using the demo databases (it is not supported)
* Fixed: Information texts was scrolled to bottom initially on Vista (not XP)

* Fixed a problem with new item row after cancelling inserting first line
* Fixed a bug adding first line, without leaving last edited field
* Fixed a bug appearing after inserting first line, not executing script and reopening the empty dataset.
* Now adding "(local)" as a server name if using a SQL Server connection.
* Now adding "(localhost)" as a default server name if using a MySQL connection.
* Fixed a problem when adding the first merge item and a previous project was loaded, user was asked if wanting to copy from previously selected item.
* Improved merge item edits panel: now possible to size all edits. More compact layout. Misc. improvements.
* Improved detection of when to analyze database structure.
* Improved: When opening 2nd database and analyzing it, the other data view is no longer closed, but are kept open.
* Fixed a problem with query splitter min. size

* Fixed a problem displaying lookups directly in the project grid
* Fixed a problem with error messages popping up when using a non-existing key name
* Fixed a problem when closing the application sometimes
* Fixed a problem with validating item names
* Fixed a spelling problem

* Added direct support for MySQL databases.
* First time start up is now in a normal windows state, not maximized. (But adjusted to the screen)
* Changed close demo button. Now shows a text and an icon and have a hint.
* Fixed a problem with the toolbar when sizing the main window
* Removed splitter under Demo area
* Now painting splitters with a stippling, so they are easy to spot
* Wider splitters on merge and query tabs
* Interactive splitting (controls are repainting continuously)
* Fixed a problem with error handling when opening an ad-hoc query with errors in the SQL.
* Fixed a problem with displaying open database connection information
* Removed combo boxes from Sybase connections (replaced by edits)
* Fixed a problem with sometimes a message was displayed about inserting
* Fixed a spelling error built-in
* Now default database names are set for build in type
* Added a scroll box in the database tab, so no controls can be made invisible by sizing areas
* Added Show Demo Area button
* Removed flickering while resizing
* Unique names are now enforced
* Non blank names are now enforced
* Some new icons in toolbar, removed some icons from tabs

* Some new icons in the toolbar
* Fixed a problem "Cannot focus a disabled window" when clicking on "Add lookups" when no ODBC alias entered.
* New text in the initial information window.
* Fixed problem when a new project was automatically populated, the first initial item was left un-reused. It is now used for the first detected table, after being converted to a "possible" item type.
* Better error message when merge table schema finds an unknown field type. Plus it is survived.
* Improved: when entering a database name edit, the list is now always repopulated it the server has been changed since last enter.
* Improved: when opening a database, the program now also asks to populate the project, if all either source or target table names are empty in the merge items.
* Fixed a bug showing if database name was left empty prior to clicking "Connected" checkbox.
* Fixed a bug when using "Save project as" as choosing an existing file, 2 different confirmation dialogs was displayed.
* Merge Schema, does now recognize more types and survives all types in SQL Server 2005 8although some blob types are not handled correctly, as they show up as stings).
* Changed a text in "Table Merge"
* Fixed a problem copying fields to target schema
* After copying field definitions, grid is now not scrolled to end

For version 2.1.2, release date 26. Feb. 2008

Added Features:
* On the Script tab, a new checkbox "Auto-commit after each statement" can now be checked to allow for immediate commit, to speed up long scripts, in special cases.

Improvements of existing features:
* Can now update project with primary keys from target database during 'populate project'.
* Improved the Quick Locator edit.

Bugs Fixed:
* Fixed a problem with adding items to a project when only one of source or target alias had been entered.
* Fixed multi-selection in source grid.
* Fixed a problem with first item after New Project

For version 2.1.1, release date 28. Jan. 2008

* Fixed a problem with enabling menu options after opening databases.
* Fixed a problem painting target grid when unable to locate source records because no ID field identified.
* Fixed a problem generating inserts for wide string fields.
* Fixed a problem with build in demo on Windows 2000.
* Fixed a problem with saving a settings file when exiting the application in Windows 2000.

For version 2.1, release date 16. Jan. 2008

Added Features:
* Output table documentation in a XML format. This is a great feature for quickly extracting documentation from the database. You can then easily convert the XML to HTML, doc or Excel files and have your documentation ready in seconds.
* Memo-fields editor: makes it much easier to edit and see big texts in the database. Now when you edit a memo field, an inline dropdown editor for large texts is coming up. You can then OK or Cancel your changes.
* "Big fields" area, for improved handling of large texts. One text in the tables can be displayed completely below each line, e.g. letting a memo field have all its contents displayed on screen.
* Source and target data base aliases now remembers history via a "Most Resent Used" list. This makes it much easier to go back and have a look e.g. in the previous version database and in general it frees you from remembering or looking up many aliases names.
* When generating SQL for deleting records, the records original data contents is included as a comment. This even includes lookup values. This makes it possible to restore a record from looking at the script, even though the lines were deleted.
* Now supports column filtering. You can then filter the visible data on-the-fly with almost any imaginable field value filtering.

Improvements of existing features:
* Improved speed when editing large target datasets manually.


Bugs Fixed:
* Fixed a problem with using target database lookup data for source data.
* Fixed a problem with using arrow up and down keys while editing target data.
* Fixed a faulty message about not being able to locate a record, if the dataset was empty (e.g. the target).

* Fixed a problem with loading and saving the identity field name.
* Fixed a problem adding lookups on merge setup items with WHERE clauses.
* Fixed a problem with coloring fields when no primary key had been specified.

For version 2.0, release date 10. Dec. 2007

Added Features:
* Populates project automatically by investigating the databases
* Apply text styles on columns
* Replace text in columns
* Hide some merge setup items feature

Improvements of existing features:
* Much faster data load
* Lookups added on source data
* Better automatically lookup creation
* Query text in "Source SQL Query" and "Target SQL Query" can now be partially selected and only the selected part will be executed. This enables you to add a WHERE clause, but to still be able to not use it sometimes, without deleting it.

* Added build in demo feature

Bugs Fixed:
* Blob fields could not be copied without a warning about truncation.
* Problem with comments in texts that was changed. This was because the comments were included in the new statements comment, so they were embedded. This is solved now by making them separate comments.
* And more.

For version 1.2, release date 11. May 2005

Bugs Fixed:
* Fixed problem med lookup shown in the wrong place
* Fix misc. errors when working without a project
* Fixed a problem when editing lookup definitions and not selecting a lookup first
* Fixed a problem with BDE installation

For version 1.1, release date 14. Oct. 2004

Added Features:
* You can now easily see whether or not there are lookup fields defined for a table configuration
* Support for identity columns. Enter the name of the identity columns and it will e.g. not be included in resulting statements
* Now previous values are displayed as comments in updates
* If changed values are associated to a lookup field, the value of the lookup will also be added as comment in update statements

Bugs Fixed:
* Fixed a problem with some types of date fields

Improvements of existing features:
* None

* Lower price

Known Bugs:
* None

For version 1.0.2, release date 16. Marts 2004

Added Features:
* None

Bugs Fixed:
* Fixed a problem with SQL comments in text fields
* Fixed a problem with ; in text fields
* Fixed a problem, when destination was opened with new data and source was also open, but with different data
* Fixed a problem with long fieldnames in lookup definitions
* Fixed some other minor problems
* Fixed a problem with copy line if there were lookup-fields in the destination. Not all fields were copied
* Fixed a problem with having changed table names saved
* Fixed a problem when removing insert check marks in destination data set
* Fixed a problem with deleting some table setups

Improvements of existing features:
* None

* None

Known Bugs:
* None

For version 1.0.1, release date 21. Nov. 2003

Added Features:
* None

Bugs Fixed:
* Various minor problems fixed

Improvements of existing features:
* None

* Help is now in HTML format.

For version 1.0, release date 21. Oct. 2003

This is the initial release.