Index
  Home
  Manuals
  Samples

solidDB(TM) 6.0
Development Kit for Linux glibc2

Version 06.00.1046
22 September 2008
SDK Build 0038

Release Notes for solidDB 6.0

This product package comprises of the Release of solidDB 6.0. It includes all available internal table engines and all options. The included evaluation license enables all capabilities of the product, with the database age limitation of 60 days, counted from the day a database is created.

This point release supersedes the original product packages released on May 16, 2007, with version number 06.00.1011. The related Point Release Notes are in here.


RELEASE NOTES CONTENTS

1. New Features in solidDB 6.0 2. solidDB 6.0 Development Kit System Requirements
3. Note for Evaluators
4. Upgrading to solidDB 6.0 5. Product Package Contents 6. solidDB 6.0 Development Kit Installation
7. How to Continue with the Development Kit
8. Available Interfaces for Client Application Development 9. Solid Java Accelerator information
10. Known Limitations, Problems, And Workarounds in Version 6.0
11. Additions And Corrections to Documents
12. Operating-System Specific Information for solidDB for Linux glibc2
13. How to Get More Information on the solidDB 6.0 Development Kit
14. SolidConsole Availability
15. Uninstalling solidDB 6.0

1. New Features in solidDB 6.0

1.1 Key Features

Version 6.0 focuses on the following areas:

  • Multiprocessor (MP) scalability of the In-memory Engine
  • New Transparent Connectivity for HotStandby
  • Database encryption
  • Improved SQL support
  • Improved Replica refresh in SmartFlow

1.2 Version Compatibility

solidDB 6.0 is backwards compatible with the previous version in terms of external interfaces. Note, however, that 6.0 is not database-compatible with previous versions. This means that the command line option "-x convert" or "-x autoconvert" must be applied when migrating to a new version with an old database.

If you are intending to use the CarrierGrade Option (HSB), note that this version is HSB-compatible with the previous version, meaning that the normal HSB cold and hot migration scenarios can be applied (see solidDB High Availability User Guide). If you are migrating an HSB system from an earlier version than 4.1, see the HotStandby Migration section on the Welcome page (or the 'hsb_migration.txt' file).

ODBC and JDBC drivers preceding version 6.0 can be used with the server version 6.0. However, the new versions (6.0) of the ODBC and JDBC drivers cannot be used with older servers. Thus, the servers must be upgraded before the clients. In any case, the client drivers must be upgraded if new client functionality is needed.

1.3 Improvements to Multiprocessor Scalability of the In-memory Engine

Solid's In-memory Engine (IME) has been improved to take advantage of modern multiprocessor and multicore SMP platforms. With the total number of processor cores exceeding two, significant increase in performance over version 4.5 can be observed. The performance gain for certain applications may exceed 100%, with total number of cores being over eight.

1.4 Transparent Connectivity

Transparent Connectivity (TC) replaces Carrier-Grade Connectivity of version 4.5. Transparent Connectivity incorporates both transparent failover and load balancing. The new load balancing feature allows to distribute the read-only load over the Primary and Secondary.  A new connect info string, TC Info, is  introduced, allowing to specify the failover and load balancing options.

Transparent Failover

The speed of failover has been improved and a new transparent failover level SESSION has been added. With the SESSION level, most of the session state is preserved over failover, including prepared statements and session attributes set by the user.

 The following is an example of a new TC Info string for SESSION-level failure transparency (in C):

char tcinfo[] = "
      TF_LEVEL=SESSION
      SERVERS=
        tcp srv1.dom.acme.com 1315,
        tcp srv2.dom.acme.com 1316";

Load Balancing

New in solidDB 6.0 is a capability to distribute the read-only load between the Primary and Secondary. This happens automatically, when the preferred access mode READ_MOSTLY is specified, in the TC Info:

char tcinfo[] = "
      TF_LEVEL=CONNECTION
      PREFERRED_ACCESS=READ_MOSTLY
      SERVERS=
        tcp srv1.dom.acme.com 1315,
        tcp srv2.dom.acme.com 1316";

NOTE:  The default value of PREFERRED_ACCESS is WRITE_MOSTLY corresponding to the HSB operation whereby all the load is concentrated in the Primary.

