InterBase XE7 Update 4 Readme

Go Up to InterBase Readme

Release Date: Jul, 2015

This release introduces multiple updates and enhancements. See New Features for a complete list and explanation of each feature.

This file contains important information that may not appear in the online Help. Please read this file in its entirety.

Important: For the latest version of this document, please visit http://docs.embarcadero.com/products/interbase/.

This Readme covers the following sections:

New Features and Resolved Issues

InterBase XE7 Update 4:

  • Click here for a list of resolved issues.

InterBase XE7 Update 3:

  • Click here for a list of resolved issues.

InterBase XE7 Update 2:

  • Click here for a list of resolved issues.

InterBase XE7 Update 1: Contains the following new features and enhancements to existing features.

  • Click here for a list of resolved issues.

InterBase XE7: Contains the following new features and enhancements to existing features.

  • Click here for a list of resolved issues.
Note: Click Previous Releases for all releases prior to InterBase XE7.

New Features

Sandboxing with InterBase ToGo for Mac OS X

You can sandbox your RAD Studio Delphi/C++ database applications for Mac OS X. See App Sandboxing with InterBase ToGo for Mac OS X for more information about sandboxing of InterBase applications with RAD Studio.

Updated Workflow for ToGo Edition

This release includes a ToGo Trial Edition that will expire 30 days after registration. See InterBase ToGo Trial Licenses for licensing information.

Change View Updates

With this release, Change Views now includes the following updates:

DROP SUBSCRIPTION
SQL Extensions
Known Constraints

DROP SUBSCRIPTION

The ability to drop a subscription was added to Change Views. The syntax for DROP SUBSCRIPTION is:

DROP SUBSCRIPTION <subscription_name> [RESTRICT | CASCADE];

To eliminate interest in observing a set of change views, a subscription must be dropped.

  • If RESTRICT is specified then a check of existing subscribers is performed.
  • If there are subscribers, then an error is returned without dropping the subscription.
  • If CASCADE is specified then all subscribers of this subscription are also dropped.
  • If neither RESTRICT nor CASCADE is specified then RESTRICT is assumed.

SQL Extensions

InterBase SQL provides support for Change Views with the IS [NOT] {CHANGED | INSERTED | UPDATED | DELETED} clause.

SET SUBSCRIPTION sub_employee_changes ACTIVE;
SELECT EMP_NO, DEPT_NO, SALARY FROM EMPLOYEE WHERE SALARY IS UPDATED;
EMP_NO     DEPT_NO           SALARY
--------   ----------        ----------
109        600               75000

In the example above we see that EMP_NO=37 employee's department reassignment is not returned since he received no compensation adjustment for a lateral move. The IS CHANGED clause will detect the modification of a column due to any kind of SQL operation.

Known Constraints

  • Starting with InterBase XE7 Update 1, there is a new requirement on FOR EXECUTE STATEMENT to match every item in the SELECT list with a corresponding item in the INTO list.
  • CREATE SUBSCRIPTION syntax is limited to base tables.
  • CREATE SUBSCRIPTION can be applied to tables only by table owner.

IBConsole Updates

This release includes several significant updates for the IBConsole feature:

Start Here Tab

A "Start Here" tab opens when IBConsole is accessed. This tab contains a collection of videos, user guides, and tutorials. It also gives you access to the InterBase website that includes an overview, a description of what's new, frequently asked questions, testimonials, and tutorial videos.

IBConsole Database Pane

The pane located in the bottom left corner lists the most frequently used databases. The pane displays the database alias with a link to connect to that database; the server name; and the date when the database was last accessed.

Change Views Subscription Support

IBConsole now supports a subscription editor. This subscription returns data that have changed since the prior transaction in which the implicit view was observed. This allows you to see what data has changed since the last time you viewed it.

  • Right click on a database subscription field and click create to gain access to the Subscription Editor dialog. You can enter the name of an existing subscription. The editor lists the tablename; fieldnames; Change; Insert; Update; and Delete details. You can add or delete these details. You can also enter a description of the edited subscription.

InterBase XE7 New Features

Change Views Feature

The Change Views™ feature uses InterBase multigenerational architecture to capture changes to data. This feature allows you to quickly answer the question, "What data has changed since I last viewed it?"

Previously it involved triggers, logging, and/or transaction write-ahead log scraping. This was time-consuming for the developer and affected the database performance for a certain transaction load or change volume. Now with Change Views, there is no performance overhead on existing transactions because it maintains a consistent view of changed data observable by other transactions.

For complete information on the Change Views Feature see: Change Views.

Linux 32-bit and 64-bit

The Linux kits, 32-bit and 64-bit, were introduced in the InterBase XE7 Beta 3 release. New Linux builds (12.0.0.124)are available for the XE7 release.

Performance Enhancements

Many performance enhancements have been implemented for this release. For details, see: Performance Enhancements.

Performance Monitoring Counters

The performance monitoring counters have been scaled up from 32-bit to 64-bit values. It includes all data stored on tables within the database. IBConsole has been updated for this release. However, please refer to [Known Issues] when using older clients.

For details, see: Performance Monitoring Counters.

Partial Segment Selectivity

InterBase currently maintains a single selectivity value per index (whether single or composite key). The values are stored in descending order and track information on how many duplicates exist in the whole index – but only first level. InterBase XE7 can now track information on lower levels.

For details, see: Partial Segment Selectivity. Partial Segment Selectivity

64-bit Transaction IDs

InterBase XE7 scales transaction IDs to 64-bit (actual 48-bit) so databases now can accommodate more transactions without the old limitations. It limits itself to 48-bit, as to be aware of future transaction ID growth.

For details, see: 64-bit Transaction IDs.

ODS 16 Changes

It is now allowed for a database backup to be restored to a particular older ODS version.

For details, see: ODS 16 Changes

OpenSSL Upgrade

OpenSSL libraries included in InterBase XE7 are upgraded from version 1.0.0d to version 1.0.1i with Security Vulnerability fixes. OpenSSL is used for Encryption and OTW/SSL features in InterBase.

For more information on using OpenSSL in InterBase XE7, please reference Network Configuration in the Operations Guide, as well as Encrypting your Data in the Data Definition.

For additional information on OpenSSL please refer to: open ssl

Services API Support for Online Dump and Journal Archive Operations

  • Online Dump: Services API online dumps and incremental dumps have been implemented so a pure IBX application can continue to do backup actions via InterBase Services API support.
  • Journal Archive: Previously, no Service API support existed that applications could invoke. However, now by using the cluster identifiers isc_action_svc_backup, isc_action_svc_restore, or isc_action_svc_properties, you can request that the Services Manager perform various operations on InterBase Journal Archives.

For details on each of these, see: Services API Support for Online Dump and Journal Archive Operations.

Mobile Platforms

The Android platform support is available starting with RAD/Delphi XE6. The iOS platform support was introduced starting with RAD/Delphi XE6.

