Elevate Software


Login Login

ProductsBulletSalesBulletSupportBulletDownloadsBulletAbout





Home » Elevate Software Blog

Icon Elevate Software Blog

Tags Showing all blog entries tagged with "New Releases"

DBISAM 4.45 Released
Posted by Tim Young on Mon, Apr 30 2018

DBISAM 4.45 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

The breaking changes and new features for both the DBISAM VCL and ODBC products are below.

4.45 Breaking Changes for VCL Products
The following are breaking changes in 4.45:
  • The TDBISAMEngine LargeFileSupport property has been removed and large file support is now always on. This functionality has its roots in the old Windows 9x series of operating systems and is no longer relevant.

    Warning If you are using local DBISAM sessions to directly access shared databases on a file server, you need to make sure that all client applications that are accessing the data are either updated to 4.45 or have their pre-4.45 TDBISAMEngine LargeFileSupport property set to True. Failure to do so can cause the local DBISAM sessions to not see each other's locks, which can lead to database table corruption.


  • The TDBISAMSession PrivateDir property has been changed from being a published property to a public property, so you may see a missing property error when loading forms or data modules in the IDE that contain the TDBISAMSession component after updating to 4.45. This property is typically only useful at run-time, and setting it at design-time could cause run-time errors if its value did not work properly with the target operating system's configuration.

    Information To make sure that you don't experience any "missing property" exceptions at run-time in your application, please open any forms or data modules in your application that contain an existing TDBISAMSession component at design-time, ignore any "missing property" errors, and then re-save the owner form(s) or data module(s) that contain the TDBISAMSession component(s).


  • The TDBISAMEngine TableReadLockRetryCount, TableReadLockWaitTime, TableTransLockRetryCount, TableTransLockWaitTime, TableWriteLockRetryCount, and TableWriteLockWaitTime properties have been replaced with the equivalent TableReadLockTimeout, TableTransLockTimeout, and TableWriteLockTimeout properties.

    Information To make sure that you don't experience any "missing property" exceptions at run-time in your application, please open any forms or data modules in your application that contain an existing TDBISAMEngine component at design-time, ignore any "missing property" errors, and then re-save the owner form(s) or data module(s) that contain the TDBISAMEngine component.
4.45 New Features for VCL Products
The following are the new features in 4.45:
  • The SQL join performance has been improved by up to 30-40%, depending upon how join-intensive the SQL being executed is. For example, SQL SELECT statements that contain INNER JOINs but no WHERE clauses are very join-intensive, and will benefit the most from this performance improvement.


  • The internal bitmap set handling for filters and SQL has been changed so that DBISAM uses sparse bitmaps instead of linear bitmaps, resulting in faster performance and less memory consumption. Part of the join performance improvements mentioned previously are due to the use of the new sparse bitmaps.


  • The sockets functionality in the DBISAM engine has been replaced with a new implementation, which should result in better overall performance and stability for remote sessions and the database server.


  • There is a new NOWHEREJOINS clause available for the SQL SELECT, UPDATE, and DELETE statements. This clause allows you to prevent DBISAM from treating any inner joins in the WHERE clause (SQL-89-style joins) as optimized joins, instead allowing the expressions to be treated as un-optimized expressions that will be evaluated after any joins are executed.


  • There are new TDBISAMEngine StoreActive, TDBISAMSession StoreActive, TDBISAMDatabase StoreConnected, TDBISAMTable StoreActive, and TDBISAMQuery StoreActive properties for specifying whether the component's related Active and Connected properties are stored in the owner form or data module.