For more about TC, see Chapter 4, Using HotStandby with Applications -> Using the Transparent Connectivity, in the solidDB High Availability User Guide. .

1.5 Database Encryption

The database file can be encrypted with a symmetric key. This measure protects the contents of a database against a file theft, and an effort to use the file by an unauthorized user. Additionally, the encryption key stored in the database file can be protected with a password and the public key protection method. For more information on the database encryption, see Chapter 2, Administering solidDB -> Encrypting a Database, in the solidDB Administrator Guide

1.6 Improvements in the SQL Support

Hierarchical Queries with START WITH ... CONNECT BY

A non-standard SQL extension supporting hierarchical queries has been added. The syntax is supported by several products. A hierarchical structure is represented by a table that  has a foreign key referencing the same table, for example, in this table an employee hierarchy is represented:

create table employees(
   employee_id int primary key,
   last_name char(30),
   manager_id  int references employees);


The following query returns all employees reporting directly or indirectly to a manager having last name Cambrault:

SELECT last_name, employee_id, manager_id, LEVEL
      FROM employees
      START WITH last_name = 'Cambrault'
      CONNECT BY PRIOR employee_id = manager_id
      ORDER SIBLINGS BY last_name;
 
For exact syntax, see  Appendix B, Solid SQL Syntax, in solidDB SQL Guide

Expression lists in the set test (IN condition)

The SQL set test (called also the IN predicate) allows now for expression lists on the left side of the IN operator.

Example:

SELECT * FROM employees
  WHERE (first_name, last_name, email) IN
  (('Guy', 'Himuro', 'ghimuro@acme.com'),
   ('Karen', 'Colmenares', 'kclmena@acme.com'));

Multirow INSERT

Now, it is possible to perform batch inserts at the SQL level. For example, to insert four rows in one statement, use the following:

INSERT INTO employees VALUES
(10021, 'Peter', 'Humlaut'),
(10543, 'John', 'Wilson'),
(10556, 'Bunba', 'Olo'),
(10666, 'Pikku', 'Joulu');

Output Parameters in Stored Procedures

In addition to returning procedure results in a result set defined with the (non-standard) RETURNS clause, standard-compliant output parameters can be declared. A parameter mode describing the input-output characteristic is introduced, and it can be one of the following: IN, INOUT and OUT. IN is the default value. For example:

CREATE PROCEDURE enter_participants (OUT no_of_persons integer, adults integer, children integer, pets integer)
BEGIN ... END

For more about stored procedures, see Chapter 3, Stored Procedures, Events, Triggers, and Sequences -> Stored Procedures, in solidDB SQL Guide.

1.7 Other Enhancements

Light-weight Replica Refresh in SmartFlow

A new, "storageless" SmartFlow refresh interface is introduced. Each command blocks until it is successfully executed. The associated data is sent in a streaming way, conserving memory. No messages are written to disk, saving the I/O bandwidth. The syntax used is the following:

REFRESH <publication> [<parameters>] [FULL] [OPTIMISTIC|PESSIMISTIC]
[TIMEOUT {DEFAULT | FOREVER | <timeout_ms>} ]

2. solidDB 6.0 Development Kit System Requirements

solidDB Development Kit requires:

  • about 48.0 MB of disk space, including the space for documentation. (The number varies considerably, depending upon the platform.)
  • at least 40 MB of free central memory in the default configuration.
  • if you create main-memory tables, then you will need additional memory to store those tables.
  • adequate disk space for the database(s). An empty database usually requires about 4 megabytes of disk space.

3. Note for Evaluators

The evaluation license limits the length of time that you can use the product. To learn how to get a more extensive evaluation license or how to purchase a full license, please see the OrderMe section on the Welcome page.

4. Upgrading to solidDB 6.0

The solidDB 6.0 product family  is almost 100% backwards compatible with previous Solid database engines, including BoostEngine 4.0 - 4.5, FlowEngine 3.x, and EmbeddedEngine 3.5x. This section describes upgrade issues and compatibility issues in more detail.