InterBase XE3 Update 2 introduces InterBase to the Android mobile platform. InterBase ToGo and IBLite editions for Android are available starting with RAD Studio/Delphi XE5. The Trial Edition in RAD Studio XE7 (installable and InstantOn) includes a time-limited license for the IBToGo Test Deployment and IBLite so RAD users can deploy test apps right out of the box.

Developers targeting these mobile platforms can deploy with a ToGo or IBLite license. IBLite is a free deployment with limited capabilities when compared to the InterBase ToGo Edition on the same platform. However, for a fee, you can upgrade IBLite to the InterBase ToGo edition that has additional features. For more information please see: http://www.embarcadero.com/products/interbase/interbase-feature-matrix.pdf.

Requirements and Constraints

  • Requires iOS versions 5.1, 6.0 or above. Devices running earlier versions of the OS are not supported.
  • Requires Android versions 2.3 and above; specifically Android OS versions Gingerbread, ICE, and Jelly Bean. Devices running earlier versions of the OS are not supported.
  • InterBase on Android will NOT support InterBase UDF and Filters to be in line with the feature set on all supported Mobile platforms (both iOS and Android).
  • InterBase applications on Android can work in a pure "Client" mode connecting to remote InterBase servers on the network. For this, InterBase server versions need to be 2009 (9.x) or higher.
  • InterBase applications on Android can only connect with embedded database files with ODS version >= 13. If the database file is copied from a non-Android InterBase platform, this implies that only databases created (or restored) with InterBase 2009 versions or greater are supported.
  • ibconfig limitations: Android devices are equipped with limited RAM as compared to other Desktop/Server machines, so there is a need to keep InterBase footprint smaller with the following parameters:
    • parameter DATABASE_CACHE_PAGES defaults to 75 pages
    • parameter SORTMEM_BUFFER_SIZE defaults to 128KB

Note: Currently ToGo and IBLite are only supported on InterBase XE3, ToGo and IBLite XE3 editions.

  • InterBase with the iOS mobile platform was introduced in InterBase XE3. Both ToGo and IBLite are available for the iOS platform via RAD Studio XE7. The databases deployed on the mobile device can either have centralized user authentication via admin.ib, or use EUA to control user access within the database. VARs and OEMs can now use InterBase on mobile devices by linking their applications with InterBase XE3 ToGo XE3 edition.
  • Applications built for iOS can embed InterBase ToGo with Lite licensing. IBLite is a "free" deployment. This application has limited capabilities when compared to the InterBase ToGo Edition on the same platforms. However, for a fee, you can upgrade IBLite to the InterBase ToGo edition that has additional features.
  • Important: For more information please refer to the ToGoQuickStart.

New Connection Property for InterBase JDBC Apps

InterBase XE3 Update 3 introduced a new connection property in the JDBC driver, returnColumnLabelAsColumnName. Pentaho requires ResultSetMetaData.getColumnName() to actually return the alias/label name (if provided by the application). In order to comply with JDBC specs, and to keep backward compatibility for existing InterBase JDBC apps, this new connection property will be FALSE by default.

If you want to use the new property for the Pentaho type behavior, set the following connection property:

properties.put ("returnColumnLabelAsColumnName", "true")

Important: For more information please refer to the Developer's Guide.

Display Timestamp

With InterBase XE3 Update 3, you can now use the "gbak -v" command to see extended timestamp information. For InterBase Service calls, this information is only printed if the remote server is also InterBase XE3 Update 3 or later.

For IBConsole, if the "Verbose Output" option is enabled, then the same output is returned, just as "gbak verbose" for command line invocations.

GLOBAL TEMPORARY TABLE Support

There is a change in behavior in the GLOBAL TEMPORARY TABLE Support with the InterBase XE3 Update 2 release. When an SQL script is executed ISQL reported a "deadlock" if EXIT is called without COMMIT/ROLLBACK on a global temporary table. To resolve this issue, the GLOBAL TEMPORARY TABLES function has been redesigned which changes the behavior and corrects the deadlock error.

It is no longer possible for transactions emanating from the same connection to see each other's rows in a transaction-specific (ON COMMIT DELETE) temporary table. To do that, you must use a session-specific (ON COMMIT PRESERVE) temporary table that makes all rows visible to transactions starting in the same session. This is still not the same in that the rows will persist until the connection is finished.

Call Home Feature

If you have obtained InterBase from a third party as part of the third party application, it may contain a "call home" feature. This feature makes an automated one-time connection to the Embarcadero Product Registration System to record the following information:

  • The license that is in use
  • The underlying operating system

ODBC Driver Transition

The DataDirect ODBC drivers are no longer shipped with InterBase XE7. InterBase XE7 now includes a new offering of InterBase ODBC driver.

Concurrent Index Creation

When restoring a database, once a table's data is restored, the indexes for the table can be created all at the same time. This helps the restore response time where there are idle threads/cores that facilitate the engine doing the job that much quicker by benefiting from sharing the cache for table data. Also, re-computing index SELECTIVITY with SET STATISTICS can be concurrent. InterBase XE7 enables one assistant thread for such operations by default; you can adjust the number of concurrent threads available for such operations by modifying the configuration parameter MAX_ASSISTANTS in ibconfig file.

NO RESERVE SPACE for Database and User Tables

This feature is useful if you have very, large databases (VLDB) with tables that are archival in nature. An archival table means that the rows of the table are infrequently or never UPDATED or DELETED; have complex queries, such as aggregates and analytics that process a high percentage of rows; and where indexes are rebuilt and the database is backed and/or restored frequently. These database operations could see a performance improve of 20% or more with a savings in storage space.

By default, InterBase reserves a small amount of space in each data page of a table to optimize UPDATE and DELETE operations on resident rows. This reserve space can amount to 20% or more of the total space occupied by all of the rows of the table. Some tables archive historical data or data that are UPDATED infrequently or not at all and their rows may never be deleted. Database operations that process most or all of the rows, such as backup, restore, index creation, aggregate computation have always suffered performance penalties proportional to this reservation overhead.

For this reason, a CREATE/ALTER TABLE clause is introduced that prevents space reservation and maximizes row packing for the most efficient fill ratio. At the database level, it has been possible to restore a database with the -USE_ALL_SPACE switch so that no space is reserved for any table. To change the storage behavior in a like manner for new or existing databases, the same clause is introduced for CREATE/ALTER DATABASE.

User Interface

To effect the new storage behavior, a non-standard SQL clause is added:

  • CREATE DATABASE <file name> ... [NO] RESERVE SPACE. Clause is presented before the secondary file specification.
  • CREATE TABLE <table name> ... [NO] RESERVE SPACE. Clause is presented after the column list specification and optional ON COMMIT clause for temporary tables.
  • ALTER DATABASE ... SET [NO] RESERVE SPACE. Clause is presented in any order with other SET elements.
  • ALTER TABLE <table name> ... SET [NO] RESERVE SPACE. Clause is presented in any order with other ADD, DROP, ALTER elements