4.45 Breaking Changes for ODBC Products
The following are breaking changes in 4.45:
  • The large file support driver configuration option has been removed and large file support is now always on. This functionality has its roots in the old Windows 9x series of operating systems and is no longer relevant.

    Warning If you are using local DBISAM ODBC Driver connections to directly access shared databases on a file server, you need to make sure that all client applications that are accessing the data are either updated to use the 4.45 DBISAM ODBC Driver or turn on the pre-4.45 large file support driver configuration option turned on by using the ODBC Driver Configuration Utility that is included with the DBISAM ODBC Driver installation. Failure to do so can cause the local DBISAM sessions to not see each other's locks, which can lead to database table corruption.


  • The DBISAM ODBC Driver Table Read Lock Retry Count, Table Read Lock Wait Time, Table Transaction Lock Retry Count, Table Transaction Lock Wait Time, Table Write Lock Retry Count, and Table Write Lock Wait Time driver configuration options have been replaced with Table Read Lock Timeout, Table Transaction Lock Timeout, and Table Write Lock Timeout configuration options. These options can be modified using the ODBC Driver Configuration Utility that is included with the DBISAM ODBC Driver installation.
4.45 New Features for ODBC Products
The following are the new features in 4.45:
  • The SQL join performance has been improved by up to 30-40%, depending upon how join-intensive the SQL being executed is. For example, SQL SELECT statements that contain INNER JOINs but no WHERE clauses are very join-intensive, and will benefit the most from this performance improvement.


  • The internal bitmap set handling for filters and SQL has been changed so that DBISAM uses sparse bitmaps instead of linear bitmaps, resulting in faster performance and less memory consumption. Part of the join performance improvements mentioned previously are due to the use of the new sparse bitmaps.


  • The sockets functionality in the DBISAM engine has been replaced with a new implementation, which should result in better overall performance and stability for remote sessions and the database server.


  • There is a new NOWHEREJOINS clause available for the SQL SELECT, UPDATE, and DELETE statements. This clause allows you to prevent DBISAM from treating any inner joins in the WHERE clause (SQL-89-style joins) as optimized joins, instead allowing the expressions to be treated as un-optimized expressions that will be evaluated after any joins are executed.


Tags: DBISAM, New ReleasesPermanent Link0 Comments

ElevateDB 2.27 Released
Posted by Tim Young on Thu, Jan 11 2018

ElevateDB 2.27 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

The complete list of breaking changes and new features is below.

2.27 Breaking Changes
The following are breaking changes in 2.27:
  • The XML output from the EXPORT TABLE SQL statement now includes a top-level "table" element in order to properly adhere to the XML specifications and allow exported XML files to be properly validated.

    Information The IMPORT TABLE SQL statement can still import XML files formatted with or without the top-level "table" element.


  • Comparisons between timestamp values and date values now ignore the time portion of the timestamp value and only compare the date portion of the timestamp value with the date value. This means that you can now execute queries like the following:

    SELECT * FROM MyTable WHERE TimeStampColumn = DATE '2017-10-17'

    and the query will return all rows where the TimeStampColumn column contains a timestamp value whose date portion matches the specified date constant value.


  • As indicated in incident report #4609:

    # 4609 Default Expressions for DECLARE SQL/PSM Statements Not Being Properly Type-Checked

    default expressions for DECLARE SQL/PSM statements were previously not being type-checked properly, so you may see new type errors during compilation of routines that do not specify correct default expressions for a given variable type.
2.27 New Features
The following are the new features in 2.27:
  • New VCL TEDBDataSet Import and Export methods have been added to allow for the import/export of files to/from TEDBTable, TEDBQuery, TEDBScript, and TEDBStoredProc components.


  • A new LOG EVENT SQL/PSM statement has been added in order to allow SQL/PSM routines (scripts, procedures/functions, triggers, and jobs) to log information, warning, and error events directly to the logged events for the current ElevateDB configuration.


  • There are new VCL TEDBEngine AddDayTimeToDateTime, AddDayTimeToTime, AddYearMonthToDate, AddYearMonthToDateTime, SubtractDateFromDateAsDayTime, SubtractDateFromDateAsYearMonth, SubtractDateTimeFromDateTimeAsDayTime, SubtractDayTimeFromDateTime, SubtractDayTimeFromTime, SubtractTimeFromTimeAsDayTime, SubtractYearMonthFromDate, and SubtractYearMonthFromDateTime methods that allow for basic interval math directly from native code, in addition to SQL.


  • As noted above in the breaking changes section, you can now directly compare the date portion of timestamp values with date values.


  • ElevateDB now logs warning events to the logged events for the current ElevateDB configuration when a database is opened and the database path does not exist, or if the database catalog does not exist.


  • The ALTER INDEX and ALTER TEXT INDEX SQL statements no longer alter the entire index when only the description is changed.