Note that these descriptions generally assume that you are upgrading from version 4.5. For example, in the section that describes new configuration parameters, we describe only those parameters that are new since version 4.5. If you are upgrading from a version other than 4.5 see section Migrating from Earlier Versions.

4.1 solidDB  Product Family

Configuration Parameters

The following configuration parameters are new or changed in version 6.0. These parameters are documented in Appendix A of the solidDB Administrator Guide.

New Parameters (default value shown)

[Cluster]  ; new section name
ReadMostlyLoadPercentAtPrimary=50  ; Percentage of read load
                                   ;directed to the Primary

[Com]
;Parameters for controlling the value of the TCP socket linger option:

SocketLinger=Yes
SocketLingerTime=0 ;system default
;Parameters for controlling the TPC socket option SO_KEEPALIVE:
TcpKeepAlive=No
TcpKeepAliveIdleTim=7200
TcpKeepAliveProbeCoun=9
TcpKeepAliveProbeInterval=75

[General]
DataDictionaryErrorMaxWait=0 ;max time to re-execute statement
LockHashSize=1000 ;lock hash table size for pessimistic D-tables
MaxMergeParts=100 ;max number of merge division parts
MaxMergeTasks=5 ;max number of concurrent merge tasks
ReadLevelMaxTime=10 ;read level advance time, in read committed
StartupForceMerge=No ;forcing merge at startup
TransactionEarlyValidate=Yes ;enabling early validation in optimistic
VersionedPessimisticReadCommitted=Yes ;enabling non-blocking reads
VersionedPessimisticRepeatableRead=Yes ;
enabling non-blocking reads

[Logging]
LogDir=.  ;directory for log files

[Srv]
AdaptiveRowsPerMessage=Yes ;enabling dynamic control of rows per message
MemorySizeReportInterval=0 ;
enabling reporting on the allocated memory
DatabaseSizeReportInterval=0 ;enabling reporting on db size growth
PessimisticTableUseNFetch=No ;enabling rows per massage for pessimistic
StatementMemoryTraceLimit=0 ;trace statements overallocating memory

[Synchronizer]
MasterStatementCache=10 ;number of statements cached at Master,
                        ;per population
RefreshReadLevelRows=1000 ;refresh block size, in rows, in Master
ReplicaRefreshLoad=100 ;
refresh load in Replica, per cent

New Command Line Options

-E (encrypt a database)
-x decrypt (decrypt a database)
-S <startup password> (encryption password)
-x keypwdfile:<filename> (encryption password file)

Examples:

Encrypting a database, with a password:
solid -E -S fhkasfh66

Starting an encrypted database with a password supplied in a file:
solid -x keypwdfile:password_file.txt

Changing the password
solid -E -S fhkasfh66 -S huha222

SQL Statements

Below is a list of new and changed SQL commands.

CREATE PROCEDURE

Standard compliant clauses have been added to indicate input and output parameters. Example:

CREATE PROCEDURE enter_participants (OUT no_of_persons integer,
adults integer, children integer, pets integer)
BEGIN ... END

SELECT

New syntax have been added to support hierarchical queries. Example:

SELECT last_name, employee_id, manager_id, LEVEL
      FROM employees
      START WITH last_name = 'Cambrault'
      CONNECT BY PRIOR employee_id = manager_id;


The set test predicate has been extended to support expression lists:

SELECT * FROM employees
  WHERE (first_name, last_name, email) IN
  (('Guy', 'Himuro', 'ghimuro@acme.com'),
   ('Karen', 'Colmenares', 'kclmena@acme.com'));


New Messages and Error Codes

Errors returned to the client

10098, Database, Error, Incrementing sequence <sequence name>  failed
10099, Database, Fatal Error, Encryption password has not been given for encrypted database.
10100, Database, Fatal Error, Incorrect password has been given for encrypted database.
10101, Database, Fatal Error, Unknown encryption algorithm.
13198, Table, Error, Commit and rollback are not allowed inside function
13200, Table, Error, Update failed, used isolation level requires FOR UPDATE
13201, Table, Error, Delete failed, used isolation level requires FOR UPDATE
13202, Table, Error, Cluster connection does not support isolation levels higher than READ COMMITED
13203, Table, Error, License does not allow creating D-tables
13204, Table, Error, SET WRITE command makes sense only for TC connection 
23029, Procedure, Error, Commit and rollback are not allowed in functions
23030, Procedure, Error, Function <function name> not found