This causes newly INSERTED rows to not reserve space on their data page for a DELETE record version stub, as would normally be the case. Over many row insertions, a decrease in storage size should be observed relative to what the table size would be in the absence of this feature. The optional NO keyword when used with ALTER TABLE toggles the behavior to the alternate state of the current storage behavior for the table.

The NO RESERVE storage modifier is preserved across database backup and restore. This state is stored as flag bit 64 (0x100) of RDB$RELATIONS.RDB$FLAGS for the table entry of the user in the system table RDB$RELATIONS.

The clause is displayed by ISQL SHOW TABLE command following the enumeration of the column definitions of the table. It is also visible using ISQL Extract (-x) command in a syntax-correct manner for the CREATE TABLE output of the respective table listing. The state for database-wide storage behavior is stored in a like manner for the RDB$DATABASE entry in RDB$RELATIONS.

Requirements and Constraints

  • InterBase XE7 can set the NO RESERVE table state against any database ODS it can attach. If the database is copied to an older installed InterBase version, the storage behavior cannot be enforced and subsequent INSERTED rows will reserve space on page for record back versions. This will do no harm other than consume space.
  • ALTERING an existing table to not reserve space has no effect on existing rows. A backup/restore is necessary if this is required, so a user should plan accordingly if it is expected that a table would grow very large. However, newly inserted rows will start to reoccupy that space should the state of a given data page change to indicate that space is available for new rows.
  • When the database-wide state is set to NO RESERVE SPACE, it takes precedence over the setting at the table-level.
  • The Table-level state is "sticky" in that its state is preserved when the database-wide state is toggled back to the default RESERVE SPACE.
  • It is not necessary to detach and re-attach the database for the new settings to take effect.
  • The new keywords RESERVE and SPACE are not "reserved" as SQL keyword tokens.
  • When toggling back to the default behavior there is no output (e.g. RESERVE SPACE) or observable state, except the RDB$RELATIONS.RDB$FLAGS has the RESERVE bit cleared. This is intentional to avoid polluting an otherwise clean ISQL extract with non-standard SQL extensions that might affect portability.
  • You can opt-out from this reservation at restore time by providing the USE_ALL_SPACE option to gbak for the whole database.

Physical Database Portability Between Windows, MacOSX, Linux, iOS, and Android

InterBase makes deployment on Windows, Mac OSX, Linux, iOS, and Android even easier. It allows you to copy database files between Windows 32-bit and 64-bit, MacOSX, Linux, iOS, and Android. You can develop on one platform, create your database on your development platform, and then easily deploy your database to other supported platforms. For example, you can develop with RAD Studio on Windows 32-bit, create your databases, and then just include these databases as is as part of your deployment for Windows 64-bit, Mac OS X, Linux, iOS, and Android.

There are some restrictions and you may not use certain features. If you want to take advantage of these features, they are listed below. This copying feature is certified for a single-file database that does not have the following; UDF or Filters, External Tables, Journaling, Online, and Incremental dumps, and Shadowing.

As in the previous versions of InterBase you can use the GBAK switch -transportable as a "safe" transportable mechanism. This switch permits the database to be restored to another platform supported by InterBase. It is cross- endian compatible, so using gbak -t allows you to move databases between Windows, MacOSX, Linux, iOS, and Android to Solaris.

For more information please refer to the Operations Guide: General Guidelines for Using GBAK.

Note: It is important to note that database files cannot be directly moved from Little Endian to Big Endian platforms and vice-versa.

Features with Restrictions

The features listed below may require additional attention. This usually involves a platforms' peculiar pathname conventions, for example, pathname separator, pathname sensitivity, etc.

  • UDF and Filter libraries
  • Multi-file databases
  • External Tables
  • Journaling
  • Online Dump and Incremental Dump
  • Shadow Database files (this feature is not available in ToGo Edition)
  • System Encryption Password (External SEP storage functionality has NodeID dependency)
  • Database file names on disk are case-sensitive on some platforms (UNIX) and case-insensitive on others.
  • Be aware of this when you are directly mentioning a database files name in your connection URL, or, using features that use the database file name (like Database Aliasing)

It is not possible to certify all the different ways of copying an InterBase multifile DB configuration. So you have to be aware of issues for your particular environment. An option is to simplify to a single DB file and then configure for multifile operation at deployment time. For more information please refer to the Operations Guide: Initiating Multi- and Single-file Backups.

New IBCONFIG Parameter

The InterBase XE Update 4 patch installer provided an ibconfig.orig file. This file includes the new IBCONFIG parameter of "MAX_DB_VIRMEM_USE". This parameter controls the limit of Virtual Memory use, after which database cache allocations and expansions are disallowed. The default is 90 (however, if database cache allocation requests come in before we use 90% of Virtual Memory for the process, it is allowed).

If you have not made any changes to your default "ibconfig" from a previous installation, you can copy ibconfig.orig over ibconfig and restart the server. For further details, see the parameter definition and comments in "ibconfig" file.

ADO.NET Provider for InterBase (32-bit and 64-bit)

RAD Studio now has 64-bit drivers for dbExpress (with RAD Studio XE2) which means you can use the 64-bit Ado.NET driver.

The existing 32-bit installer of Ado.NET driver has been modified and incorporates the 64-bit assemblies into the same installer. This installer is intelligent enough to install the required assemblies on the target OS platform (32-bit assemblies for 32-bit OS, 32 and 64 assemblies on 64-bit OS).

For more information, please refer to ADO.NET Provider for InterBase (32-bit and 64-bit) in the Developer's Guide.

OTW SSL TCP/IP Connection Update

If you are using OTW SSL TCP/IP connection: Starting with InterBase XE Update 3 release you no longer need to specify your server hostname by the IBSSL_SERVER_HOST_NAME parameter in /secure/server/ibss_config file. The new ibss_config default file included with this release has this parameter commented out, so this can be used in most cases. When the IBSSL_SERVER_HOST_NAME parameter is not set, the InterBase server will use the same hostname as used by the non-SSL TCP/IP connection.

If you do specify the hostname in the ibss_config file, you must ensure that the hostname resolves to IPv4 TCP/IP address and not a IPv6 address. One way to force a IPv4 resolution is to include your hostname in the hosts file with a valid IPv4 address. On Windows your hostname should be in the <Windows system file>\drivers\etc\hosts file.

DES Encryption Keys Backup and Restore Enhancement

Backup/Restore operations can now be restricted on any encrypted database. For more information, please refer to Encrypting Your Data in the Data Definition Guide.

OpenSSL Updated from 1.0.0a to 1.0.0d

InterBase XE Update 2 was upgraded from 1.0.0a to OpenSSL 1.0.0d.

For more information on using OpenSSL in InterBase XE, please reference Network Configuration in the Operations Guide, as well as Encrypting your Data in the Data Definition.

For additional information on OpenSSL please refer to: open ssl.