In addition, this release contains several bug fixes, which are detailed here.

Tags: ElevateDB, New ReleasesPermanent Link0 Comments

ElevateDB 2.26 Released
Posted by Tim Young on Mon, Jun 26 2017

ElevateDB 2.26 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

The complete list of breaking changes and new features is below.

2.26 Breaking Changes
The following are breaking changes in 2.26:
  • The following incident report:

    Incident Report #4528 - Altering a Table Results in an Incorrect Table Structure Checksum

    deals with an issue with incorrect checksum calculations during table alterations. This bug can affect your ability to restore backups when restoring only table files without also restoring the database catalog. However, please keep in mind that the table structure checksums are only re-computed when a table is altered in some way, and under normal operation are simply just stored and compared to ensure that the physical table files match the table structure for the table in the database catalog.


  • There is a new JOININDEXTHRESHHOLD keyword available for the SQL SELECT statement. This keyword controls how ElevateDB handles optimized (indexed) WHERE conditions on tables that are the target of INNER JOINs. For more general information, please see the How ElevateDB Selects the Rows section in the Optimizer topic in the SQL manual.

    Previously, ElevateDB would simply use any available, usable index and build a bitmap that represented the set of rows, irrespective of how many rows were selected. This works fine when there are no joins, but can be problematic when the number of rows selected is large and the table is also the target of an INNER JOIN. In such cases, the INNER JOIN condition's bitmap must constantly be assigned/ANDed with the WHERE condition's bitmap and, because the join condition's bitmap typically represents a much smaller set of rows than the WHERE condition, this process of reconciling the bitmaps becomes computationally expensive and a drag on performance.

    The value provided with JOININDEXTHRESHHOLD clause is an integer value representing a percentage of rows that, when exceeded, causes ElevateDB to treat such WHERE conditions as un-optimized row scans instead of index scans. This eliminates the computationally expensive bitmap operations and drastically improves the performance of the SELECT statement. The default value for the JOININDEXTHRESHHOLD is 75. This means that a WHERE condition must select at least 75% of the rows in a table is also the target of an INNER JOIN condition in order to be converted into a row scan.
2.26 New Features
The following are the new features in 2.26:
  • There is a new NO BACKUP FILES clause included with the ALTER TABLE, CREATE INDEX, CREATE TEXT INDEX, ALTER INDEX, ALTER TEXT INDEX, DROP INDEX, and OPTIMIZE TABLE SQL statements. This clause allows you to stop ElevateDB from retaining backup files (*.old) for physical table files after the execution of the SQL statement completes.

    Information The NO BACKUP FILES clause does not apply to physical backup files created for the database catalog, which are always created and retained. Also, if the application executing the SQL statement is killed for any reason, it is still possible for these backup files to be present and not removed.


  • There is a new FROM PUBLISHED UPDATES clause included with the CREATE TABLE statement. This clause allows you to create a table (permanent or temporary) that includes all pending published updates for all, or some, of the tables in the database.


  • Query execution can now be cancelled while ElevateDB is executing un-optimized WHERE conditions on tables. Previously, ElevateDB would need to wait until such conditions were executed before it could cancel the query execution, and could only cancel query execution while executing joins and building the result set. This design was used for performance reasons, but it resulted in situations where runaway un-optimized queries could never be killed without killing the application itself.
