InterBase XE Readme

Abstract: InterBase XE Readme

Updated: September, 2010

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

The readme has has three main sections:

    New Features

There are several new features available for this release:

    System Requirements

      
Following are the system requirements for installing and running InterBase XE 32-bit and 64-bit Native Binary applications on Windows.

System Area

Requirement

Platform

  Microsoft Windows 32-bit operating systems:
  Microsoft Windows Vista (32-bit)
  Microsoft Windows Windows 7 (32-bit)
  Microsoft Windows XP (SP3)
  Microsoft Windows 2008

  The 64-bit Edition can only be installed on:
  Microsoft Windows Vista 64
  Microsoft Windows Windows 7 (64-bit)
  Microsoft Windows 2008 R2 (64-bit)

Processor

  Microsoft Windows: Intel x86 or x86-64

JDK Compatibility

  All platforms: JDK 6

Hard disk space

44 MB for compact installation
56 MB for full installation (includes PDF help files)

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 Operations 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 InterBase’s 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.

      Migration Issues

  • Be sure to back-up all databases, including the security database, before uninstalling the previous version.
  • Back-up the ibconfig file if it has been customized.
  • This version creates new databases with ODS version 15 to resolve some issues with index management and concurrent data updates.
  • 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.

    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.

    Known Issues

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

    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 ibclient64.dll.

ibxml64_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 which support the following:

JDBC Name

InterClient Name

Exceptions/Comments

java.sql.Blob

interbase.interclient.Blob 

For all API the parameter pos is ignored and assumed to be 1, hence the complete BLOB is returned. For example in the method OutputStream setBinaryStream(long pos) the parameter pos is ignored. The same is true for all other methods which take the "pos" parameter.

public long position(byte[] pattern, long start) and public long position (java.sql.Blob blob, long start) are not supported.

java.sql.Clob

interbase.interclient.Clob 

java.io.inputStream

interbase.interclient
IBBlobInputStream

Special implementation of the java.io.inputStream for InterBase Blob (and Clobs). Use the read() methods from this stream to access the underlying data.

The following methods have been implemented in this release:

In the java.sql.PreparedStatement class

  • public void setObject (int parameterIndex, Object x) now works when parameter x is of type java.io.Inputstream.
  • All variations of the setCharacterStream () method are implemented
  • All variations of the setAsciiStream() and setBinaryStream() methods are implemented
  • all variations of method setBlob() and setClob() are implemented.
  • Method isClosed() is implemented.

In the java.sql.Result class

  • All variations of the getCharacterStream () method are implemented
  • All variations of method getBlob () and getClob() are implemented

    Stronger Password Protection

This release implements stronger password protection on InterBase 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 password protection.

Requirements/Constraints

  • This design supports server-wide user authentication as manifested by the USERS table of the security database, configured with the IBCONFIG.ADMIN_IB property parameter, which defaults to the file admin.ib.
  • The design also supports EUA databases. As with the non-EUA databases, it also has to be explicitly enabled by the owner/administrator. Please note that the USERS table in admin.ib has RDB$USERS as the counterpart in EUA databases; so the earlier references have to be compatible with EUA database references.
  • For EUA databases, the database metadata upgrade to 13.2 is automatic (for ODS 13.x databases); the database owner does not have to create the PASSWORD_DIGEST domain or modify the RDB$USERS table explicitly to set 'DES-CRYPT' for existing user accounts. The explicit actions are required only for admin.ib since the user account table on that database is a user table and not a system table.
  • A plaintext password length of 32 bytes is supported in this release, up from 8 bytes in earlier versions of InterBase.
  • An updated version of IBConsole is present in the kit. This version does not show the “Default” buttons in the database/server login screens.
  • A batch script (changepassword.bat) is now provided in the /bin directory to update the SYSDBA account password post-install.

        Getting Started

The DES-CRYPT password algorithm has been replaced with a modern cryptographic hash function that is more widely accepted by organizations in private industry and government. The design uses SHA-1, which generates a fixed length 160-bit hash.

1. Before starting, it is strongly recommended that you backup your old admin.ib from the current installation before installing the new InterBase. This allows you to restore it, if needed.