InterBase Direct I/O for DataBase Files

InterBase XE3 Update 4 Hotfix 1 (version 11.0.4.816) and later versions resolve the performance problem with sync/async database-write modes on Windows 2008 R2 and Windows 7 64-bit OS editions. You can still use "direct" I/O for your databases to completely circumvent the System File Cache, but you are not required to do so due to the earlier reported performance issues.

For more information, please refer to InterBase Direct I/O for DataBase Files in the Operation Guide.

InterBase 32-Bit and 64-Bit Native Binary Applications

For both the 32-bit and 64-bit editions, if you are still using dialect 1, you must migrate to dialect 3. Performance monitor tables will not work in the counters and will generate errors. For more information please reference Understanding SQL dialects in the Operation Guide.

InterBase 32-Bit Native Binary Application

The ib_install.exe is delivered with the 32-bit Edition issue. You will need to run this installer if you want to to use the 32-bit Edition on Windows.

InterBase 64-Bit Native Binary Application

  • With the 64-bit edition, you can continue to use 32-bit InterBase applications.
  • Please note that the 64-bit kit cannot be installed on a 32-bit operating system.
  • Because of InterBases focus on backward compatibility, it is easier to migrate to new editions.

The topics below cover the critical information you need to implement the 64-bit application.

Compatability Issues

  • The local and remote connections from older clients are expected to work with newer 32-bit/64-bit servers; and vice-versa.
  • IBMgr.exe and IBConsole.exe continue to be 32-bit applications. But they are expected to work with 32-bit and 64-bit servers.
  • This version supports existing ODS 12.x and ODS 13.x databases that were introduced in previous releases of InterBase.
  • You can expect to move databases between 32-bit and 64-bit kits of InterBase (with this version) as long as they support compatible ODS versions.

Client Library Name Changes for 64-Bit DLL's

The following table displays the new client library names for the 64-bit DLL's.

Library Name Location Notes
ibclient64.dll <interbase>/bin This is a new InterBase client DLL for native 64-bit applications. It is being used by 64-bit InterBase command-line tools currently, and will need to be deployed with 64-bit applications built by customers (in place of gds32.dll which is for the 32-bit target).


ibxml64.dll <interbase>/bin This is a new InterBase XML DLL for native 64-bit applications. It will need to be deployed with 64-bit applications built by customers (in place of ibxml.dll which is for the 32-bit target) if they are using the InterBase XML api.


ib_util64.dll <interbase>/bin This is a new InterBase UTILS DLL for native 64-bit applications. It will need to be deployed with 64-bit applications built by customers (in place of ib_util.dll which is for the 32-bit target).


ibclient64_ms.lib <interbase>/SDK/lib_ms Import library for building 64-bit applications targeting the ibxml64.dll.


ib_util64_ms.lib <interbase>/SDK/lib_ms Import library for building 64-bit applications targeting the ib_util64.dll.


JDBC Driver Updates for Blob/Clob Support

New interfaces have been implemented for JDBC. For more information on Blob, Clob, and other related API Interfaces, please refer to Programming with JDBC in the Developer's Guide

Stronger Password Protection

Stronger password protection on InterBase databases can be implemented with InterBase XE. This additional functionality supports a longer effective password length, resulting in stronger password protection. For more information, please refer to Implementing Stronger Password Protection in the Operation Guide

Larger Database Cache Settings for 64-bit InterBase

There is now a larger database cache setting for 64-bit InterBase. The limit for the 64-bit engine is 75 million pages, as compared to 750K pages for 32-bit engines. For more information, please refer to Various InterBase Limits in the Operations Guide

EXECUTE STATEMENT for Stored Procedures

InterBase XE now provides support for the EXECUTE STATEMENT functionality. This feature enhances the InterBase Stored Procedure language. Once this is implemented, Stored Procedure developers can embed three variations of EXECUTE STATEMENT within their Stored Procedures. The variations depend on the number of rows returned from the EXECUTE STATEMENT command. The three cases are: No rows or data returned; One row of data returned; and Variable number of rows returned.

For more information, please refer to EXECUTE STATEMENT in the Language Reference Guide.

Database Fast Sweep

Sweeping a database is a systematic way of removing outdated records. Periodic sweeping prevents a database from growing too large. In the past sweeping slowed system performance and users disabled the automatic database sweep function because of the impact on product operations.

With the implementation of the fast sweep optimization in InterBase XE, the memory allocation issue has been mitigated. The user has the option to configure their databases for automatic sweep. For more information, please refer to Sweep Interval and Automated Housekeeping in the Operations Guide.

Table-Specific Blocking Factor

The term blocking factor is used to denote the number of records stored in a block. InterBase employs a single database-wide blocking factor that maximizes the number of rows that can be stored on a data page.

The blocking factor values for individual tables can be observed in the system columns:

  • RDB$RELATIONS.RDB$DATA_BLOCKING_FACTOR
  • RDB$RELATIONS.RDB$BLOB_BLOCKING_FACTOR

For more information, please refer to Table 6.26 - RDB$RELATIONS in the Language Reference Guide.

Larger Index Key Segment Size

With the ODS 15 databases the maximum index key size limit is increased. Now larger column data can use this for both single-byte character sets and multi-byte (such as UTF8) columns. For more information, please refer to Various InterBase Limits, Table B.1 in the Operations Guide.

New IBCONFIG Parameter APPDATA_DIRECTORY

To indicate the above "Program Data" location value to all InterBase applications (and database engine), a new IBCONFIG parameter value for APPDATA_DIRECTORY (new parameter in InterBase XE3) is now added automatically at the time of install. This value provides the absolute path of the above "Program Data" location. See the file <interbase>/ibconfig file for further details.

  • Program Data Location
  • The "Program Files" location will be used primarily for files which are required read only.
    • Directory: System "Program Files" (varies for 32-bit or 64-bit Windows)
      • ibconfig (this is where you will deliver an older customized ibconfig file if you are migrating from an older InterBase version)
      • binaries including server, graphical and command-line tools libraries
      • SDK
      • interbase.msg
      • Doc subfolder with PDF and HTML docs
      • Product EULA (License.txt and oss_license_notice.txt)
  • Windows Registry Changes from Borland to Embarcadero
  • InterBase uses the Windows Registry to store information for a particular installation of InterBase server-based products. Due to its Borland legacy, previous InterBase versions had stored this information under the Windows Registry key "HKEY_LOCAL_MACHINE\Software\Borland\InterBase\Servers\".
  • InterBase XE3 now uses the Windows Registry hierarchy under "HKEY_LOCAL_MACHINE\Software\Embarcadero\InterBase\Servers\". The InterBase server, guardian, client library, IBMgr, and IBConsole programs have been updated to support this change.


  • Backward Compatibility
  • If you have applications using older InterBase version client libraries on the same machine and must connect locally to the new server, update your client library to the latest version.
  • If you cannot do this and still need the old client libraries to access the "Borland" hierarchy registry settings, use the InterBase tool "instreg.exe". instreg now provides a "legacy" option to create the "Borland" hierarchy entries for your new instance so your application continues to work with the new InterBase server.
  • instreg has the following usage:
    • instreg <action> instance <instance name> [legacy]
    • where <action> currently supports the following values... {install, display, remove}
    • For example:
