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:
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
- 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:
- Copy the product package to the directory under which the
SDK root directory (soliddb-6.0) should appear.
- Run self extracting shell script
SolidSDK60l2x.bin
- 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.
|