InterBase XE Readme

Updated: October, 2010

 

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

The readme has five main sections:

System Requirements


For system requirements to install and run InterBase XE, please refer to the
Installation, Registration, and Licensing Information document.

New Features

There are several new features available for this release:

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.

    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 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
Please note the following when using EXECUTE STATEMENT:

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

    Migration Issues for InterBase XE

    Known Issues

    UNICODE Character Sets

    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.

    InterBase XE supports no defined UNICODE collations in this release. The default collation is binary sort order for UNICODE.

    Windows Error Reporting

    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.

    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: October-2010, Bugs Fixed After 10.0.0.247 Version

    INTB-890

     

    Sysdba has no metadata rights to databases created with InterBase 6.0 or earlier which have not had readmeta.sql applied. Raid 280556 was this same problem.

    INTB-860

     

    InterBase crashes with a specific database when a foreign key is added.

    INTB-853

     

    SELECT count() returns BIGINT - compatibility issue with existing driver/applications.

    INTB-839

    88501 

    Sweep while inserts are happening on a database with journaling causes the server to hang and a corrupted database.

    INTB-824

     

    Investigate InterBase XE 64-bit server crash when querying for statistics using InterBase service manager.

    INTB-822

     

    RAID 280541: Server crash on ODS 13.1 database with complicated metadata script.

    INTB-818

    88241 

    Internal gds software consistency check (can't find shared latch (300)) error with multiple connections.

    INTB-791

     

    When JAVA application connect/disconnect/operate to OTW port, IBSever claims "SSL_READ: SSL_ERROR_ZERO_RETURN" most of the times. This is a harmless issue, and does not cause any functionality issues.

    INTB-756

     

    IBConsole: crashes when pressing the F5 key.

    INTB-661

    62444 

    RAID 260610: Examples are built on UNIX but do not run successfully.

    INTB-673

    57839 

    RAID 279453: LEFT JOIN operation returns wrong result.

    INTB-546

    74055 

    Parameter's incorrect descriptor lengths showing up inside UDFs.

    InterBase XE 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-513

     

    RAID 191536: The java.sql.DatabaseMetaData.getColumns() method returns incorrect data type for arrays and blobs.

    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

    5253 

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

    INTB-719

     

    RAID Issue 259389: isc_dpb_archive_journals and isc_dpb_archive_database not listed in documentation.

    INTB-718

     

    RAID Issue: 217986: Operation Guide: Appendix A - Topic: New InterBase Keywords. Need the new Keywords introduced in InterBase 7.5 and above.

    INTB-515

     

    The Operations Guide PDF (page 5-10 to 5-12) details the various OTW parameters that can be used by InterBase native and JDBC applications. With InterBase XE, the older named parameters can be removed from the table and ONLY the new ones mentioned. Note, the new OTW parameters are case-sensitive and hence the documentation in the above pages need to be cleaned up with exact camel-casing of OTW parameters.

    INTB-43

     

    Small omission in Language Reference Guide. Field rdb$depended_on_type and rdb$dependent_type do not list types 11 and 14. 14 is External Functions. 11 is a generator.

     

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