Server-side messages

30154, SRV, Message, Statement <statement>  has allocated <n>bytes of memory
30217,  DBE,  Message,  Error when converting procedures, procedure <procedure name>
30218, DBE, Message,Quick merge stopped
30541, HSB, Message, Secondary is not properly syncronized with primary due to a log file corruption.
30792, HSB, Message, Both servers are Secondary.

License Files

License files must be upgraded to include validation for version 6.0.

4.2 Moving Database Files Among Solid Products

A database file created with one member of the solidDB 6.0 product family can be used interchangeably with any other member of that family.

The database file structure has changed since previous versions. Version 6.0 server cannot open a database file created with an older version unless you specify one of the following command line parameters:

  • -x convert (to convert the database file to the new structure and then shut down the server), or
  • -x autoconvert (to convert the database file and continue running)

Once the database file is converted to a new structure, older versions of Solid products cannot use it.

When HotStandby (CarrierGrade Option) is in use and there is a need to perform the so-called "hot migration" (rolling upgrade), no special HSB migration parameters are needed if upgrading from versions 4.1, 4.2 or 4.5.

When upgrading from Solid version 3.1, 3.7 or 4.0, the following parameter must be used with the server meant to become a new Secondary:

  • -x migratehsbg2 (to accept the replication protocol of the older version; note that -x autoconvert is implicitly invoked too)

Note that the change of the database file structure or the change of  the version of the engine product does not affect client programs. Previously built client programs can be used to communicate with solidDB 6.0.

4.3 Upgrade Tips

Solid continues its policy of supporting upgrades from at least two previous Solid product versions. In this case, you can upgrade to solidDB 6.0 from Database Engine 4.5, and 4.2. You can use your existing database as long as you specify either -xconvert or -xautoconvert on the command line.

If you are using the Solid CarrierGrade Option (HotStandby), then please see the section "HotStandby Migration" on the Welcome page for different migration scenarios depending on the version you are migrating from. These release notes also contain information helping you to upgrade from older versions.

If you are upgrading from a version prior to FlowEngine 3.1, such as FlowEngine 3.0, then please contact Solid technical support for assistance in upgrading.

5. Product Package Contents

5.1 Installation Directory Structure

solidDB Development Kit for Linux glibc2 is distributed as a self extracting shell script that will install itself when you run it.

Below is a list of the files and directories that are included in the package and installed in the root of the installation directory.

soliddb-6.0/
    welcome.html .............: home page of the package documentation
    copy_licenses.sh ........: This is a handy script for copying a
                              : solid license file to all the sample
                              : directories.  Note that the extension can
                              : vary depending upon the platform.
    README.TXT ...............: readme file
    solid.lic ................: evaluation license file


    standalone_eval_server_start: script to start the server (unix only).
    standalone_eval_server_stop.: script to stop the server (unix only).

    bin/ .....................: Solid executables.
    doc_html/ ................: HTML-based package documentation
    doc_text/ ................: ASCII-based package documentation
    eval_kit/ ................:
        standalone/ ..........: Sample usage of solidDB
    include/ .................: C headers for SQL API and light client
    jdbc/ ....................: JDBC Driver Java package
    lib/ .....................: C Libraries for SQL API and light client
    manuals/ .................: Manuals - product manuals in different formats
    odbc/ ....................: standalone ODBC driver installer
    samples/..................: These subdirectories contain sample C and
                              : Java programs and sql scripts for using
                              : and programming solidDB
                              : and its options.
        aclib/ ...............: AcceleratorLib.
        aclib_control_api/ ...: AcceleratorLib demo on how to use/suspend
                              : tasks using the AcceleratorLib functions
        aclib_diskless/.......: Diskless AcceleratorLib sample
        aclib_java/...........: Sample for use with the Solid Java
                              : Accelerator.
        aclib_smartflow/......: AcceleratorLib SmartFlow sample
        cluster/ .............: Load-Balancing Cluster example
        configuration/ .......: Solid.ini file examples
        hsb/..................: HotStandby sample
            application_c/ ...: C-language HotStandby example
            application_java/ : Java language HotStandby example
            setup/ ...........: HotStandby example startup scripts
            watchdog/ ........: Sample program to serve as a HotStandby
                              : "watchdog" program (detects and responds to
                              : server failures).
        importexport/ ........: Data import and export examples
            soldd/ ...........: Show info in Data Dictionary
            solexp/ ..........: export data
            solload/ .........: import ("load") data
        jboss
