Elevate Software


Login Login

ProductsBulletSalesBulletSupportBulletDownloadsBulletAbout





Home » Elevate Software Blog

Icon Elevate Software Blog

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

Product Status Updates for April 2018
Posted by Tim Young on Tue, Apr 10 2018

Things have been very quiet around here lately, so I thought I would update everyone on the status of Elevate Web Builder, ElevateDB, and DBISAM, as well as give more information on some general changes occuring here at Elevate Software.

Elevate Web Builder 3

Image

Elevate Web Builder 2.07 (more information here: Progress Update on Elevate Web Builder 2.07 has now become Elevate Web Builder 3, due to the sheer number of features being added. However, once Elevate Web Builder 3 is released, it will not be a major release upgrade and only require that you have an active Elevate Web Builder subscription (I will be blogging about the upcoming changes to our support policy in conjunction with subscriptions soon). Since switching to a subscription model several years ago, we have been avoiding doing any major releases due to the fact that our internal systems need some changes to accomodate major version upgrades being included with subscriptions. But, we have now fixed those issues and will be doing more major upgrades going forward.

Work is progressing nicely on Elevate Web Builder 3 and is starting to hit the "downhill" phase of the project where things are rapidly coming together. Hopefully, it won't be much longer than the end of April or beginning of May when we can release a public beta. At this point, the quality of the beta looks like it may be more alpha than beta, but most of the rough edges will be missing features in the run-time for the server-side applications, and those features will be filled in pretty quickly during the beta. I apologize for all of the delays so far, but there have been several unforeseen issues that have extended the development time quite a bit. In particular, the IDE re-write took a few months and was not originally planned at all, but was necessary in order to get the IDE in a position to be able to support multi-mode (client and server) development.

ElevateDB 2.28

ElevateDB 2.28 is now in public beta and should be released in the next week. ElevateDB 2.28 includes the following breaking changes and features:

2.28 Breaking Changes

The following are breaking changes in 2.28:
  • Large file support is now enabled by default in ElevateDB. Along with this change, the TEDBEngine LargeFileSupport and TEDBSession LocalLargeFileSupport properties have been removed.

    Information These are published properties, so please be sure to open, ignore any warnings about these properties being absent, and re-save any forms or data modules that use the TEDBEngine or TEDBSession components to ensure that you do not see any runtime component persistence errors in your application(s).


  • The TEDBEngine ExclusiveFileAccess property has been removed and replaced with the TEDBEngine BufferedFileIO property. Please see the new features in 2.28 section below for more information on the new buffered file I/O functionality in ElevateDB.
2.28 New Features

The following are the new features in 2.28:
  • ElevateDB now includes new global buffered file I/O functionality. There are new TEDBEngine BufferedFileIO, BufferedFileIOSettings, and BufferedFileIOFlushInterval properties for configuring the buffered file I/O in the engine. Please see the Buffering and Caching topic in the SQL manual for more information.


  • ElevateDB now includes new SQL statement and function/procedure caching functionality. There are new TEDBSession SQLStmtCacheSize and FuncProcCacheSize properties for configuring the caching, as well as the TEDBSession FreeCachedSQLStmts and FreeCachedFuncProcs methods for freeing cached SQL statements and functions/procedures. Please see the Buffering and Caching topic in the SQL manual for more information.


  • There are two new system information tables, the FileIOStatistics table, and the SessionStatistics Table table.
Taking Advantage of the New Features

The new buffered file I/O and SQL statement/function/procedure caching are pretty significant improvements to the engine and can increase performance by up to 50% or more, depending upon the workload and how the client applications use the ElevateDB Server. These are attributes that will determine how well these improvements work for you:
  • If your databases are particularly large and routinely contain table files that are in excess of 25-30GB of data, then the new buffered file I/O can improve performance by up to 10-20% over the existing model by allowing you to more accurately fine-tune the way that I/O is performed by ElevateDB and, consequently, the way that ElevateDB interacts with the operating system and disk hardware.


  • If your application uses a lot of triggers and/or executes a lot of duplicate SQL statements, then the new SQL statement and function/procedure caching can improve performance by up to 30-40% by eliminating a lot of the overhead from SQL statement/function/procedure preparation. This is especially true with client applications that use session/statement pooling where SQL statements/functions/procedures cannot be manually prepared and cached by the client application for multiple executions.
Going forward with ElevateDB, our main areas of effort will be in finishing the OS ports for Linux, Mac, Android, and iOS, as well as other lesser features like nested transactions and support for AES encryption. We are also still working on a single-file format for ElevateDB, and hope to have something available by the start of 2019. In addition, the ElevateDB Manager will be getting a facelift to match the UI of the Elevate Web Builder 3 IDE.

DBISAM

DBISAM hasn't been getting much attention lately, and we will be rectifying this after Elevate Web Builder 3 is released. Later on in the year, we will be doing a thorough facelift on DBISAM to bring it up-to-date in terms of its UI, help management, and more. In terms of core improvements, our main goal is to get Unicode field support into the product and improve some core functionality, such as the socket handling, in order to bring it more in line with ElevateDB and Elevate Web Builder 3.

Tags: Elevate Web Builder, ElevateDB, DBISAM, Status UpdatePermanent Link8 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

Elevate Web Builder 2.06 Build 11 Released
Posted by Tim Young on Tue, Nov 28 2017

Elevate Web Builder 2.06 Build 11 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions. This build contains several bug fixes, which are detailed here.

Tags: Elevate Web Builder, New BuildsPermanent Link0 Comments

Progress Update on Elevate Web Builder 2.07
Posted by Tim Young on Mon, Nov 27 2017

I just wanted to take some time to update everyone on the (now) very-late 2.07 update to Elevate Web Builder and solicit some comments on potential areas of improvement in the IDE. I also figured that I would do this in a proper blog post, primarily because I don't blog enough about what's going on here at Elevate Software and this is an effort to change that. Smile

To recap, Elevate Web Builder 2.07 will be quite a big update for a minor release. In fact, it's essentialy a major release crammed into a minor release. The list of improvements include:
  • The IDE has been given a facelift and looks quite a bit different in several ways. Part of this is due to the need of starting the process of making the IDE high-DPI aware, and the other part is the need to improve the look and feel of the IDE, especially in terms of negative space and ease-of-use. The new IDE tries very hard to make sure that what one needs is only a single click or keystroke away, whether it be recent projects or saving debug messages to a text file.


  • The web server has also been given a facelift, in addition to several other major improvements listed below. There isn't a user interface for the web server anymore, and instead all administration is performed through the IDE or via a web interface. You can still run the web server as an interactive console process for development purposes, but it is primarily designed now to run exclusively as a service without a user interface.


  • The web server now includes built-in SSL support. The first platform supported will be Windows, of course, so I have implemented the SSL support using the Windows crypto API. This will make things easier to deal with in terms of Windows security updates and improvements, and allow administrators to control how the web server works in terms of which crypto cipher suites are used, as well as which base versions of SSL/TLS are used. And all of this can occur without the developer needing to configure anything in the web server itself, making deployments much easier. Other future platform targets will use the OpenSSL libraries.


  • The web server now includes built-in GZip support. This will greatly improve the Elevate Web Builder client application loading performance over slow connections (mobile), especially when updates to the client applications are deployed.


  • The web server now includes support for loading and executing server-side applications that use the Elevate Web Builder runtime. The runtime is an interpreted Object Pascal execution environment that has been present in the IDE since Elevate Web Builder 2.00, but has only been used for design-time execution of code. It has been updated to include functionality for working with web server requests, files, HTML, and more. What this means is that 2.07 will allow you to create and deploy server-side applications in much the same way that you do now for client applications that run in a browser.


  • The IDE now includes support for creating server-side applications that use the Elevate Web Builder runtime available in the web server. The server-side applications are monolitic and self-contained, so there are no dependency issues. The server-side applications are also compressed, and can be encrypted in order to keep the code secure.
At this point, I'm hoping that we can get a public beta out before Christmas. However, in the meantime, I need some input from everyone on any minor changes that they want to see in the IDE that aren't there currently. What I mean by "minor" are features that are useful for productivity or usability and are mostly cosmetic. Features like code completion or other related code editor features rely on incremental compilation improvements to the Elevate Web Builder compiler, and will be coming next in the compilation improvements to the Elevate Web Builder compiler. So, those types of features are not what I'm looking for. For example, a component navigator was added to the IDE for 2.07 that allows you to see the designer components in a treeview on the left. The component palette was also changed so that it shows the name of the component in addition to the component icon. Things along those lines are what I'm looking for, especially if it deals with improving the productivity or usability of the IDE.

Thanks very much for your feedback.


Tags: Elevate Web Builder, 2.07 Progress Update, Server-Side ApplicationsPermanent Link37 Comments

ElevateDB 2.26 Build 7 Released
Posted by Tim Young on Fri, Nov 24 2017

ElevateDB 2.26 Build 7 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions. This build contains several important bug fixes, which are detailed here.

Tags: ElevateDB, New BuildsPermanent 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 73-78 79-84 85-90 91-96 97-102 103-108 109-114 115-120 121-126 127-132 133-138 139-144 145-150 151-156 157-162 163-168 169-174 175-180 181-186 187-192 193-198 199-204 205-210 211-216 217-222 223-228 229-234 235-240 241-246 247-252 253-258 259-264 265-270 271-276 277-282 283-288 289-294 295-300 301-306 307-312 313-318 319-324 325-325
Image