instreg install "C:\Program Files\Embarcadero\InterBase" instance gds_db legacy
instreg display instance gds_db 
  • You can also use the Windows command "reg" to query for specific Windows registry key values, and thus verify this change.
    • For example:
REG QUERY HKLM\Software\Borland\Interbase\Servers /s

Migration Issues for InterBase XE7

  • It is important to note that older clients (old IBConsole) will surface exceptions when connecting to newer ODS 16 databases since they will encounter data type not defined as INTEGER. The workaround is to install the newer IBConsole and connect with older and newer InterBase servers. The newer IBConsole is backward compatible for this purpose.
  • The InterBase Lock Table size needs to be increased by changing the IBconfig parameter as every entry occupies more room. To increase the InterBase Lock Table size, edit the ibconfig file and change the V4_LOCK_MEM_SIZE entry.
  • InterBase XE7 is released with ODS 16. The new engine only supports ODS >= 13. So with this change, all supported platforms will support the same ODS versions (13 to 16).
  • Some 64bit UDF libraries built with older Visual Studio versions (2005 and earlier) have been reported to not work with InterBase XE7. If you have any old UDF libraries, please do extra testing of these with the new InterBase version. Or, rebuild your UDF 64-bit libraries with the latest Visual Studio versions.
  • The new keyword ROW is "reserved" as a SQL keyword token.

Migration Issues for InterBase XE3

Windows Registry and Program Files Changes

InterBase XE3 introduces changes for better Windows compatibility. InterBase XE3 allows default installation of the product under the "Program Files" location and no longer uses the "Borland" subkey in the Windows Registry hierarchy. It now uses the "Embarcadero" subkey to track instance specific information. We strongly advise and encourage you to migrate your applications to the new environment as soon as possible.

  • Program Files Install Location
  • InterBase versions since 2009 installed the product in a different location other than the default Windows location of "Program Files". This was because of Windows UAC guidelines that put restrictions around applications without administrative privilege from writing under the "Program Files" file system folder. InterBase XE3, for server-based editions, now conforms to the Windows Application compatibility guidelines. The default install location has changed from C:\Embarcadero\InterBase to C:\Program Files\Embarcadero\InterBase.
  • Program Data Location
  • InterBase XE3 now delivers the program data files under %ALLUSERSPROFILE%\Embarcadero\InterBase directory. For each individual instance of an install, a folder is created under this and all files requiring write access are delivered here. For example, if you install InterBase XE3 with the defaults and get 'gds_db' instance, your InterBase write location and files include the following:
    • Directory: %ALLUSERSPROFILE%\Embarcadero\InterBase\gds_db
    • Files:
      • admin.ib (this is where you will deliver an older admin.ib file if you are migrating from an older InterBase version)
      • license/ (this is where you will deliver InterBase license files)
      • Examples subfolder structure with all related files
      • OTW SSL related files under "secure" subfolder
      • runtime created files such as interbase.log, *.lck, *.env

Migration Issues for InterBase XE and earlier

  • Be sure to back-up all databases, including the security database, before uninstalling the previous version.
  • We recommend that you upgrade your InterBase clients to 10.0.0.292 or above if you are targeting a SUSE 11 SP1 (or above) server. There are known problems with older clients waiting for events from a SUSE 11 SP1 server.
  • Back-up the ibconfig file if it has been customized.
  • This version creates new databases with ODS version 15.
  • Please only provide 64-bit UDF libraries for a 64-bit edition, if any, of InterBase. Note that the 64-bit server will not be able to load any 32-bit UDF libraries that you may have. The UDF library that is provided (OOTB, ib_udf) is already built for 64-bit and is installed with the product.
  • InterBase XE increased the number of records that can be stored in a table. The current count has 32-bit limitations. If you want to get a count of the number of record values beyond 32-bit, you need to take the following steps:
    • If a table does have more than 2G rows then the developer must code a CAST(COUNT(*) AS NUMERIC(18,0)) to get a 64-bit count.
  • InterBase XE implemented stronger password protection. If you have older InterBase clients (locally or from remote systems) communicating with this installation, please note the following while upgrading your system to InterBase XE3:
    • If you have an existing user authentication database (from previous InterBase versions), use that database file (copied to the InterBase XE folder) and authentication for local/remote clients will work correctly.
    • If you use the new admin.ib from InterBase XE, note that this database has "SHA-1" strength passwords (by default). If you want to continue using the (weaker) DES password algorithm (previous InterBase releases), use the ALTER DATABASE command referred to in the Stronger Password Protection topic.
    • If you want to use "stronger password length" (provided in InterBase XE), you will need to recreate your user accounts AND install the new InterBase clients in remote machines connecting to this InterBase XE server. This is because the "old" InterBase clients are not capable of computing the "SHA-1" passwords and thus pass in the "DES" strength passwords which in turn don't match what the InterBase XE server expects. This gives you the error "Your user name and password are not defined...".
  • InterBase XE updated SSL parameter names. The old OTW client properties have been replaced by new OTW properties. Please refer to the Operations Guide"Setting up OTW Encryption" and Table 5.2 located in Chapter 5.
Restoring database results in the error "unassigned code"
When restoring a database with InterBase XE, get the error unassigned code. With databases with a long lineage or databases backed up with InterBase 2009 and restored with InterBase XE, each case has different metadata security settings. So when selecting a system table (for example: RDB$RELATIONS) you get the error message: no permission for read/select access to table RDB$RELATIONS by user SYSDBA.
This error occurs with databases which have these criteria:
  • Originally created with a version of InterBase prior to InterBase 6.5.
  • Backed up with a version of InterBase prior to InterBase 2009.
  • Readmeta.sql has not been previously applied.