/ ...............: JBoss sample
        jdbc/ ................: jdbc samples
        lightclient/ .........: Light Client API sample programs
                              : (Not supported on all platforms)
        odbc/ ................: client C language samples
        smartflow/ ...........: Samples that use Solid SmartFlow
            eval_setup/ ......: SQL scripts for setting up SmartFlow
            intelligent_transaction/: SQL scripts for Intelligent
                              : Transaction examples.
            sync_pull_notify/ : Example that uses Sync Pull Notify
        solid_api/ ...........: solid_api C language samples
        sql/ .................: sql examples.
        tf
/ ..................: transparent failover sample
        weblogic
/ ............: WebLogic sample
        websphere
/ ...........: WebSphere sample

5.2 Library File Names

Overview

This section gives more information about the names of solidDB library files.

Solid provides many files as linkable libraries. Most of these library files fall into one of the following categories:

  • ODBC Drivers
  • Solid AcceleratorLib files
  • Communication library files
  • SA (Server API) library file

Not all platforms have every file. For example, some communication library files are available on Windows only.

Some library files are static — that is, they are linked to your client application's executable program when you do a compile-and-link operation. Other library files are dynamic — these files are stored separately from your executable and are loaded into memory when your program executes. For many libraries, Solid provides both a static and a dynamic version on some or all platforms.

Library files are generally found in one of two directories:

  • bin/
  • lib/

As a rule, the bin\ directory contains dynamic libraries (in addition to executables), while the lib\ directory contains static libraries.

Which File Names Are Used for Which Dynamic Libraries?

The names of most Solid dynamic library files follow a particular pattern. This section explains how to "decode" a library file name based on that pattern.

For example, the file socl2x60.dll is the ODBC (Unicode) driver for solidDB 6.0 on Windows. We break down the file name socl2x60.dll as shown below:

  • s = indicates whether this is a regular release ("s") or a beta release ("b").
  • oc = ODBC (unicode) driver
  • l2x = Windows 64-bit platform
  • 60 = Version 6.0
  • .dll = Windows Dynamic Link Library

More generally, the naming convention is shown below:
rLLpppVV.eee
where

  • r = beta (b) vs. GA (s)
  • LL = Library's "purpose"
    One of the following:
    • ac: ODBC ASCII library
    • dn: DECNet communication protocol link library
    • lc: Light Client (on some platforms)
    • nb: NetBios communication protocol link library
    • np: NamedPipes communication protocol link library
    • oc: ODBC unicode library
    • os: ODBC Driver Manager (for Windows only)
    • sa: SA API library
    • sm: Shared Memory communication protocol link library
    • sx: SPX/IPX communication protocol link library
    • tc: TCP/IP communication protocol link library
  • VV = First two digits of the version, for example 45 for 4.5, 60 for 6.0, etc.

  • eee = platform-specific filename extension, usually one of the following:
    • .DLL Dynamic Link Library for Windows
    • .so (Shared Object) for Solaris and Linux
    • .sl (Shared Library?) for HP-UX

      Most of these fall into one of two categories:
    • Solid API files (sa, ac, oc, lc)
    • communication libraries (dn, nb, np, sm, sx, tc).