In addition, this release contains several bug fixes, which are detailed here.

Tags: ElevateDB, New ReleasesPermanent Link0 Comments

DBISAM 4.44 Released with RAD Studio 10.2 Tokyo Support
Posted by Tim Young on Mon, Apr 17 2017

DBISAM 4.44 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

DBISAM 4.44 now includes support for Embarcadero RAD Studio 10.2 Tokyo (Delphi 10.2 32/64-bit, and C++Builder 10.2 32/64-bit).

Tags: DBISAM, New ReleasesPermanent Link0 Comments

ElevateDB 2.25 Released with RAD Studio 10.2 Tokyo Support and Advantage Database Migration Support
Posted by Tim Young on Fri, Apr 14 2017

ElevateDB 2.25 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

ElevateDB 2.25 now includes support for Embarcadero RAD Studio 10.2 Tokyo (Delphi 10.2 32/64-bit, and C++Builder 10.2 32/64-bit). Currently, this support for Windows only, but will be expanded over the next two months to include MacOS, followed by support for the next-generation compiler and Linux, Android, and iOS.

Included with the ElevateDB Additional Software and Utilities download is a new Advantage Database migrator that can migrate any Advantage Database 9.x or higher database to an ElevateDB database. Please see Migrating a Database topic in the SQL manual for more information.

The ElevateDB 2.25 .NET Data Adapter now includes Visual Studio 2017 IDE integration support.

The ElevateDB 2.25 PHP Extension now includes support for 64-bit PHP 5.6 environments (Windows-only).

The complete list of breaking changes and new features is below.

2.25 Breaking Changes
The following are breaking changes in 2.25:
  • ElevateDB no longer logs row lock errors in the logged events for a given configuration. Such errors are a normal part of multi-user database usage and tended to "pollute" the logged events, making it harder to find actual errors.


  • The TEDBEngine TempTablesPath and TEDBSession LocalTempTablesPath properties have been moved from being published to public, so you may see a missing property error when loading forms in the IDE that contain the TEDBEngine or TEDBSession properties. These properties are typically only useful at run-time, and setting them at design-time could cause run-time errors if their values did not work properly with the target operating system's configuration.
2.25 New Features
The following are the new features in 2.25:
  • The ElevateDB Server now supports global request/response tracing for analyzing performance issues or finding the source of bugs in client applications. The core TEDBEngine component supports tracing via its ServerTrace property and OnServerTrace event. The compiled ElevateDB Server that is provided with ElevateDB uses this functionality to implement logging of all traced events. You can find out more information on the built-in tracing in the Starting and Configuring the ElevateDB Server topic in the ElevateDB SQL Manual.


  • The performance of string comparisons using the default ANSI and UNI collations has been improved.


  • The TEDBSession TEDBSession RecordLockProtocol, RecordLockRetryCount, and RecordLockWaitTime properties can now be modified when a session is connected. Previously, these properties could only be modified before a session was connected.
In addition, this release contains several bug fixes, which are detailed here.

Tags: ElevateDB, New ReleasesPermanent Link0 Comments

Elevate Web Builder 2.06 Released
Posted by Tim Young on Mon, Apr 10 2017

We are pleased to announce that Elevate Web Builder 2.06 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

Elevate Web Builder 2.06 includes the following breaking changes and enhancements:

2.06 Breaking Changes
The following are breaking changes in 2.06:
  • The auto-sizing functionality in the foundational UI layer has been extended so that it can also handle auto-sizing of parent elements based upon the bounds of child elements. This has also resulted in many modifications to how the existing control interfaces were designed. In 2.05 and prior releases, many controls executed code to perform the auto-sizing of various UI elements in response to size changes, whereas these controls now use a control interface that provides auto-sizing declaratively within the control interface itself. If you have created customized control interfaces, then you will need to merge these changes into your customized control interfaces using a compare/merge tool such as Beyond Compare from Scooter Software:

    Scooter Software, Inc.


  • The layout functionality has changed slightly so that BeginUpdate..EndUpdate blocks suspend layout and measurement locally within a given control/UI element. In contrast, in 2.05 and earlier, BeginUpdate..EndUpdate blocks would only suspend DOM and designer updates until the local update count, and any parent update counts, reached zero. Layout and measurement would be triggered on each update to the state of the control/UI element. This was extremely inefficient and caused way too much code execution for little-to-no benefit. With the new changes, layout and measurement are only triggered once the local update count for a given control/UI element reaches zero. DOM and designer updates are still only triggered once the local update count, and any parent update counts, reach zero. However, this could cause some existing code to break, especially if the code relies on updated control/UI element bounds within the context of a BeginUpdate..EndUpdate block. Fortunately, there are new methods that will allow the code to force a layout/measurement update, even within a BeginUpdate..EndUpdate block:

    TElement ForceUpdate

    TControl ForceUpdate


  • The default control interfaces have been moved to the "default" subdirectory under the "interfaces" subdirectory. This was done to accomodate the fact that the product now ships with a new set of desktop control interfaces (see new features section below).


  • Google has changed the requirements for using the Google Maps API:

    Google Maps Standard Plan Updates

    and the TMap control now includes two new properties to accomodate the new API key requirements: APIKeyRequired and APIKey. If you were using the Google Maps API successfully with your application prior to the new requirements, then your IP address will be grandfathered in and you can set the APIKeyRequired property to False and leave the APIKey property blank.


  • The AutoSize property has been changed from a Boolean property to a TAutoSize class property with independent Width and Height properties.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms and/or control interfaces using 2.06, then these forms and/or control interfaces will not be able to properly load the new AutoSize property with 2.05 and prior versions of Elevate Web Builder.


  • All Icon properties have been consolidated under a new TIconProperties class.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms using 2.06, then these forms will not be able to properly load the new Icon property with 2.05 and prior versions of Elevate Web Builder. Also, the new TIconProperties class contains additional icon Height and Width properties that may need to be adjusted after a form is first used with 2.06 or higher.


  • The TToolBarButton AutoWidth property now defaults to False.


  • The TMessageDialogClient control interface has been combined with the TDialog control interface to create a new TMessageDialog control interface for the TMessageDialog control. The MessageDialogClient control interface is no longer used.


  • The TGridColumn OnHeaderClick event is now a function that returns a Boolean to allow the developer to control whether header clicks are allowed/disallowed.


  • The clElevateFillGray color has been changed so that it is slightly darker.


  • The TGrid control does not automatically add a grid column to the current sort when the grid column's header is clicked. You now need to use a shift-click in order to do so, and the default behavior is to clear the current sort whenever a grid column's header is clicked without the shift key being pressed.