This behavior is exhibited due to stricter enforcement of meta data rights in InterBase XE during the restore of a database.
Solution
To resolve this problem, execute readmeta.sql against your database before you back it up. readmeta.sql may be found in \examples\security. You can execute readmeta.sql against your database using isql or IBConsole.
Explanation:
The problem occurs with databases that have a long lineage. The two cases are (1) a database has a restore history of IB6->IB7->IB2007->IB2009->IBXE; and (2) a database backed up and restored as IB2009->IBXE. Each case has different metadata security settings. The first instance never had metadata security because it originated from IB6. However with the second instance, it was created (not restored) by IB2009 with a full complement of security privileges for all system tables.
With the first case, the database was backed up and restored and with each succeeding release, the new release would install privileges for the new system tables in that release (think RDB$USERS, RDB$ENCRYPTIONS, RDB$ROLES, etc.). But it couldn't alter the original system tables because it had no way of knowing if the database owner had already altered their security privileges. For example, a user might have revoked all privileges to RDB$TRIGGERS and RDB$PROCEDURES to conceal their trigger and stored procedure code.
Also, in the first case, a SYSDBA may have run readmeta.sql years ago and refined the metadata from that baseline to a custom security profile. InterBase cannot override that customization by automatically resetting it after the XE restore. InterBase XE can't assume that every database it restores should unconditionally install the default metadata privileges because it doesn't know the history of individual databases.
So it is recommended to run readmeta.sql, which sets the default or starting point for configuring it the way you want it. This advice is independent of whether you are migrating to XE.
Example using isql:
isql "path to database" 
-USER sysdba -password masterkey -i readmeta.SQL
Executing readmeta.sql with IBConsole
  1. Connect to your database with IBConsole.
  2. Tools | Interactive SQL ...
  3. Query | Load Script, select readmeta.sql, click OK.
Error: No Permission for read/select access to table RDB$XXXX by user SYSDBA
Databases originally created before InterBase 6.5 may have the following error: No permission for read/select access to table RDB$XXXX by user SYSDBA with InterBase XE.
Solution:
InterBase XE enforces tighter meta data security and this error may result from doing meta data operations on databases originally created with versions of InterBase prior to version 6.5. Meta data operations involve requesting information about system objects such as listing system objects or updating them and using the Performance Monitor.
To resolve this error you need to perform two similar operations. The first operation grants rights to system tables. To do so, execute readmeta.sql from the examples\security folder in your InterBase install directory.You can execute readmeta.sql against your database using isql or IBConsole.
Example using isql:
isql "path to database" 
-USER sysdba -password masterkey -i readmeta.SQL
Executing readmeta.sql with IBConsole
  1. Connect to your database with IBConsole.
  2. Tools | Interactive SQL ...
  3. Query | Load Script, select readmeta.sql, click OK.
Second, you need to grant rights to system temporary tables if you are going to do performance monitoring. Due to potential security concerns, most installations will want to grant rights for system temporary tables only to sysdba and the database owner, which is what is presented below. If you wish for all users to be able to view system temporary tables, modify this example to GRANT TO PUBLIC. Some installations will want only specific users to have rights, in which case a more customized script may be needed.
To grant rights for system temporary tables, save the following as a text file, then execute it the same as readmeta.sql above.
CREATE PROCEDURE granttmp AS
   DECLARE variable stmt VARCHAR(1024);
   DECLARE variable ownername VARCHAR(66);
   DECLARE variable tablename VARCHAR(66);
 BEGIN
   SELECT rdb$owner_name FROM rdb$relations WHERE rdb$relation_name = 'RDB$RELATIONS'
   INTO :ownername;
For select rdb$relation_name from rdb$relations where rdb$system_flag>0 and rdb$relation_name starts with 'TMP$' into :tablename do begin
stmt = 'grant all on ' || tablename || ' to sysdba';
   EXECUTE statement stmt;
   stmt = 'grant all on ' || tablename || ' to ' || ownername;
   EXECUTE statement stmt;
 END
 END;
 EXECUTE PROCEDURE granttmp;
 DROP PROCEDURE granttemp;
 commit;
 exit;

Known Issues

  • Change View SQL keywords – The Change View feature adds several reserved keywords which may conflict with SQL objects. The keywords are: CHANGE, CHANGED, INSERTED, UPDATED, and DELETED.
  • It is important to note that older clients (old IBConsole) will surface exceptions when connecting to newer ODS 16 databases since they will encounter data type not defined as INTEGER. The workaround is to install the newer IBConsole and connect with older and newer InterBase servers. The newer IBConsole is backward compatible for this purpose.
  • IBConsole Performance Monitoring provides wrong values for ODS 16, dialect 1 database.
Workaround: There is no workaround for ODS 16 dialect 1. Use dialect 3 database to test IBConsole Performance Monitoring.
  • The 16-bit UNICODE character sets UNICODE_LE and UNICODE_BE only work for Server character sets. These character sets cannot be used as a client character set. If your client needs full UNICODE character support, please use UTF8 instead of UNICODE_LE and UNICODE_BE for the client character set (aka LC_CSET). A client can use the UTF8 (or other native) client character set to connect with a UNICODE database.
  • Windows Error Reporting (WER) dialog pops up intermittently if and when an InterBase server crashes.
Resolution: We are working on fixing any crashes that we are aware of. In the meantime you can disable the Windows Error Reporting dialog from popping up by modifying the Windows Registry thus. Set the registry attribute HKEY_CURRENT_USERS\Software\Microsoft\Windows\Windows Error Reporting\DontShowUI value to 1 to disable. This is as per recommendation of MSDN article http://msdn.microsoft.com/en-us/library/bb513638(VS.85).aspx. We may address this configurable option from within ibserver.exe in future builds by informing WER to disable this only for InterBase server binary.
  • Issue: Hyperthreading: InterBase supports Hyperthreading only on 32-bit Edition on Windows, and on older Intel CPU architectures. It is a known issue that the feature does not work on some of the latest CPU architectures. If your InterBase deployment has licensed less CPU cores than is available on the system, you can customize your installation via the CPU_AFFINITY setting in IBConfig to choose the desired CPU cores for InterBase.

Resolved Defects

External Defect # Description
(QC)SalesForce #
Internal Defect #
InterBase XE7 Update 4: Jul-2015, Bugs Fixed in 12.0.4 Version.
INTB-2505 SQL parser throws an exception if comments precede certain DDL commands.
INTB-2503

Sales Force 427872

Query with Subquery and + performs 50 times slower in XE7 than XE3.
INTB-2493 InterBase XE7 crashes when trying to activate an incremental backup file.
INTB-2491

Sales Force 427636

Some queries when run in XE7 are much slower than in XE3.
INTB-2460 'CREATE DATABASE' is always DIALECT 1 with IBConsole SQL Window in InterBase XE7.
INTB-1933

Sales Force 418644

.cg_license.loc does not get deleted on Windows 2012.
InterBase XE7 Update 3: May-2015, Bugs Fixed in 12.0.3 Version.
INTB-2488

Sales Force 425423

InterBase crashes in isc_database_info() via use of info item isc_info_read_seq_count on hundreds of tables.
INTB-2476 Performing repeated incremental backups with continuation files will eventually cause InterBase to hang.
INTB-2473

Sales Force 425187

Index corruption reported at non-leaf level of non-unique index in ODS 16 database.

After installing this update, you can validate your existing XE7 related ODS 16 database with "gfix -v -f -no_update" to find if your database is affected by this corruption. If it is, you will want to either rebuild the specific corrupted index, or, backup and restore the whole database so all indexes are restored/created without any corruption with the new engine.

INTB-2470

QC: 131317