2. If you are upgrading to a newer version you may want to continue using your admin.ib from an earlier InterBase. If so, enable stronger password protection on that admin.ib by using the following SQL commands after IB has been installed on the server:

isql admin.ib -user SYSDBA -pass xxxxxxx
sql> ALTER DATABASE SET PASSWORD DIGEST 'SHA-1';
sql> CREATE DOMAIN PASSWORD_DIGEST AS VARCHAR(16) CHARACTER SET ASCII;
sql> ALTER TABLE USERS ADD PASSWORD_DIGEST PASSWORD_DIGEST;
sql> UPDATE USERS SET PASSWORD_DIGEST = 'DES-CRYPT';
sql> COMMIT;

NOTE:   If it is a completely new installation of InterBase you do not need to run the SQL commands.

The ALTER DATABASE command can only be run by the database owner or SYSDBA. This command modifies RDB$DATABASE.RDB$PASSWORD_DIGEST to the string value "SHA-1". This means that all new password hash generation for new or existing user accounts in the USERS table will use the SHA-1 hash function.

The password hash function can be reset to DES-CRYPT using the same DDL:

ALTER DATABASE SET PASSWORD DIGEST 'DES-CRYPT';

The admin database is now prepped so that new user accounts or modifying the password of existing accounts will generate SHA-1 password hashes against plaintext passwords up to an untruncated length of 32 significant bytes.

GSEC [add | modify], IBConsole, and the IB Services API support the SHA-1 password hash algorithm. Any of these tools can be used to maintain the passwords of server-wide user accounts. If an existing user account has had its password changed then that user must log in to the server using the new IB client library.

Caution: There will be backward compatibility problems if the converted admin.ib database is backed up and restored by an older IB engine after the password hashes have been converted to SHA-1. Older IB engines will not understand the different password hashes and will cause unrecoverable login errors.

    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.

    EXECUTE STATEMENT for Stored Procedures

InterBase XE now provides support for the EXECUTE STATEMENT functionality.

        User Interface/Usability

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.

No Rows or Data Returned

EXECUTE STATEMENT <statement>

<statement>         ::= a SQL statement returning no rows of data


Example:


CREATE PROCEDURE EXEC_STMT_NO_RET (proc_name varchar(20))

AS
DECLARE VARIABLE EMPNO INT;

DECLARE VARIABLE EXECSTMT;

BEGIN

   SELECT MAX(EMP_NO) from EMPLOYEE into EMPNO;

   EXECSTMT = 'EXECUTE PROCEDURE' || proc_name || '( ' || cast (EMPNO as varchar(10)) || ')';

   EXECUTE STATEMENT EXECSTMT;


END

One row of data returned

EXECUTE STATEMENT <select-statement> INTO :<var>[, :<var>..]

<select-statement>::=         SQL statement returning one or no rows of data

<var>      ::=         valid procedure variable, the ":" is optional.


Example:


CREATE PROCEDURE EXEC_STMT_SINGLETON (TABLE_NAME VARCHAR(50))

AS

DECLARE VARIABLE MAXEMPNO


BEGIN

EXECUTE STATEMENT 'SELECT MAX(EMP_NO) FROM' || TABLE_NAME INTO :MAXEMPNO;


SUSPEND

END

Any number of data rows returned

FOR EXECUTE STATEMENT <select-statement> INTO :<var> [, :<var> ..]

DO <compound-statement>

<select-statement>::=         SQL statement returning one or no rows of data


<var>            ::= valid procedure variable, the ":" is optional.


Example:


CREATE PROCEDURE EXEC_STMT_ANY (TABLE_NAME VARCHAR(50), INT_FIELD INTEGER)

RETURNS

(INT_RETVAR INTEGER)

AS
DECLARE VARIABLE IFIELD INTEGER

BEGIN

FOR EXECUTE STATEMENT

'SELECT' || INT_FIELD || 'FROM' || TABLE_NAME INTO :IFIELD

   DO


      IF (IFIELD = 0) THEN

         INT_RETVAR=0;

      ELSE

         INT_RETVAR = INT_RETVAR+IFIELD;

   SUSPEND;


END


New Error Messages Added
The following table displays the new error messages added:

SQL Code

Error Number