Note that most communication libraries are used only on Windows.

  • ppp = Platform.
    The common platform abbreviations include:
    • w32: Windows 32-bit (x86)
    • w64: Windows 64-bit (x86)
    • h1x: HP-UX 11 32-bit
    • h1x64: HP-UX 11 64-bit (PA-RISC)
    • hia64: HP-UX 11 64-bit (IA64)
    • s8x: Solaris 8 (SPARC, 32-bit)
    • s9x: Solaris 9 (SPARC, 32-bit)
    • s9x64: Solaris 9 (SPARC, 64-bit)
    • s0x: Solaris 10 (SPARC, 32-bit)
    • s0x64: Solaris 10 (SPARC, 64-bit)
    • s0xi: Solaris 10 (ix86)
    • s0xi64: Solaris 10 (ix86, 64-bit)
    • l2x: Linux for x86
    • l2x64: Linux for x86, 64-bit
    • qnx: QNX for x86
    • qpx: QNX for PPC
    • a5x: AIX 5

On most UNIX-based platforms, the dynamic libraries are located in the "bin/" directory.

In addition to the API and Communication libraries described above, you can also have the following: ssolidac60.so AcceleratorLib dynamic library.




Which File Names Are Used for Which Static Libraries?

On most UNIX platforms, static libraries now follow a simpler naming convention thant the convention used by the dynamic libraries:

  • ASCII ODBC Driver: solidodbca.a
  • Unicode ODBC Driver: solidodbcu.a
  • Solid SA API Library: solidsa.a
  • Solid AcceleratorLib: solidac.a
  • Control Stub library: solidctrlstub.a

6. solidDB 6.0 Development Kit Installation

The solidDB Development Kit for UNIX platforms is installed as follows:

  1. Copy the product package to the directory under which the SDK root directory (soliddb-6.0) should appear.
  2. Run self extracting shell script SolidSDK60l2x.bin
  3. The program will lead you through the process of installing the software.

You have now completed the installation.

7. How to Continue with the Development Kit


The evaluation package contains a license permitting the use all the capabilities of the products (all options enabled). The evaluation use is limited in time. If a more permissive license is needed, please contact sales@solidtech.com. For more information, see section Order Me on the Welcome page (or orderme.txt).

Solid provides several sample programs to help you learn about and evaluate solidDB.

We recommend that you start to learn about the product by following the steps listed in Evaluation Setup (or evaluation_setup.txt).

Solid provides the user manuals in a few formats. We recommend that you read the solidDB Getting Started Guide and the first few chapters of the solidDB Administrator Guide before you read any  other manuals. The "Welcome" chapter of the solidDB Getting Started Guide contains a section that briefly describes the manuals in the set.

8. Available Interfaces for Client Application Development

Solid provides ODBC and JDBC interfaces for clients, which are briefly described in the chapters below. For more details, see solidDB Programmer Guide.

For information on importing and exporting large amounts of data, see solidDB Administrator Guide, and see the samples in the samples/importexport subdirectory.

8.1 JDBC Driver 2.0

The Solid JDBC 2.0 Driver supports the JDBC 2.0 specification. Additionally, Connection Pooling, JNDI Data Sources and Rowsets of the JDBC 2.0 Optional Package (known before as Standard Extension) are supported, too.

The JDBC Driver has been successfully tested with JDK versions 1.2.2, 1.3, and 1.4. and certified with the JDBC API Test Suite 1.3.1.

Non-standard features include support for IBM WebSphere and timeout control extensions. They are discussed below. For information about Solid JDBC Driver installation and detailed feature description, please see JDBC Readme (or jdbc_readme.txt).

Full documentation is included in solidDB Programmer Guide.

The following features of the optional package are currently supported by the Solid JDBC 2.0 driver :

  • Connection pooling (class solid.jdbc.ConnectionPoolDataSource)
  • Connected RowSet (class solid.jdbc.rowset.SolidJDBCRowSet)
  • Implemented JDBC data sources:
    • solid.jdbc.DataSource (implements javax.sqlDataSource)
    • solid.jdbc.SolidConnectionPoolDataSource (implements javax.sql.ConnectionPoolDataSource)
Missing Features (of the Optional Package):
  • Distributed transaction support (i.e. JTA/XA transactions are not available)
  • Cached RowSet
Connection Timeout

By connection timeout we refer to the response timeout of any JDBC call invoking data transmission over a connection socket. If the response message is not received within the time specified, an I/O exception is thrown. The JDBC standard (2.0/3.0) does not support setting of the connection timeout. Solid has introduced two ways for doing that: one using a non-standard driver manager extension method and the other using the property mechanisms. The time unit in either case is one millisecond.

