From Appmethod Topics
Jump to: navigation, search

Go Up to Developing Database Applications

Appmethod provides full support for InterBase XE7 databases. InterBase XE7 is installed with Appmethod, in the following directory: C:\Program Files (x86)\Embarcadero\Studio\17.0\InterBaseXE7.


If you want to use InterBase XE7 databases, you need to have:

  • The latest client version of InterBase
    (When you install Appmethod, the correct client version of InterBase XE7 is automatically installed, unless you specifically deselect InterBase XE7.)
  • An x64 machine for the new platform support (if you want to use 64-bit)

The 64-bit edition can be installed only on the following operating systems:

  • Microsoft Windows 8
  • Microsoft Windows 7
  • Windows Vista
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2008
  • Microsoft Windows 2008 R2

Starting the InterBase Server

  1. Choose Start | Programs | Embarcadero InterBase XE7 | 64-bit/32-bit instance = gds_db | InterBase Server Manager [instance = gds_db]
  2. On the InterBase XE7 64 Server Manager, start the InterBase server if it is not running.

Appmethod Support for InterBase

Integrated licensing for InterBase XE7

InterBase XE7 Developer Edition is installed with Appmethod (does not apply to the Starter edition) and included in Appmethod integrated license. InterBase XE7 ToGo does not have to be installed on any server or end-user workstation and it has two licensing options for deployment: ToGo and IBLite. This feature makes it easier for developers to create Appmethod C++ and Object Pascal InterBase applications using Appmethod.

ToGo Test Deployment license

The ToGo Test Deployment license allows users to test InterBase applications on deployment machines or to deploy their multi-device applications to iOS 32-bit and 64-bit or to Android devices. For example, a user who is developing a Windows 32-bit InterBase application can use a ToGo Test Deployment license to test the application on other machines running 32-bit or 64-bit Windows, or Mac OS X. For more information, see IBLite and IBToGo Test Deployment Licensing in Appmethod.

What's new in InterBase XE7?

For details, InterBase XE7 Readme is available here

Change Views™

The Change Views™ feature uses InterBase's multigenerational architecture to capture changes in 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.

Linux 32-bit and 64-bit

The Linux kits, 32-bit and 64-bit, are available in the InterBase XE7 release. New Linux builds ( are available for InterBase XE7.

Performance Enhancements

Many performance enhancements have been implemented for this release.

  • Improved SMP Performance. In InterBase XE7 the performance of multiple reads and writes has been improved in this version.
  • Distinguished Dump. "Incremental Dump" in InterBase XE3 required the database server to read all pages from the database file, but only write the pages that had been modified to the target database dump file. With the implementation of a tracking system in XE7, only those pages that need updating since the last dump would be fetched. This provides instantaneous updates to the target. There can only be one "Distinguished Dump" per source database.
  • Improved Read Commmitted (RC) Transaction Processing for large (OIT - OAT) transaction gap.
  • Quicker transaction creation.

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 version.

There are some ODS-related differences to be aware of:

  • ODS <= 15 will continue to have 32-bit INTEGER counters as before (for both dialect 1 and dialect 3 databases)
  • ODS >= 16 will have the counters defined as "double precision" data type for dialect 1 databases
  • ODS >= 16 will have the counters defined as "NUMERIC(18,0)" data type for dialect 3 databases. As you know, by default, any new database is created as ODS 16, dialect 3.

Partial Segment Selectivity

Previous versions of InterBase maintain 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. However, there are times when it would be helpful to have information on lower levels. InterBase XE7 can now track this.

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.

ODS Changes

InterBase XE7 allows a database backup to be restored to a particular older ODS version. Although a database restore operation automatically creates a database with the latest ODS version, the developer may need to restore an older version. The reasons are:

  • To enable that the same database file is deployed to other compatible database engine versions.
  • To provide a workaround for ODS bugs that are hard to resolve.
  • To test performance-sensitive operations between the current ODS version and older ODS versions by using a single server/engine to restore multiple copies of the same database (one per ODS) and then running the queries against each one of those database files.

OpenSSL Update

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.

Services API Support for Online Dump and Journal Archive Operations

  • Online Dump and Incremental Dump. Services API now supports online dumps and incremental dumps.
  • Journal Archive Management Actions. You can now request that the Services Manager perform various operations on InterBase Journal Archives.

Features from previous releases

The following items represent a list of features from previous releases.

ODBC Driver Improvements

The old DataDirect ODBC drivers have been replaced with a new offering of InterBase ODBC driver. However, the new InterBase ODBC driver might not be installed with InterBase XE3. The new ODBC driver is available for registered users to download at

Concurent Index Creation

With InterBase XE3, when restoring a database, the indexes for a table can be created all at the same time, after the data of the table is restored. Also, re-computing index SELECTIVITY with SET STATISTICS can be concurrent. InterBase XE3 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

In InterBase XE3, a CREATE/ALTER TABLE clause is introduced to prevent space reservation and to maximize row packing. This clause is useful for tables whose rows are infrequently or never UPDATED or DELETED; whose queries are complex queries, such as aggregates and analytics that process a high percentage of rows; and where indexes are rebuilt and the database is frequently backed up and/or restored. Using this clause can lead to a 20% savings in storage space.

Physical Database Portability between Windows, MacOSX, Linux, iOS and Android devices

With InterBase XE3, you can copy database files between Windows (32-bit and 64-bit), Mac OS X, Linux, and iOS and Android devices. InterBase databases created on the development platform can be easily deployed to other supported platforms. You can create InterBase applications and InterBase databases on your development machine, and then easily deploy the applications and databases to other supported platforms, with some restrictions.

For more information on this feature, see the InterBase XE3 Update 4 Readme file, which is installed with Appmethod, typically at C:\Program Files (x86)\Embarcadero\Studio\17.0\InterBaseXE3\Doc, and is also available online at

Stronger password protection

Stronger password protection is implemented in the new InterBase XE3 databases to comply with password requirements from the Payment Card Industry - Data Security Standard (PCI-DSS). This additional functionality supports a longer effective password length resulting in stronger protection.

The password can contain from 8 characters up to 32 characters.

Larger database cache settings for 64-bit InterBase

64-bit InterBase databases have now a larger cache. The limit for the 64-bit engine is 75 million pages, as compared to 750 thousand pages for 32-bit engines.

EXECUTE STATEMENT for Stored Procedures

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 of data returned.
  • One row of data returned.
  • Variable number of rows returned.

Larger index key segment size

  • An index key can now be up to 4 bytes less than a quarter of the page size.
  • By default, InterBase databases are created with a 4Kb page size. This can be overridden up to a 16Kb page size by the database developer.
  • The 4Kb page size database would allow indexes that can accommodate 1020 bytes per key.
  • A 16Kb page size can accommodate 4092 bytes per key and so on.

ibconfig parameter: THREAD_STACK_SIZE_MB

The THREAD_STACK_SIZE_MB ibconfig parameter controls the stack size of various threads in InterBase. The value is expressed as a multiple of megabytes per thread. The valid range is from 2MB through 32MB. If it is set beyond the range, the value defaults to 2MB.

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.

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 down system performance, and users disabled the automatic database sweep function because of the impact on product operations.

See Also