Error Message

-204

335544850

EXECUTE STATEMENT could not prepare statement : <string>

-204

335544851

SQL statement invalid as it returns no records. SQL : <string>

-204

335544852

Parameter mis-match for the statement : <string>

-204

335544853

Could not execute statement : <string>

-204

335544854

EXECUTE STATEMENT fetch error

-204

335544855

EXECUTE STATEMENT in this form must return single row, not multiple rows.

-204

335544857

Sql statement not allowed in EXECUTE STATEMENT : <string>

Requirements/Constraints
There are constraints and peculiarities with using EXECUTE STATEMENTS:

  • The Statement is "prepared" every time it is executed which will affect the performance of the Stored Procedure.
  • No checks are done on the statement when the procedure is created; dependency checks are not done when the procedure is created, also the checks for existence of tables or column names referred to in the execute statement are not performed. All these checks will be done at execute time and will result in errors if an error condition occurs.
  • The feature can be used to perform DDL operations.
  • All statements are executed based on the privileges of the user executing the Stored Procedure.
  • SQL statements, "COMMIT", "COMMIT RETAIN", "ROLLBACK", "ROLLBACK RETAIN" and “CREATE DATABASE” are not supported with EXECUTE STATEMENT. These statements return the error code isc_exec_stmt_disallow.

Migration Issues
This feature is only available in InterBase XE and is not backward compatible.

    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.

InterBase databases periodically need to be swept. Otherwise the main memory allocated for each transaction's bitmap increases to the point where performance becomes unacceptable. The longer sweep takes to complete, the more main memory requirements increase for starting new transactions.

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. In cases where large databases have large archival or infrequently modified tables, a database sweep will have minimal impact on the performance of running transactional operations.

User Interface/Usability

There is no new user interface or action required by the user to enable this functionality. Manual sweep initiated by the GFIX command line tool, IBConsole, or programmatically, as well as automatic sweep configuration on a database, use the fast sweep mechanism.

Requirements and Constraints

  • Only ODS 15 and later databases can perform fast database sweeps.
  • The effectiveness of a fast sweep is directly proportional to the fraction of database data pages that have been modified since the last sweep. If every data page has been changed, fast sweep is no faster than the former methodology. If very few pages are changed, fast sweep is nearly instantaneous. If half the pages were updated, fast sweep is then half the former sweep time.

Migration Issues

A database needs to be created or backed up and then restored to ODS15.

    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.

In InterBase XE, ODS 15 databases introduce table-specific blocking factors that optimize how many rows can be stored on a data page and minimizes the row number assigned to a row. In addition, the engine minimizes the size of a number of run-time data structures. This is especially important as tables storing a very large number of rows and accessed by a large number of database connections can cause excessive memory consumption.

User Benefit

Databases with tables containing a large number of rows or is expected to grow to a large number of rows benefit from table-specific blocking factors. It allows those tables to store more rows in the same record number space, while using less memory for run-time retrieval data structures.

User Interface/Usability

There is no user interface or any action required by the user to enable this functionality. The table-specific blocking factors are set automatically after a database restore.

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.

    If a table does not have a table- specific blocking factor, this system column will query as NULL. Each time a database restore is performed, these blocking factors are retuned for the actual row data restored. Therefore, it is possible that these values will change over time as the database is modified and is backed up and restored.

Requirements and Constraints

  • Only ODS 15 and later databases have table-specific blocking factors.
  • Not all tables are capable of having a table-specific blocking factor.
  • If a table has Blob columns and no indexes defined, then that table uses the database-wide blocking factor as its Blob blocking factor.
  • System tables, views, external tables, and temporary tables do not use table-specific blocking factors.
  • A table-specific blocking factor cannot be modified in-place once it has been set by database restore.

Migration Issues

If an ODS 15 database has been created and loaded with data, taking a backup and restoring will set the table-specific blocking factors.

    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.

Because InterBase XE supports UTF8 and multiple other multi-byte character sets, the limit has been increased. For example, a single-column key using 4-byte UTF8 character would calculate to 1020/4 = 254 UTF8 characters with a 4KB page size.

