Apache Cassandra ODBC 8.0.0 UNIX
- Last Updated: May 8, 2026
- 13 minute read
- OpenAccess SDK
- Documentation
README
Progress(R) DataDirect(R)
Progress(R) DataDirect(R) for ODBC for Apache Cassandra(TM)
UNIX and Linux Platforms(32- and 64-bit)
Release 8.0.0
February 2026
***********************************************************************
Copyright (C) 2026 Progress Software Corporation and/or its
subsidiaries or affiliates. All Rights Reserved.
***********************************************************************
This README file contains information for Progress(R) DataDirect(R)
for ODBC for Apache Cassandra(TM) Driver.
This README file contains information not included in the PROGRESS
DATADIRECT(R) FOR ODBC FOR APACHE CASSANDRA DRIVER USER'S GUIDE AND REFERENCE.
CONTENTS
Post-GA Product Announcements
Driver Requirements
Installation Directory
Changes Since 8.0.0 Release
Release 8.0.0 Features
Required Operating System Patches
Configuring Data Sources
Notes, Known Problems, and Restrictions
Driver WorkAround Options
Documentation
Installed Files for 32-bit Drivers
Installed Files for 64-bit Drivers
Post-GA Product Announcements
The readme files will no longer be updated with product announcements and new
features after the General Availability (GA) of the product. For the latest
updates and enhancements, please refer to the release notes
(https://www.progress.com/datadirect-connectors/whats-new).
Driver Requirements
* The driver requires one of the following Java Virtual Machines (JVM):
- Oracle JDK 8 or higher (LTS version)
- OpenJDK 8 or higher (LTS version)
- IBM SDK (Java) 8 or higher (LTS version)
Also,you must set the library path environment variable of your operating
system to the directory containing your JVM's libjvm.so [sl | a] file and that
directory's parent directory.
* The driver requires the following runtime libraries:
- AIX: C/C++ runtime libraries version 16.1 or higher
- Linux: C/C++ runtime libraries version GCC 2.12 or higher
- Solaris: C/C++ runtime libraries version 12.6 or higher
Installation Directory
* The default installation directory for the 32-bit driver is:
/opt/Progress/DataDirect/ODBC_32bit
* The default installation directory for the 64-bit driver is:
/opt/Progress/DataDirect/ODBC_64bit
Data Source and Platform Support
For the latest data source and platform support information, refer to the
Product Compatibility Guide:
https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
datadirect-product-compatibility.pdf
Changes Since 8.0.0 Release
CVE-2022-41853 - Use of Externally-Controlled Input to Select Classes or Code
('Unsafe Reflection')
-----------------------------------------------------------------------------
Several Progress DataDirect ODBC drivers utilized a version of HyperSQL
Database that was vulnerable to remote code execution described in
CVE-2022-41853. All impacted drivers have been patched to fix this
vulnerability. For details on impacted drivers and fixed versions, refer to
the following KB article:
https://community.progress.com/s/article/DataDirect-ODBC-Critical-Security-
Bulletin-November-2022-CVE-2022-41853
Documentation
-------------
Any product package made available after February 9, 2021 will not include the
HTML help system or user's guide PDF. The full documentation set, including
these items, is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-apache-cassandra
While the product packages will not include these documentation items, the
installation Help directory will provide an HTML redirect for direct access
to the HTML help.
Note that all Progress DataDirect for ODBC documentation has been migrated to
the Progress Information Hub:
https://docs.progress.com/
Enhancements
------------
* The driver binaries now include debugging symbols that can be used
for diagnosing and debugging issues in the driver.
* The ICU library files that are installed with the product have been upgraded
to version 74.1. As a part of this upgrade, the following platforms and their
file names have been updated:
- AIX platforms
- 32-bit driver: From libivicu28.a to libivicu.a
- 64-bit driver: From libddicu28.a to libddicu.a
Note - This upgrade is available starting in build 08.02.1072 of the ICU
library files.
- Linux platforms
- 32-bit driver: From libivicu28.so to libivicu.so
- 64-bit driver: From libddicu28.so to libddicu.so
Note - This upgrade is available starting in build 08.02.0965 of the ICU
library files.
- Solaris platforms (Sparc and Solaris X)
- 32-bit driver: From libivicu28.so to libivicu.so
- 64-bit driver: From libddicu28.so to libddicu.so
Note - This upgrade is available starting in build 08.02.1799 of the ICU
library files.
As part of the ICU 74.1 upgrade, the complier and runtime versions for the
driver have been changed to the following:
- For AIX platforms, the compiler version has been upgraded to xlclang++ 16.1.
As a result, you must have C/C++ runtime libraries of 16.1 or higher on
your machine.
- For Linux platforms, the compiler version has been upgraded to GCC 7.3.1.
As a result, you must have C/C++ runtime libraries of GCC 2.12 or higher
on your machine.
- For Solaris platforms, the compiler version has been upgraded to Oracle
Developer Studio 12.6. As a result, you must have C/C++ runtime libraries
of 12.6 or higher on your machine.
* The installer program now requires you to install a JRE that is Java SE 11 or
higher before running the installer. In earlier versions, the JRE used by the
installer program was included in the product. However, to avoid potential
security vulnerabilities, the installer program no longer includes a JRE.
Instead, the installer program uses the JRE in your environment to allow for
the most secure version of a JRE to be used.
Notes:
- This change does not affect the JVM requirements for the driver. For the latest
driver requirements, refer to the Product Compatibility Guide:
https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
datadirect-product-compatibility.pdf
- The installer program cannot remove the already installed JRE files from the
install directory automatically. Remove them manually.
* The installer program has been enhanced to use a more modern and
secure technology. As a result of this enhancement:
* The default installation location has been changed to:
- For the 32-bit driver:
/opt/Progress/DataDirect/ODBC_32bit
- For the 64-bit driver:
/opt/Progress/DataDirect/ODBC_64bit
* The new installer program does not support upgrading installations
made with earlier versions of the installer. You will need to
uninstall the existing installation and reinstall with the new
installer to resume upgrades in the same directory.
* The existing data sources cannot be used until they are
updated to point to the new installation location. To learn
how to update them, refer to the best practices documented
at https://community.progress.com/s/.
* A Password Encryption Tool, called ddencpwd, is now included with the product
package. It encrypts passwords for secure handling in connection strings and
odbc.ini files. At connection, the driver decrypts these passwords and passes
them to the data source as required.
* The driver has been enhanced to allow you to configure how collections are
mapped in the relational view of your data. By configuring the new
SchemaFormat config option, you can determine whether the driver normalizes
collections and collections labeled FROZEN. Refer to "Config Options" in
the User's Guide for more information.
* The driver has been enhanced to support connection failover and client load
balancing when connecting to a cluster. You can enable this new functionality
by specifying a comma-separated list of member nodes using the new Cluster
Nodes (ClusterNodes) connection option.
Available in driver version 08.00.0216 (B0706, U0505, J000324)
* The drivers using base version B0649 and later have been enhanced to
include timestamp in the internal packet logs by default. If you want to
disable the timestamp logging in packet logs, set PacketLoggingOptions=1.
The internal packet logging is not enabled by default. To enable it,
set EnablePacketLogging=1.
* The driver has been enhanced to support the Duration data type, which maps
to the SQL_VARCHAR ODBC type. Currently, the Duration type is supported only
in simple columns, and not in Collection types.
* The Driver Manager for UNIX/Linux has been enhanced to support setting the
Unicode encoding type for applications on a per connection basis. By passing
a value for the SQL_ATTR_APP_UNICODE_TYPE attribute using SQLSetConnectAttr,
your application can specify the encoding at connection. This allows your
application to pass both UTF-8 and UTF-16 encoded strings with a single
environment handle.
The valid values for the SQL_ATTR_APP_UNICODE_TYPE attribute are
SQL_DD_CP_UTF8 and SQL_DD_CP_UTF16. The default value is SQL_DD_CP_UTF8.
This enhancement is available in build 08.02.0449 of the driver manager.
* The driver has been enhanced to support all the data consistency levels for
read and write operations that are supported by Apache Cassandra data stores.
Data consistency levels are configured using the Read Consistency and Write
Consistency connection options. Refer to the user's guide and reference for
descriptions of these options.
Changed Behavior
----------------
* The product package no longer includes the ODBC Cursor library file
(odbccurs.so) because it has some known security vulnerabilities that
could potentially expose you to security risks.
Note: The installer program cannot remove the ODBC Cursor library file
automatically while installing a new version of the driver. Remove it
manually.
* The installer program has been updated to no longer install common components
for drivers that do not use them. As a result, the installer program no longer
installs the following common components for the Apache Cassandra driver:
- OpenSSL library files, such as ivopenssl30.so, ddopenssl30.so, fips.so, and
openssl.cnf.
- Curl library files, such as libivcurl28.so and libddcurl28.so.
If the files are not used by any other DataDirect driver on your machine, you
can safely remove them from existing product directories.
Release 8.0.0 Features
The Progress DataDirect for ODBC for Apache Cassandra driver supports standard
SQL query language to select data from Apache Cassandra databases. In addition,
some insert, update, and delete capabilities are supported. The driver
translates the SQL statements provided by an application into native Cassandra
Query Language(CQL) statements, enabling you to leverage your knowledge
of SQL.
Features:
* Certified against Apache Cassandra
* Certified against DataStax Enterprise
* Supports SQL read-write access to Apache Cassandra data sources.
* Supports CQL Binary Protocol
* The driver supports the core SQL-92 grammar.
* Support for all ODBC Core and Level 1 functions and some Level 1 and
Level 2 features.
* Supports user id and password authentication.
* Generates a relational view of Cassandra data. Tuple and user-defined types
are flattened into a relational parent table, while collection types are
mapped as relational child tables.
* Supports Native and Refresh escape sequences to embed CQL commands in
SQL-92 statements.
* Supports Cassandra's tunable consistency functionality with ReadConsistency
and WriteConsistency connection options.
* Supports the handling of large result sets through the FetchSize,
NativeFetchSize and ResultMemorySize connection options.
* Supports applications that do not support unbounded data types through
the ASCIISize, DecimalPrecision, DecimalScale, VarintPrecision, and
VarcharSize connection options.
* The driver supports the following data types:
- ASCII maps to SQL_VARCHAR
- Bigint maps to SQL_BIGINT
- Blob maps to SQL_LONGVARBINARY
- Boolean maps to SQL_BIT
- Counter maps to SQL_BIGINT
- Date maps to SQL_TYPE_DATE
- Decimal maps to SQL_DECIMAL
- Double maps to SQL_DOUBLE
- Float maps to SQL_REAL
- Inet maps to SQL_VARCHAR
- Int maps to SQL_INTEGER
- List maps to SQL_WLONGVARCHAR
- Map maps to SQL_WLONGVARCHAR
- Set maps to SQL_WLONGVARCHAR
- Smallint maps to SQL_SMALLINT
- Time maps to SQL_TYPE_TIME
- Timestamp maps to SQL_TYPE_TIMESTAMP
- TimeUUID maps to SQL_CHAR
- TINYINT maps to SQL_TINYINT
- TUPLE maps to SQL_WLONGVARCHAR
- USERTYPE maps to SQL_WLONGVARCHAR
- UUID maps to SQL_CHAR
- Varchar maps to SQL_WVARCHAR
- Varint maps to SQL_DECIMAL
Configuring Data Sources
Data sources are stored in the system information file (typically,
odbc.ini). For details on configuring this file, see the PROGRESS DATADIRECT
FOR ODBC FOR APACHE CASSANDRA DRIVER USER'S GUIDE AND REFERENCE.
Notes, Known Problems, and Restrictions
The following are notes, known problems, and restrictions for the
8.0 release of the driver:
Specifying values for the same connection option multiple times
---------------------------------------------------------------
The driver does not support specifying values for the same connection
option multiple times in a connection string or DSN. If a value is
specified using the same attribute multiple times or using both
long and short attributes, the connection may fail or the driver may
not behave as intended.
SQLColAttributes for Columns in Prepared Statements
---------------------------------------------------
SQLColAttributes currently returns the incorrect data types and searchability
for columns in prepared statements.
Row Counts for Semicolon Delimited Statement Batches
----------------------------------------------------
Contrary to the driver metadata returned, row counts for semicolon delimited
statement batches are rolled up into a single value rather than being returned
for each explicit statement.
CURRENT OF Syntax Error
-----------------------
Attempting to update data using a named cursor with the CURRENT OF cursor
syntax currently returns an error.
Updates on Counter Columns
--------------------------
Update is supported for Counter columns only when all the other columns in the
row comprise that row's primary key. When updating a Counter column on an
existing row, the Counter column is updated according to the increment (or
decrement) specified in the SQL statement. When updating a Counter column for
which there is no existing row, the values of the columns that comprise the
row's primary key are inserted into the table alongside the value of the
Counter column. Note that Update is only supported using the native syntax.
Out-of-memory Errors
--------------------
The driver has been designed to handle large result sets that result. However,
out-of-memory errors can occur. The following items outline how to reduce the
likelihood of out-of-memory errors for your environment.
* Reduce FetchSize to reduce demands on memory. By lowering the maximum number
of rows as specified by FetchSize, you lower the number of rows the driver is
required to process before returning data to the application. Thus, you
reduce demands on memory and decrease the likelihood of out-of-memory errors.
* Decrease ResultMemorySize until results are successfully returned. Intermediate
results larger than the value specified will be written to disk as opposed to
held in memory. When configured correctly, this avoids memory limitations by
not relying on memory to process larger intermediate results. Be aware that
while writing to disk reduces the risk of out-of-memory errors, it also
negatively impacts performance. For optimal performance, decrease this value
only to a size necessary to avoid errors. By default, ResultMemorySize is set
to -1, which sets the maximum size of intermediate results held in memory to
a percentage of the max Java heap size. If you received errors using the
default configuration, use the max Java heap size divided by 4 as a starting
point when tuning this option.
* Increase the JVM heap size. By increasing the max Java heap size, you increase
the amount of data the driver can accumulate in memory and avoid
out-of-memory errors.
system.indexes collection
-------------------------
The driver hides the system.indexes collection, and tables containing the "quot;
character are hidden to prevent naming conflicts.
oplog.rs system table
---------------------
The driver hides the oplog.rs system table.
ODBC Development on UNIX and Linux Platforms
--------------------------------------------
All of the Release 8.0 Core Components (header files, etc.) needed for
development of ODBC applications on UNIX and Linux are installed into
the /include directory created by the product installer.
Please read the notices.txt file in the installation directory for
licensing information regarding the ODBC Core Components. Contact your
Progress DataDirect representative if you have any questions.
Developers using programming languages other than C++:
The DataDirect ODBC Driver Manager is a C++ shared library. The ODBC
Driver Manager can be used with any language that supports loading a
C++ shared library; however, if you are using a programming language
other than C++, you must take additional steps to ensure that the C++
libraries are initialized properly when loaded. If you are not using
C++, consult your compiler documentation for instructions on using C++
shared libraries with your application.
LANG Environment Setting on UNIX and Linux Platforms
----------------------------------------------------
A default installation of the product on UNIX and Linux assumes that
the value of the LANG environment setting is en_US. If your locale is
not set to en_US, the drivers may not return error messages properly.
In this case, you must create a symbolic link in the
<Install_Dir>/locale directory that has the same value as the LANG
environment setting. This link must point to the
<Install_Dir>/locale/en_US directory.
SQLColAttribute(s)
------------------
The column attributes 1001 and 1002, which were assigned as DataDirect-
specific attributes, were inadvertently used as system attributes by
the Microsoft 3.0 ODBC implementation. Applications using those
attributes must now use 1901 and 1902, respectively.
SQL_C_NUMERIC
-------------
Because of inconsistencies in the ODBC specification, users attempting
to use SQL_C_NUMERIC parameters must set the precision and scale values
of the corresponding structure and the descriptor fields in the
Application Parameter Descriptor.
For AIX Users
------------------------------
Some IBM AIX C compilers, such as xlc 3.1.4, do not support the use
of C++ build binaries. C developers on AIX should consult their
compiler documentation and verify that their AIX C compiler supports
the use of C++ shared libraries or the application could be unstable.
Driver WorkAround Options
Progress DataDirect has included non-standard connection options (workarounds)
for the driver that enable you to take full advantage of packaged ODBC-enabled
applications requiring non-standard or extended behavior. Refer to the chapter
"WorkAround options" in THE PROGRESS DATADIRECT FOR ODBC DRIVERS REFERENCE for a
description of these options.
Documentation
PROGRESS DATADIRECT FOR ODBC FOR APACHE CASSANDRA DOCUMENTATION SET
-------------------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-apache-cassandra
You can access the online help system directly via the HTML redirect in the
installation Help directory.
Installed Files for the 32-bit Driver
This file list assumes a full installation of the 32-bit driver and
documentation.
The installer copies the following files and subdirectories to the
product installation directory, by default:
/opt/Progress/DataDirect/ODBC_32bit:
odbc.csh Setup script for C shell
odbc.ini Sample odbc.ini file
odbcinst.ini Sample odbcinst.ini file
odbc.sh Setup script for Bourne shell
IVODBC.LIC DataDirect license file
fixes.txt List of fixes since last release
license.txt End User License Agreement
/bin:
ivtestlib Test application to check that required libraries
are present and loadable
/help:
*.html HTML redirects to online connector help systems
and documentation resources
/include:
odbcinst.h Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h
/java/lib:
cassandra.jar Java components of the driver
/lib:
ivcsndr28.so DataDirect Driver for Apache Cassandra
ivtrc28.so Progress DataDirect trace library
libivicu.a Unicode conversion tables for AIX platforms
libivicu.so Unicode conversion tables for Linux and
Solaris platforms
libodbc.so ODBC Driver Manager [.a on AIX]
libodbcinst.so ODBC Installer [.a on AIX]
odbc.so ODBC Driver Manager (dynamically loadable)
[AIX only]
odbcinst.so ODBC Installer (dynamically loadable)
[AIX only]
/locale/en_US/LC_MESSAGES:
ivcsndr28.mo Apache Cassandra driver message file
ivcsndr28.po Apache Cassandra driver message file source
odbc.m ODBC Driver Manager message file
odbc.po ODBC Driver Manager message source
/NOTICES:
ODBC for Apache Cassandra
v8.0 notices.txt Third-party vendor license agreements
/READMES:
ODBC for Apache Cassandra
v8.0 readme.txt This file
/samples:
/bulk/bulk Bulk application
/bulk/bulk.c Bulk example source
/bulk/bulk.mak Bulk example make file
/bulk/bulk.txt Bulk example description
/bulk/ddlogging.properties Log configuration file for the Cassandra driver
/bulkstrm/bulk.cpp Bulk streaming example source
/bulkstrm/bulk.hpp Bulk streaming example header
/bulkstrm/bulkstrm Bulk streaming example application
/bulkstrm/bulkstrm.txt Bulk streaming example description
/bulkstrm/main.cpp Bulk streaming example source
/bulkstrm/msgprintf.hpp Bulk streaming example header
/bulkstrm/streambulk.mak Bulk streaming example make file
/bulkstrm/ddlogging.properties Log configuration file for the
Cassandra driver
/example/example Example application
/example/example.c Example source
/example/example.h Example header
/example/example.mak Example make file
/example/ddlogging.properties Log configuration file for the
Cassandra driver
/tools:
ddencpwd Password Encryption Tool
ddextu License Extender utility
ddprocinfo Processor Information utility
/uninstall/*.* Files used to uninstall the product
Installed Files for the 64-bit Driver
This file list assumes a full installation of the 64-bit driver and
documentation.
The installer copies the following files and subdirectories to the
product installation directory, by default:
/opt/Progress/DataDirect/ODBC_64bit:
odbc.csh Setup script for C shell
odbc.ini Sample odbc.ini file
odbcinst.ini Sample odbcinst.ini file
odbc.sh Setup script for Bourne shell
DDODBC.LIC DataDirect license file
fixes.txt List of fixes since last release
license.txt End User License Agreement
/bin:
ddtestlib Test application to check that required libraries
are present and loadable
/help:
*.html HTML redirects to online connector help systems
and documentation resources
/include:
odbcinst.h Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h
/java/lib:
cassandra.jar Java components of the driver
/lib:
ddcsndr28.so DataDirect Driver for Apache Cassandra
ddtrc28.so Progress DataDirect trace library
libddicu.a Unicode conversion tables for AIX platforms
libddicu.so Unicode conversion tables for Linux and Solaris
platforms
libodbc.so ODBC Driver Manager [.a on AIX]
libodbcinst.so ODBC Installer [.a on AIX]
odbc.so ODBC Driver Manager (dynamically loadable)
[AIX only]
odbcinst.so ODBC Installer (dynamically loadable)
[AIX only]
/locale/en_US/LC_MESSAGES:
ddcsndr28.mo Apache Cassandra driver message file
ddcsndr28.po Apache Cassandra driver message file source
odbc.m ODBC Driver Manager message file
odbc.po ODBC Driver Manager message source
/NOTICES:
ODBC for Apache Cassandra
v8.0 notices.txt Third-party vendor license agreements
/READMES:
ODBC for Apache Cassandra
v8.0 readme.txt This file
/samples:
/bulk/bulk Bulk application
/bulk/bulk.c Bulk example source
/bulk/bulk.mak Bulk example make file
/bulk/bulk.txt Bulk example description
/bulk/ddlogging.properties Log configuration file for the Cassandra driver
/bulkstrm/bulk.cpp Bulk streaming example source
/bulkstrm/bulk.hpp Bulk streaming example header
/bulkstrm/bulkstrm Bulk streaming example application
/bulkstrm/bulkstrm.txt Bulk streaming example description
/bulkstrm/main.cpp Bulk streaming example source
/bulkstrm/msgprintf.hpp Bulk streaming example header
/bulkstrm/streambulk.mak Bulk streaming example make file
/bulkstrm/ddlogging.properties Log configuration file for the
Cassandra driver
/example/example Example application
/example/example.c Example source
/example/example.h Example header
/example/example.mak Example make file
/example/ddlogging.properties Log configuration file for the
Cassandra driver
/tools:
ddencpwd Password Encryption Tool
ddextu License Extender utility
ddprocinfo Processor Information utility
/uninstall/*.* Files used to uninstall the product
~~~~~~~~~~~~~~~~~
February 2026