General Reference > What's New in Zen > What Was New in Zen v15
What Was New in Zen v15
The General Availability release of Zen v15, version 15.00, offers the following new features and changes:
This document may be updated after the release. Download any new version from the Actian website.
System Data v2
System data v2 is a new option for Btrieve data files created or converted to 13.0 format in Zen v15. It adds time stamps and keys for record creation and update. The creation key is similar to classic system data in that it can be used for transaction logging and continues to use key number 125. The new update key uses key number 124. This update key enables users and applications to identify rows that have changed since a specific point in time without having to implement their own user-defined time stamps.
Like classic system data, system data v2 can be managed with Zen file maintenance and rebuild tools. In addition, the butil -stat command displays the type of system data in a file.
When present, system data v2 time stamps are accessible through SQL queries using the column names sys$create and sys$update. These read-only virtual columns have the SQL_TIMESTAMP (93) data type. In addition, Zen CREATE and ALTER TABLE statements now accept the keyword SYSDATA_KEY_2, which creates or rebuilds the data file in 13.0 format using system data v2.
For more information, see the Zen v15 documentation, especially Advanced Operations Guide, Btrieve API Guide, Zen Programmer’s Guide, and SQL Engine Reference.
SQL Windowing Functions
This release extends Zen SQL with the keywords OVER and PARTITION BY and their syntax to support a subset of the ANSI SQL windowing functions, such as rolling averages. For more information, see SELECT in SQL Engine Reference.
Performance Improvements
Zen v15 offers new or enhanced database settings for tuning performance, as well as several SQL engine performance improvements.
File Close Delay
Zen v15 has a new feature called File Close Delay to enable the engine to hold a data file open for a set period after the last application has closed it. It is controlled by a new engine setting with a default value of 50 milliseconds and may be disabled by setting it to zero. The default value can result in noticeable performance improvements for both Btrieve and SQL applications that repeatedly open and close a data file.
The butil tool now has a new -close option to close files in the delayed-close state.
For more information, see Advanced Operations Guide.
Transaction Log Buffer Size
This release raises the default size of the transaction log file from 16 MB to 64 MB. The default size of the buffer that captures transaction log entries has increased from 8 MB to 32 MB. These larger values can improve performance by allowing to the Microkernel to write log information to disk less frequently.
The SQL DELETE statement may use the DeleteExtended Btrieve operation to improve the speed of multiple row deletions.
SQL statements using LIKE or NOT LIKE may see improvement when the SQL engine can use Btrieve extended operations.
SQL statements involving scalar subqueries may see significant improvement, as in the following example:
DELETE FROM History_Log WHERE Log_Time <
(SELECT Log_Time FROM History_Log ORDER BY Log_Time LIMIT 1 OFFSET 100000)
Administration Improvements
The butil -stat subcommand and the bcfg and bmon tools now accept a -JSON option. With this option, command output is in JSON format, which can be easier to consume in scripting languages.
On Windows, engine errors are logged to the Windows event log as well as to the zen.log file. This improvement makes engine errors more easily available to third-party monitoring tools.
Compatibility Improvements
Zen v15 offers a new compatibility setting called Limit File Size. In environments where Btrieve file formats have been converted to version 13.0 to gain new features, the maximum file size of 64 TB may be a concern. You can use this setting to prevent files of version 13.0 or later from exceeding the version 9.5 maximum file size of 256 GB.
Btrieve 2 Additions
This release adds support for the following features and languages to the Zen Btrieve 2 API:
BulkDelete to match enhancements to Btrieve functionality
System data v2 in the 13.0 file format
Go and Java
ADO.NET Support
The Zen v15 ADO.NET SDK has the following changes:
ADO.NET Data Provider 4.3 is no longer supported.
ADO.NET Data Provider 4.4 is unchanged:
Support for all versions of Microsoft .NET Framework
Support for Microsoft Entity Framework 6.1 and later
Providers supporting .NET Core 2.0 and later and .NET Entity Framework Core 3.1 and later are available in a separately downloadable SDK.
ADO.NET Data Provider 4.5 has been added:
Support for all versions of Microsoft .NET Framework
Support for Microsoft Entity Framework 6.1 and later
Providers supporting .NET Core 2.1 and later and .NET Entity Framework Core 3.1 and later are available in a separately downloadable SDK.
Location of Embarcadero BPL Extensions
The main Zen installer no longer includes BPLs for PDAC. These libraries are still available in the PDAC SDK for download at esd.actian.com.
Platform Support Changes
Zen v15 now runs on Windows 10 IoT Enterprise. See Getting Started with Zen for installation steps.
This release has been successfully tested on Windows 10, version 20H2.
Deprecated Features and Platforms
The ActiveX and OLE DB SDKs have been discontinued as development platforms in this release. ActiveX and OLE DB applications developed with previous releases will continue to work in Zen v15.
Support for Windows 7 and Windows 2008 R2 has been dropped in this release.
Last modified date: 10/31/2023