ODS 15 databases automatically allow index definitions where the underlying key size is now a factor of the database page size.

  • An index key can now be up to 4 bytes less than 1/4th the page size.
  • By default, InterBase databases are created with a 4KB page size. This can be overridden up to 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.

Requirements and Constraints

Databases created with engines enabled with this functionality cannot be moved back to older versions of InterBase.

Also a database restore to a smaller page size will fail if indexes with a large key size cannot fit within limit specified above.

No user interface or actions are required by the user to enable this functionality. Each time a database restore is performed, the indices are recreated.

Migration Issues

Only ODS 15 and later databases have support for larger index keys. If you want to use this facility, restore your database to ODS 15. Other indices that use a smaller size than 252 bytes continue to have the same on-disk storage without any penalty.

    Installation Instructions

    Windows

Run the executable ib_install.exe (for 32-bit) and ib64_install.exe (for 64-bit), and then choose one of the following:

         Server and Client
After you choose an install location; this will replace the binaries in the existing InterBase installation. Make sure to stop the InterBase Server before installing.

         Client only
This will install all of InterBase command line tools as well as the IBConsole.exe and the InterBase JDBC Driver.

         Extract Files only
This will extract the files in a single directory to be installed at a later time by the user.

    Resolved Defects

The following are resolved defects for InterBase XE. Additional bug fixes are listed in the Release Notes.pdf.

Internal Defect #

External Defect # (QC)

Description

InterBase XE Update: Sept-2010, Windows

INTB-772

37729 

RAID 279996: An error occurs when trying to create or change a password that begins with a question mark.

INTB-675

NullPointerException (instead of an sql error message) thrown when losing the network connection and trying to run a query.

INTB-671

79851

RAID 273825: getMetaData(). getPrecision() returning wrong value.

INTB-670

48152 

RAID 251980: JOIN of 2 stored procedures give "arithmetic exception" error.

INTB-669

81786 

RAID 278498: Increase request impure space size from the current 256K limit to a larger value.

INTB-659

62255 

RAID 260612: QLI crashes as soon as "SHOW FUNCTIONS" command is given.

INTB-654

50375 

RAID 260671: OnlineDump with multiple files.

INTB-653

55499 

RAID 260629: Inserting from VARCHAR field in one table to BLOB in another table inserts additional junk in the target table.

INTB-650

no T privilege with grant option on table/view TableName.

INTB-597

2311 

77931 

RAID 146832: ORDER BY using an index on a DATE column gives wrong order.

INTB-547

365

RAID 279571: Non-SYSDBA db owner SELECT fails even with GRANTED rights on the table.

INTB-538

RAID 273806: Optimizer regression in JOINS since InterBase 2007 Service Pack changes.

INTB-523

77315 

COALESCE and aggregate functions.

INTB-493

IndexOutOfBoundsException thrown when calling PreparedStatement executeBatch().

INTB-402

Unexpected behavior of database linger.

INTB-355

Parameterized query params order in SQLDA/SQLVAR not the same as visual order of question marks.

INTB-319

Possible Optimizer regression with fixes in the InterBase 2007 SP3.

INTB-267

Create Database from JDBC application does not respect character set requested.

INTB-264

RAID 272543: RDB$FILTERS does not have a unique index on filter name leading to duplicate filters.

INTB-253

RAID 270024: InterBase cannot use 2GB+ database cache even if Large Address Aware flag was set.

INTB-236

RAID 271600: "Request Synchronization error" reported on 8-core system with heavy activity.

INTB-235

RAID 270959: Accessing ODS 10.x database leads to server crash.

INTB-151

RAID 269627: Unique superkey license files belonging to the same "addon" package are all not loaded by the licensing engine.

3424 

When you open the Properties form for a table or procedure and select the Permissions tab, the column headers rarely appear. If you select another tab and then come back to the Permissions tab, the column headers will be there.

4989 

I add a UDF with a param of type DATE, the UDF is created, but when I try to show the property of the UDF, IBConsole shows the Message: 'unsupported Datatype' The UDF cannot be dropped in IBConsole. The UDF works fine in ISQL, and can be dropped in ISQL This happend also with TIMESTAMP and TIME.

6714 