Field Collation setting is not respected when comparing/sorting values with prepared parameters.
INTB-2468 Fetching from a subscribed Change View table followed by a ROLLBACK hangs the database engine.
INTB-2456 Make XE7 Change View SQL keywords unreserved.
INTB-2453

Sales Force 423125

String concatenation operators puts unexpected padding spaces for variable length multi-byte charset CHAR fields.
INTB-2425 Android IBToGo cannot fetch data for record size larger than 32KB.
INTB-2421 IBConsole crashes instead of displaying error from an execute statement stored procedure.
INTB-2363 IBConsole SQL Window parsing problem with CREATE DATABASE with USER/PASSWORD.
InterBase XE7 Update 2: April-2015, Bugs Fixed in 12.0.2 Version.
INTB-2450

QC: 130988

Multiple updates to the same record in a single transaction followed by a ROLLBACK does not restore original data.

During transaction isolation tests it was found that a second or third update to the same record were not saved during a rollback and the subsequent update data was abandoned.

INTB-2391

Sales Force 417992

Querying TMP$Attachments when joined to another persistent table causes AST Deadlock errors.
INTB-2439 Parameterized query with placeholder question mark placed at LHS of IN clause returns error "Data type unknown".
INTB-2432 When Selected Client Only, vcredist_x64.exe and vcredist_x86.exe are not installed.
INTB-2283 It is not possible to an OSX application in an App Sandbox running IBLite/IBToGo.
INTB-2435 Error Status message for new statement contains erroneous text from previous Execute Statement call.
INTB-2426 Server crash when querying Performance Monitoring tables for database attachments that had Execute Statement exceptions inside Stored Procedure calls.
INTB-2428 Change View (INSERT, UPDATE, DELETE) with hundreds of subscriptions cause server crash or hang.
INTB-2419

Sales Force: 417996

Erroneous call to an execute statement stored procedure causes memory leak.
INTB-2424 Cannot see deleted changes with subscription setup after pre-existing records.
INTB-2420

Sales Force 413506

Bug in stored procedure causes server crash.
INTB-2404 When the disk containing journal files runs out of disk space, the active journal file cannot be accessed.
InterBase XE7 Update 1: March-2015, Bugs Fixed in 12.0.1 Version.
INTB-2402 Using deleted subscription name again cause some unexpected state.
INTB-2395 DROP DATABASE request through multi-hop claims "Invalid request handle".
INTB-2393 Infinite loop run by worker thread when executing CREATE INDEX statement against subscribed table.
INTB-2389 The example ibserverd file cannot be run on Linux.
INTB-2386 Request Synchronization error when executing commit with active subscription with subscriber against altered table subscription.
INTB-2381 Stored procedure that uses Execute Statement crashes InterBase when called multiple times.
Important: Starting with InterBase XE7 Update 1, there is a new requirement on FOR EXECUTE STATEMENT to match every item in the SELECT list with a corresponding item in the INTO list.
INTB-2375 Comparing indexed CHAR fields with INTL charset requires padding space also.
Sales Force: 408962,

INTB-2361

InterBase XE7 ibguard.exe does not work on Windows XP/2003.
INTB-2357 Combining group by and casting empty string to CHAR makes crash the Linux server.
INTB-2312 Order by with subscription can report wrong type of change.
Sales Force: 400383

INTB-2224

Error "cannot find tip page" during journal recovery.
INTB-1904 IBEvents not working properly with 64 bit Delphi Application.
InterBase XE7: November-2014, Bugs Fixed in 12.0.0 Version.
INTB-2273 Does not delete instance and port information in services file at uninstall.
INTB-2184 When opening "Local Server" node, IBConsole reports exception "Store RDB$FIELDS failed" with "Attempt to modify database from a readonly transaction".
INTB-2016 New IBConfig parameters from versions XE and XE3 not returned in isc_info_svc_get_config item to isc_service_query() API.
INTB-2005 SPB parameter isc_spb_instance_name is not consumed properly, if provided, for Service API calls.
QC: 120208

INTB-1923

Slow query performance on XE3 as compared to 2007/2009 versions of InterBase.
InterBase XE3 Update 4 Hotfix 2: May-2014, Bugs Fixed in 11.0.4.817 Version.
QC: 124104,

INTB-2026

"Extract files only" fails when InterBase instance is disabled by instreg.
QC: 124527,

INTB-2031

XE3 regression report of 2GB database file size limit on Linux.
INTB-2033 Reduced concurrency throughput of multiple simultaneous reads on same page.
INTB-2035 User SYSDBA cannot view metadata or database properties on non-SYSDBA owned database.
InterBase XE3 Update 4 Hotfix 2: May-2014, Bugs Fixed in 11.0.4.816 Version.
INTB-2020 Performance degrades on some newer Windows 64-bit OS versions when accessing large files (size > available RAM) with sync/async database write mode(s).
INTB-2015 Forced sweep operation returns quickly without advancing OIT, and Perf.Mon. queries are stuck, when OIT <-> OAT gap is very large.
INTB-2003 IBConsole: Cannot type database path when adding local database.
InterBase XE3 Update 4: March-2014, Bugs Fixed in 11.0.4 Version.
Salesforce: 374757,

INTB-1992

SELECT with oversized literal value in WHERE clause and ORDER BY index causes crash.

QC: 122621,

INTB-1984

EXECUTE STATEMENT in stored procedure does not get NULL column value/state.

QC: 122818,

INTB-1983

XE3 takes a long time (20 minutes) to run a query compared to the 2009 version (20 seconds).
Salesforce: 341687,

INTB-1979

InterBase crashes on trying to select rows when another select query is prepared.
INTB-1965 Cannot upgrade a "Client Only" install using IBXE3 Update3 patch installer from IBXE3_Update.exe.

QC: 121770, INTB-1958

SQL Statement with multiple UNIONs crashes server when retrieving PLAN info.
INTB-1942 Performance degradation of multi-level procedure call in InterBase XE3 when compared to InterBase 2009.
INTB-1927 ib_util.dll and ib_util64.dll not included in InterBase ToGo "min" zip files for Windows. This is required for UDF library ib_udf.dll.
INTB-1926 [View Metadata] can't display as SYSDBA. Only a database owner can display it.

QC: 120208, INTB-1923

Slow query performance on XE3 as compared to 2007/2009 versions of InterBase.
INTB-1920 ISQL SET STATS ON output does not include fractional seconds.
INTB-1919 SET PLAN output not redirected to output file.

QC: 119341, INTB-1901

IBConsole uses SERVER login username/password when modifying the EUA database properties.
INTB-1897 IBConsole Performance Monitor truncates TMP$STATEMENTS.TMP$SQL to 1024 bytes in the Statements tab.
INTB-1895 IBConsole: Missing Encryption node when connected as SYSDSO user.
Salesforce: 341530,

INTB-1892

Increased memory usage or possible memory leak reported when migrating VARCHAR data to BLOB via UPDATE statement.
INTB-1889 ODBC: Character sets detection in Embarcadero ODBC driver not working properly.