2.06 Improvements
The following are new features and enhancements in 2.06:
  • As mentioned above, the auto-sizing functionality has been improved so that parent UI elements can automatically change their size based upon the bounds of their child elements. This allowed for the elimination of a lot of code in the component library that was dedicated to this type of functionality. Also, as part of this enhancement, the TBasicPanel and TPanel controls now contain an AutoSize property.


  • The drawing performance of the designers in the IDE has been greatly improved.


  • The loading performance of applications at run-time has been improved, largely due to the layout performance improvements noted above in the breaking changes section.


  • The IDE now includes a Find Declaration option on the context menu for the code editor. When the cursor is positioned on an identifier in the code editor, this context menu option will find the identifier's declaration (if possible). In addition, you can hold down the Ctrl key, move the mouse over an identifier in the code editor, and click to initiate the find declaration option. If there are compilation errors in the source code, using this feature may result in an error message appearing in the Messages view in the IDE indicating that the find declaration operation failed.


  • The IDE will now automatically add unit references to the implementation section of the current unit when components residing on different forms/databases are referenced via the Object Inspector.


  • The event management now supports handling composition events for IME (Input Method Editor) for Chinese, Japanese, Korean, and Indic character input so that data-bound controls behave properly with this type of input.


  • There is a new set of control interfaces for desktop usage included with the product. These control interfaces can be found in the "interfaces\desktop" subdirectory under the main installation directory.

    You can see the new desktop control interfaces in this demo application:

    Elevate Web Builder Controls Demo


  • New clElevateHot* colors have been added for the built-in clElevate* Red, Green, Blue, Black, and Orange color variations.


  • Control icons are now managed using the common TIconProperties class. This allows the developer to have more control over the height and width of the icon and consolidates all icon-related properties, including those for font icons, in one location in the Object Inspector. In addition, you can specify rotation animation properties in order to have the icon rotate to show progress.


  • There is a new TDataSetController component that allows the developer to attach to a TDataSet component for the purpose of defining event handlers for capturing when the dataset's current state, row, or sort changes. Previously, the developer would have to manually attach event handlers in code.


  • There is a new THTMLLabel control for displaying arbitray HTML content at run-time.


  • There are new TMenuBar and TMenuBarItem controls for implementing horizontal menus.


  • There is a new SubMenu property for the TMenuItem and TMenuBarItem controls to allow for implementing cascading menus.


  • The TPagePanel control now includes a new OnPageChange event.


  • There are new TDataSet BeforeLoadColumns, AfterLoadColumns, and OnLoadColumnsError events for handling the loading of dataset columns at run-time.


  • There is a new TFormatSettings StartOfWeek property for specifying which day is the first day of the week. The TCalendar and TDateEditComboBox controls use this property when displaying the calendar.


  • There is a new TMultiLineEdit SpellCheck property for enabling or disabling spell-checking at run-time. In addition, the TGridColumn control includes a SpellCheck property that is used when the TGridColumn ControlType property is set to ctMultiLineEdit.


  • There is a new TCanvasPoint class for working with floating-point coordinates instead of integer coordinates.


  • The TAlertLabel control now includes a new AutoHeight property.


  • The TButton control now includes a new AutoWidth property.


  • The TCheckBox control now includes a new AutoWidth property.


  • The TRadioButton control now includes a new AutoWidth property.


  • The TListBox, TEditComboBox, and TButtonComboBox controls now include a new Sorted property. In addition, the TGridColumn control includes an ItemsSorted property that is used when the TGridColumn ControlType property is set to ctEditComboBox.


  • The TEdit, TPasswordEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, TDialogEditComboBox, and TButtonComboBox controls now include a new Direction property for controlling the text direction for display/editing. In addition, the TGridColumn control includes an Direction property that is used when the TGridColumn ControlType property is set to ctEdit, ctEditComboBox, ctDateEditComboBox, or ctDialogEditComboBox.


  • The TApplication component now includes a new IsWindowsPhone property.


  • The TViewport component now includes new ScrollTop and ScrollLeft properties for getting and setting the scroll position of the browser window.


  • The TViewport component now includes new OnScroll and OnSize properties for detecting when the browser window scrolls or resizes.


  • The TEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, and TDialogEditComboBox controls now include new SelectionStart and SelectionEnd properties for specifying a selection range for the editable text (inherited from the base TEditControl control).


  • The TGridColumn ControlType property now includes a ctHTML member that can be used to indicate that the content of the column should be displayed as HTML. This control type is read-only.


  • The TMapLocation class now includes a new Icon property that allows you to specify a custom icon for the location marker.


  • The TMapLocation class now includes a new OnClick event that will be triggered whenever the location's marker is clicked.


Tags: Elevate Web Builder, New ReleasesPermanent Link0 Comments


Previous Entries: 1-6 7-12 13-18 19-24 25-30 31-36 37-42 43-48 49-54 55-60 61-66 67-72
Image