Create a table in an InterBase database and fill it with data. Then export the table to a Comma Seperated Value file using IBConsole and the export works fine. Check the exported file using MS Excel and it appears to be fine. Then empty the table. But when I try and import data from the .csv file that I exported the table to, I get the following message: Access Violation at address xxxxxxxx in module 'IBConsole.exe' Read of address 000000000. This is the case with any .CSV file that I try to import data from.

63968 

Database Restore Fails: "No current record for fetch operation".

68637 

DB Restore can't be done on IBconsole.

74598 

The name of the directory that contains the IBConsole.xml file is misspelled.

75028 

When trying to change the data type for a domain, an error appears.

76342 

Metadata names longer than 22 characters are truncated.

76616 

When trying to connect as a different user from the InteractiveSQL, the connection window opens but it doesn't connect as a different user and an error message appears.

76622 

When disconnecting from a database using the InteractiveSQL then trying to reconnect to the database, an error message appears.

79418 

When using the IBConsole for creating a journal, a journal archive, and to archive the database, the Archive Database option returns an error message (this fails for all types of connections.

79420 

When creating a journal, a journal archive and a database archive for a database, using Interactive SQL, the 'Archive Database' option doesn't refresh after disconnecting from the database and then reconnecting to the database.

80580 

IBConsole Open Table, Error.

81324 

Interactive SQL in IBConsole: truncated RDB$ names.

82503 

When creating a database then a generator using Interactive SQL, an error appears. You then have to use Task Manager to terminate the process.

82706 

When using a field that can be null in the Primary Key constraint definition, then removing it from there, an error appears.

82776 

When creating an external function with an entry point larger than 67 chars, an unclear error message appears.

82829 

When altering a view to add a second column, the table name is added incorrectly.

82859 

When altering a trigger by adding a local variable with the same name as another variable, then changing it back to the way it was, the changes cannot be made.

82904 

When choosing a value larger than 10 digits for the input type of a blob filter, an error message appears and the Blob Filter Editor window closes.

83369 

When choosing the 'New Connection' option from the Tools menu to connect to a different database then what is running a query, the IBConsole shuts down.

83370 

When trying to see the License Manager from the Tools menu of the IBConsole, an error message appears.

83820 

When trying to create a blob filter with a duplicate name, the Cancel button doesn’t work.

83881 

When creating a database with a name that already exists, the Cancel button doesn't work.

84783 

Text cannot be copied inside the name area of procedures and triggers, even if the focus is inside the name area; the text is added inside the body area.

84934 

When using the IBConsole to encrypt a database, then deleting the encryption from the system table of encryptions and changing the value of EUA, an AV error message appears.

85054 

When performing a database sweep using the IBConsole, the text of the confirmation message isn't correctly aligned.

85104 

For InterBase XE, License Manager from the Tools menu of the IBConsole doesn't open, and an AV error message is shown instead.

85514 

When using the IBConsole to run a couple of queries without committing, disconnecting the database creates an AV error message.

86294 

When connecting to a database as sysdso using IBConsole and trying to view data from a table that the user has select permission on, an error message appears.

86737 

EUA_USER and EUA_PASSWORD options must be added to Database Restore.

86739 

IBConsole should be using the new camel-cased and case-sensitive OTW parameter names (for IB OpenSSL clients).

86749 

SELECT COUNT(*) and SELECT AVG should return a SQL_INT64 type. If there is any code in IBConsole that uses 32-bit integer type local variable to receive this value, it should be changed to a 64-bit integer type.

86924 

IBConsole requires full path to backup file.

Documentation Updates: Sept-2010, Windows

INTB-773

Language Reference Guide: Chapter 3: WHEN...DO. Updated GDSCODE errcode. Also updated Table 5.5 with correct GDSCODE usage.

INTB-769

Operation Guide: Appendix B: Table B.1 InterBase Specifications. Updated maximum size of external table file.

INTB-744

Developer’s Guide: Chapter 14 - Applying Cached Updates with a Dataset Component Method. Replaced old procedure example with a new IBTransaction1 example.

INTB-739

Language Reference Guide: Chapter 6 - Table 6.34. Added table RDB$USERS.

INTB-736

Embedded SQL Guide: Chapter 13- Topic: SQL Datatype Macro Constants. Updated information on sqlsubtype settings.

INTB-735

Developer’s Guide: Chapter 6 - Table 6.7. Updated integer information.

INTB-734

API Guide: Chapter 3 - Environmental Variables Used by Interbase. Added two new variables: IB_PROTOCOL and INTERBASE.

INTB-733

Language Reference Guide: Chapter 6 - Topic: RDB$DATABASE. Added missing fields to table 6.1.

INTB-731

Language Reference Guide: Chapter 2 - ALTER TABLE, ALTER DATABASE, CREATE ENCRYPTION, CREATE TABLE. Added note to each topic: For detailed information on encryption and decryption, see the topics “Encrypting Data”(page 13-9) and “Decrypting Data” (page 13-11) in the Data Definition Guide.

INTB-728

22384 

Operation Guide: Chapter 4 - Topic Using ibmgr to Start and Stop the Server. Instructions for starting InterBase under the interbase user account have been updated.

INTB-726

API Guide: Chapter 5. Added new topic: Use of Commit/Rollback with Multidatabase Transaction.

INTB-725

Developers Guide: Chapter 6: Explanation of dsc_flags. Added DSC-systems information to Table 6.5.

INTB-723

Updated installation information. Desktop and ToGo setups are only available for Windows O.S.

INTB-722

Embedded SQL Guide: Chapter 6 - Topic Using Comparison Operators in Expressions. Added Table 6.4 listing comparison operators in expressions.

INTB-720

Developer’s Guide: Accessing InterClient extensions to the JDBC. Added a suitable example for how to cast the JDBC driver object.

INTB-719

isc_dpb_archive_journals and isc_dpb_archive_database not listed in documentation.

INTB-718

Need the new Keywords introduced in InterBase 7.5 and above.

RAID Issue 112111. Operation Guide: Chapter 11 - Topic Edit. On Windows platforms, EDIT calls the text editor specified by the EDITOR environment variable. If this environment variable is not defined, then EDIT uses the Microsoft Notepad editor.

RAID Issue 251988.Operation Guide: Chapter 9 - Journaling Tips and Best Practices. Updated CHECKPOINT LENGTH information.

RAID Issue 218084. Language Reference Guide: Chapter 6. TMP$STATE field not documented in description for TMP$DATABASE.

RAID Issue 263959. Data Definition Guide: Chapter 13. gbak examples on page 13-17 have invalid syntax.

23253 

RAID Issue 238178. Language Reference Guide. Chapter 2. The SQL example for the CASE statement won't work because it is truncated.

RAID Issue 194123. Language Reference Guide. Chapter 2. Yearday for extract is listed as returning values 1-366. It should say 0-365. Hour and minute are similarly wrong. They are listed as going from 1-23 and 1-59. They should list 0-23 and 0-59.

RAID Issue 256520. API Guide. Chapter 15.
Signature for "isc_dsql_batch_execute()" incorrectly includes "isc_db_handle *db_handle".
Signature for "isc_dsql_batch_execute()" incorrectly includes declaration using "ULONT
Signature for "isc_dsql_batch_execute()" incorrectly includes declaration "int dialect" when actually the argument is implemented as an "unsigned short" in ibase.h

RAID Issue 240455. API Guide. Chapter 15. isc_string_too_large error is generated when SQL is greater than 64K. 64K should be changed to 2 GB.

RAID Issue 218053. Language Reference Guide. Chapter 2. ALTER DATABASE describes it as "Adds secondary files to the current database." This does not consider other new actions that can now be taken. Changed to "Changes the characteristics of a database".

RAID Issue 120748. API Guide. Chapter 3. Remove ISC_DATABASE from Table 3.1. It is not implemented any longer.

RAID Issue 106998.Operations Guide. Chapter 7. Error “OBJECT database_name IS IN USE” is incorrect.

5742 

RAID Issue 192587. Data Definition Guide. Chapter 8. Documentation says you can’t use UNION when creating a VIEW in DSQL. This hasn’t been true since IB 5.6.

84435 

RAID Issue 276427. Data Definition Guide. Chapter 14. UTF_8 Maximum character size is changed from 1 byte to VARCHAR(63).

Copyright © 2010 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.