Statement Cache

Solid JDBC driver enables the user to set the size of a given Connection's statement cache as a property during the connection creation. See JDBC Readme (or jdbc_readme.txt) for more details.

Download

You can download the latest version of the Solid JDBC driver and the related Javadoc from the Solid web site (Solid Java Downloads):

http://www.solidDB.com/downloads/

8.2 ODBC Driver 3.5.x

Solid provides two ODBC drivers, one for Unicode and one for ASCII character sets. More information about these drivers is in solidDB Programmer Guide.

ODBC Features not Supported in This Release

The following functions are not supported in this release:

  • SQLBrowseConnect
  • SQLSetScrollOptions
  • SQLParamOptions
  • SQLNativeSql
  • SQLMoreResults

9. Solid Java Accelerator Information

This feature is only available on specific platforms.

Platforms:
  • Linux
  • HP-UX 11
  • Microsoft Windows 32-bit
  • Solaris 8, 9 and 10
JDK Versions:

NOTE!
In order for the JVM to find the ssolidac60 dynamic libraries in Linux/Solaris, you must either rename the library from "ssolidac60.so" to "libssolidac60.so", or create a symbolic link "libssolidac60.so" which points to the "ssolidac60.so" file. This also applies to the HP-UX platform, where the actual library file "ssolidac60.sl" must be renamed to "libssolidac60.sl", or a symbolic link "libssolidac60.sl" must be created pointing to the "ssolidac60.sl" file.

10. Known Limitations, Problems, And Workarounds in Version 6.0

If you have used a previous version of a Solid Database Engine and are having difficulty with a feature that used to work for you, please see section 4.0 Upgrading to solidDB 6.0 for a short list of changes from previous versions.

solidDB  SERVER KNOWN LIMITATIONS

Netbackup

The command ADMIN COMMAND 'netbackup' is not supported within the 'Srv.At ' configuration parameter.

The admin command 'status netbackup' is a synonym of 'status backup' and reports on both local and network backups.

The admin command 'netbackuplist' is a synonym of 'backuplist' and reports on both local and network beackups.

solidDB  CARRIERGRADE (HSB) OPTION LIMITATIONS

Load balancing with Transparent Failover in Transparent Connectivity (TC)

If the TC Info attributes are chosen so that both Transparent Failover and Load Balancing are set, in some Linux and UNIX platforms a driver may crash on a Primary Failure. Also, Secondary may fail on restart and reconnect, after Secondary failure.

ODBC DRIVER KNOWN PROBLEMS AND WORKAROUNDS

Incompatibility with Servers Older Than v. 6.0

Because of the introduced protocol changes, the ODBC drivers of v. 6.0 and later are not compatible with server products prior to version 6.0. On the other hand, older ODBC drivers are compatible with server products v. 6.0 and later.

When upgrading the system from a version prior to 6.0, the servers must be upgraded first, and then the ODBC drivers, at client sites. The applications need not be recompiled or relinked if dynamically loaded drivers are used.

Error Information

Regardless of the version set by the client, the driver returns error information based on the ODBC 3.0 specification.

Error in SQLPutData Using SQL_NULL_DATA as Parameter Length

If you try to insert or update one or more data items where one of the items has SQL_NULL_DATA as the length specifier, no data will be inserted. The column value will become NULL.

SQLAllocHandle Can Return Incomplete Error Information

If you call SQLAllocHandle with an invalid handle type, for example:
SQLAllocHandle(-5, hdbc, &hstmt);
the function will return SQL_ERROR but not Error State "HY092" or message "Invalid Attribute/Option Identifier".

MSAccess - Linking the Table with Certain Column Types

After linking the table with data types WCHAR, WVARCHAR, and LONG WVARCHAR, when a user inserts a particular record and then inserts/updates/deletes another record, the driver shows '#deleted' for the previous newly added/updated record.

ADO - OpenSchema Methods

The following OpenSchema methods are not supported through ADO:

  • adSchemaCatalogs
  • adSchemaColumnPrivileges
  • adSchemaConstraintColumnUsage
  • adSchemaConstraintTableUsage
  • adSchemaTableConstraint
  • adSchemaForeignKeys
  • adSchemaTablePrivileges
  • adSchemaViews
  • adSchemaViewTableUsage