QC: 111486,

INTB-1824

Character data is truncated in result set for SJIS_0208 column in Embarcadero ODBC driver.

QC: 111118,

INTB-1723

IBConsole shows wrong data when selecting special hidden field RDB$DB_KEY.
INTB-1668 Cannot make local connections to an instance other than "gds_db".
INTB-1525 Creating an index after massive delete and insert operations results in corrupted database.

QC: 106371,

INTB-1468

InterBase crashes updating metadata - database is totally corrupted.
INTB-977 Updated errors in Data Definition Guide.
InterBase XE3 Update 3: August-2013, Bugs Fixed in 11.0.3 Version.

QC: 116299,

INTB-1854

Index is not updated if column is modified by trigger.
INTB-1871 IBConsole is unstable when working with InterBase ToGo.

QC: 116886,

INTB-1862

ODBC driver does not handle meta data names larger than 31 characters.

QC: 116820,

INTB-1859

Access Violation when inserting in a temp table, declared as ON COMMIT DELETE, using a stored procedure.
INTB-1858 isql with SET LIST ON displays garbage data for long field names.

QC: 109214,

INTB-1725

Invalid table Alias use in UNION ALL statement returns no error.
INTB-1772 Pentaho related clash between ResultSetMetaData.getColumnLabel() and getColumnName().
INTB-1773 Invalid transaction reported by PreparedStatement.executeBatch().

QC: 111118,

INTB-1723

IBConsole shows wrong data when selecting special hidden field RDB$DB_KEY.
INTB-1331 Occasional InterBase server hang when multiple clients are very heavily active.
InterBase XE3 Update 2: April-2013, Bugs Fixed in 11.0.2 Version.
INTB-1830 Unlimited user license does not allow more than 4 connections with version 11.0.2.539.
INTB-1820 Maximum user count exceed error occurs when connecting to corrupted database.
INTB-1806 ISQL reports "deadlock" if EXIT is called without COMMIT/ROLLBACK on a global temporary table.
INTB-1784 Querying tmp$triggers against database with concurrent inserts and a journal causes server hang.
INTB-1778 GBAK journal archive recovery, when executed as an InterBase service, does not respect passed-in user credential option values.
INTB-1771 Multihop (two-hop) server connection using SSL in the middle-tier, causes memory leaks in the middle-tier server.
Salesforce: 305183,

INTB-1768

Journal archives prematurely swept, causes archive recovery to fail.
INTB-1766 Aggregated Page I/O performance monitoring data missing for Tables, Procedures, and Triggers.
INTB-1753 OTW parameters meant to reach a middle-tier client in a multi-hop connection does not get there.

QC: 111447,

INTB-1724

Server does not recognize or use DUMMY_PACKET_INTERVAL setting in ibconfig file.

QC: 110482,

INTB-1719

Server crash when defining a COMPUTED BY field with CAST and CASE combination.
INTB-1710 Databases in external SEP condition cannot be backed up or restored using InterBase Services.

QC: 110553,

INTB-1706

IBConsole gives a "cannot attach to service manager" on a lone multi-instance install.
INTB-1694 Server manager with startup mode of Automatic and not running as a service does not start the server.
INTB-1681 Files from security folder from XE not installed.
INTB-1630 Repeated Delete/Rollback results in corrupted database.
INTB-1395 Deadlock reported on Windows local connections (IPC) when using SELECT ...FOR UPDATE statement.
InterBase XE3 Update 1: October-2012, Bugs Fixed in 11.0.1 Version.
INTB-1693 Trying to encrypt a database with AES puts database in an unusable state if "strong encryption" is not licensed (as in Developer Edition).
INTB-1660 XE3 client library cannot connect locally via IPC to XE server.
INTB-1656 InterBase installer on Windows does not install examples database backup files (files are zero size).

QC: 108767,

INTB-1634

ODBC Driver does not work with Microsoft Access 2007 when used against a UTF8 database.
INTB-1628 INSERT after massive DELETE causes Deadlock error.
INTB-1592 Error when trying to do an ORDER BY on a column that is the result of a coalesce expression.
INTB-1521 InterBase clients do not write interbase.log messages in the APPDATA_DIRECTORY folder.
INTB-1455 Corrupted admin.ib through OTW for constant connect/disconnect testing.
INTB-1336 Deadlock error after deleting and re-inserting large numbers of rows.
InterBase XE3: August-2012, Bugs Fixed in 11.0. Version.
INTB-1569 InterBase tools cannot use service name SERVICE_MGR in uppercase form; lowercase "service_mgr" works.
INTB-1566 Calling isc_dsql_batch_execute_immed with 128K+ batch data, causes server CPU loop.
INTB-1524 Database files accessed with different path names on Windows (for example admin.ib) produce server hang.

QC: 106427,

INTB-1467

Database shutdown does not prevent non-SYSDBA users from connecting.
INTB-1464 SQL Optimizer makes an inaccurate estimate of table cardinality for large records.

QC: 7952,

INTB-1462

Release the lock on a file used by an external file after drop table.
INTB-1459 iblockpr fails on Windows. If a .lck file exists, running iblockpr.exe on Windows always resulted in the error: "unable to access lock table - file too small".
Salesforce: 265124,

INTB-1440

SQL Optimizer chooses a less optimal plan in XE as compared to InterBase 2007 when using multiple JOIN conditions.

QC: 106199,

INTB-1431

JIRA Issue INTB-1407 has been resolved but Blob retrieval for large blobs was still a problem. This issue has now been resolved as well.

QC: 105905,

INTB-1410

Incremental database dump fails to report error when target database is in use.

QC: 106199,

INTB-1407

Get an error when inserting a binary file larger than 32kb to a BLOB field. When directly using InterClient classes, the application hangs until it is manually terminated. When using Hibernate on top of it, the interbase.interclient.CommunicationException appears.
INTB-1361 TCS: BUG_8189 causes request synchronization error when executing through IPC connections.

QC: 98872,

INTB-1239

"IB server manager" option appears on the remote Windows server.

Additional Resources

Embarcadero Technologies Technical Support

If you have a valid maintenance contract with Embarcadero Technologies, the Embarcadero Technical Support team is available to assist you with any problems you have with our applications. Our maintenance contract also entitles registered users of Embarcadero Technologies products to download free software upgrades during the active contract period. Evaluators receive free technical support for the term of their evaluation. We encourage you to visit the Support section of our Web site.

Embarcadero Technologies on the Web

Evaluators receive free technical support for the term of their evaluation. To download evaluations of Embarcadero Technologies products or to learn more about our company and our products, visit us at http://www.embarcadero.com/.



Copyright 2015 Embarcadero Technologies Inc. All CodeGear brand and product names are trademarks or registered trademarks of Embarcadero Technologies in the United States and other countries. All other marks are the property of their respective owners.

This product is covered by one or more U.S. patents or patent applications, specifically US patent 5592664 and 5918224.