Please note that all the above OpenSchema methods are not supported by ADO with any ODBC Driver. This is a limitation of the Microsoft OLE DB Provider for ODBC. This is NOT specific to the Solid ODBC Driver.

JDBC DRIVER KNOWN PROBLEMS AND WORKAROUNDS

Incompatibility with Servers Older Than v. 6.0

Because of the introduced protocol changes, the JDBC drivers v. 6.0 and later are not compatible with server products prior to version 6.0. On the other hand, older JDBC drivers are compatible with server products v. 6.0 and later.

Dynamic isolation level control with Transparent Connectivity load balancing

If load balancing is used in a session, and an isolation level higher than READ COMMITTED is set by the user dynamically, and then reset back to READ COMMITTED, the load is not rebalanced, and it continues to be executed on Primary. Workaround: do not change the isolation level when using load balancing.

SOLID JAVA ACCELERATOR KNOWN PROBLEMS AND WORKAROUNDS

To minimize memory consumption, we recommend that users explicitly drop all allocated statements; that is, all allocated JDBC Statement objects must be explicitly freed by calling the close() method.

The server can crash if you access the same statement object from multiple Java threads. You must open a separate JDBC connection (and statement) for each thread that needs to use JDBC.

11. Additions And Corrections to Documents

None.

12. Operating-System Specific Information for solidDB for Linux glibc2

Solid Version

solidDB 6.0 for Linux glibc2 is multi-threaded.

Linux Version

solidDB 6.0 for Linux is built using RedHat 7.3 and glibc 2.2.  These have also been used in testing.

Using MT (Multi-Threaded) features of solidDB 6.0 for Linux requires the Linux system to support multiple threads, i.e. the Linux kernel must be v.2.0 or later & GNU C v.2.0 or later, and the POSIX threads library must be installed and properly configured.

There have been customer reports that with some 2.1.x versions the local TCP/IP connections cannot be established. If this occurs, local client programs should use UNIX Pipe connections instead.

Development Tool Versions

solidDB 6.0 for Linux was produced using gcc version 2.95

Client Libraries

Both static and dynamic Solid Client libraries are provided.

Asynchronous I/O

Linux version now uses asynchronous I/O (AIO) and requires librt when linking against Solid libraries: add -lrt into linker options.

This is the case when linker fails with:

    undefined reference to `lio_listio64'
    undefined reference to `aio_error64'

Slow Checkpoint Creation

In certain Linux kernel versions, there may be a very long delay when a checkpoint is created.

The problem is caused by a bug in the way the fsync() function call has been implemented in the Linux kernel.

To correct this problem, change linux/fs/ext2/file.c so that ext2_file_operations uses file_fsync instead of ext2_fsync for fsync, for example:

static struct file_operations ext2_file_operations = {
	NULL,                   /* lseek - default */
	generic_file_read,      /* read */
	ext2_file_write,        /* write */
	NULL,                   /* readdir - bad */
	NULL,                   /* select - default */
	ext2_ioctl,             /* ioctl */
	generic_file_mmap,      /* mmap */
	NULL,                   /* no special open is needed */
	ext2_release_file,      /* release */
	file_fsync,             /* fsync */
	NULL,                   /* fasync */
	NULL,                   /* check_media_change */
	NULL                    /* revalidate */
};

13. How to Get More Information on the solidDB 6.0 Development Kit

The latest product information and technical documentation are available from Solid Online Services. You can access our Web server at:
http://www.solidDB.com/

Additional tools, if any, are available at:
http://www.solidDB.com/downloads/

Alternatively, you can address questions to:
info@solidDB.com

Technical support during the evaluation period can be requested from:
evalsupp@solidDB.com

14. SolidConsole Availability

SolidConsole, a GUI database administration tool, is not included in this package. You can download SolidConsole from the Solid web site (Java Downloads):

http://www.solidDB.com/downloads/

15. Uninstalling solidDB 6.0


To unistall, remove the installation directory.



Copyright (c) 2008 Solid Information Technology, Ltd. All Rights Reserved.