Powered by Zoomin Software. For more details please contactZoomin

DataDirect JDBC ReadMe

Apache Cassandra JDBC 6.0.0

  • Last Updated: May 8, 2026
  • 12 minute read
    • OpenAccess SDK
    • Documentation

     README
     Progress(R) DataDirect(R)
     Progress(R) DataDirect(R) for JDBC(TM) for Apache Cassandra(TM) Driver
     Release 6.0.0
     February 2026


***********************************************************************
Copyright (C) 2026 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.

***********************************************************************


CONTENTS

Post-GA Product Announcements
Requirements
Installation Directory
Data Source and Platform Support
Changes since 6.0 GA
Release 6.0 Features
Notes, Known Problems, and Restrictions
Documentation
Installed Files
Third Party Acknowledgments


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


     Requirements

* A supported Java Virtual Machine (JVM) must be defined on your system path.

* The installer program requires a JVM that is Java SE 11 or higher, including
  Oracle JDK, OpenJDK, and IBM SDK (Java) distributions.
  
* The driver requires a JVM that is Java SE 8 or higher, including Oracle JDK,
  OpenJDK, and IBM SDK (Java) distributions.



     Installation Directory

The default installation directory for the driver is:

* Windows:
  C:\Program Files\Progress\DataDirect\JDBC

* UNIX/Linux:
  /opt/Progress/DataDirect/JDBC
  Note: For UNIX/Linux, if you do not have access to "/opt", your user's home
  directory will take the place of this directory.


    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 6.0 GA

FIPS Support
------------
The driver has been enhanced to comply with FIPS standards for data
encryption. As part of this enhancement, the driver was tested with FIPS 140-3
enabled using a Red Hat OpenJDK 21 on a Red Hat Universal Base Image 9 
instance.



CVE-2022-41853 - Use of Externally-Controlled Input to Select Classes or Code
('Unsafe Reflection')
-----------------------------------------------------------------------------
Several Progress DataDirect JDBC 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-JDBC-Critical-Security-
Bulletin-November-2022-CVE-2022-41853

Note: Refer to the fixes.txt file in the product installation directory for a
list of changes by component build number.

Secure Connect Bundle Support
-----------------------------
The driver has been enhanced to connect using secure connect bundles, which 
contain security certificates and credentials for your database. You can 
configure your driver to use secure connect bundles by specifying the location
of the .zip file using the new SecureConnectBundle property. 

Note that secure connect bundles are only supported by certain databases, such 
as DataStax Enterprise running in IBM Cloud. Refer to your database 
documentation for support information. 

Configurable Collection Mapping
-------------------------------
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 "ConfigOptions" in 
the User's Guide for more information. 

Documentation
-------------
Any product package made available after August 7, 2020 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 JDBC documentation has been migrated to
the Progress Information Hub:
https://docs.progress.com/

Timestamp Logging in Spy and JDBC Packet Logs
---------------------------------------------
The driver has been enhanced to include timestamp in the Spy and JDBC packet
logs by default. If required, you can disable the timestamp logging by 
specifying the following at connection: For Spy logs, set 
spyAttributes=(log=(file)Spy.log;timestamp=no) and for JDBC packet logs,
set ddtdbg.ProtocolTraceShowTime=false.

Interactive SQL for JDBC
------------------------
Interactive SQL for JDBC (JDBCISQL) is now installed with the product. 
JDBCISQL is a command-line interface that supports connecting your driver
to a data source, executing SQL statements and retrieving results in a 
terminal. This tool provides a method to quickly test your drivers in an 
environment that does not support GUIs. 

Duration Data Type 
------------------
The driver has been enhanced to support the Duration data type, which maps
to the Varchar JDBC type. Currently, the Duration type is supported only in
simple columns, and not in Collection types.  

Java SE 7 Support
-----------------
Java SE 7 has reached the end of its product life cycle and will no longer 
receive generally available security updates. As a result, the drivers will no 
longer support JVMs that are version Java SE 7 or earlier. Support for 
distributed versions of Java SE 7 and earlier will also end, including
IBM SDK (Java Edition). 

Data Consistency Level Enhancement
----------------------------------
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 ReadConsistency and 
WriteConsistency connection properties. Refer to the user's guide and reference 
for descriptions of these properties. 

Kerberos Authentication
-----------------------
The driver has been enhanced to support Kerberos authentication. See
"Authentication" in the USER'S GUIDE for detailed information.

SchemaMap Connection Property
-----------------------------
The SchemaDefinition connection property has been replaced with the SchemaMap
connection property.

Tunable Consistency Enhancement
-------------------------------
The driver has been enhanced to support Cassandra's tunable consistency
functionality with the ReadConsistency and WriteConsistency connection
properties.

Dynamic Fetch Enhancement
-------------------------
The driver has been enhanced to improve the handling of large result sets and
reduce the likelihood of out-of-memory errors through the introduction of the
FetchSize, NativeFetchSize, and ResultMemorySize connection properties.

     Changed Behavior

* The connection property SpyAttributes has been updated to exclude the 
  attribute load=classname, which was previously used to load the driver 
  specified by the given class name. If a log file name does not include the
  .log extension, the driver automatically appends it.


* 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.
 
  Note: 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



     Release 6.0 Features

The driver supports SQL read-write access to DataStax Enterprise (4.6 and higher)
and Apache Cassandra (2.0 and higher).The driver creates a relational map of
native Cassandra data and translates SQL statements to CQL. Cassandra complex
data types Map, List, Set, Tuple, and user-defined types are supported alongside
primitive CQL types. The driver optimizes performance when executing joins by
leveraging data relationships among Cassandra objects to minimize the amount of
data that needs to be fetched over the network. Relationships among objects can
be reported with the following metadata methods: getTables(), getColumns(),
getTypeInfo(), getPrimaryKeys(), getExportedKeys(), and getBestRowIdentifier().

* Supports SQL read-write access to DataStax Enterprise (4.6 and higher) and
  Apache Cassandra (2.0 and higher).

* Certified against DataStax Enterprise

* Certified against Apache Cassandra 

* Supports JDBC core functions.

* Supports user id/password authentication.

* Supports the following Cassandra data types:
  - ASCII	maps to VARCHAR
  - Bigint	maps to BIGINT
  - Blob	maps to LONGVARBINARY
  - Boolean	maps to BOOLEAN
  - Counter     maps to BIGINT
  - Date        maps to DATE
  - Decimal     maps to DECIMAL
  - Double	maps to DOUBLE
  - Float       maps to REAL
  - Inet        maps to VARCHAR
  - Int         maps to INTEGER
  - List        maps to LONGVARCHAR
  - Map         maps to LONGVARCHAR
  - Set         maps to LONGVARCHAR
  - Smallint    maps to SMALLINT
  - Time        maps to TIME
  - Timestamp   maps to TIMESTAMP
  - TimeUUID	maps to CHAR
  - Tinyint     maps to TINYINT
  - Tuple       maps to LONGVARCHAR
  - Usertype    maps to LONGVARCHAR
  - UUID        maps to CHAR
  - Varchar     maps to VARCHAR
  - Varint      maps to DECIMAL

* Generates a normalized 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.

* Includes the TransactionMode connection property which allows you to configure
  the driver to report that it supports transactions, even though Cassandra does
  not support transactions. This provides a workaround for applications that do
  not operate with a driver that reports transactions are not supported.

* Supports Binary Large Objects (BLOBs).

* Supports connection pooling.

* Supports statement pooling.

* Includes the LoginTimeout connection property which allows you to specify how
  long the driver waits for a connection to be established before timing out the
  connection request.


     Notes, Known Problems, and Restrictions

The following are notes, known problems, and restrictions with the preview
driver.

Inserts, Updates, and Upserts
-----------------------------
Inserts and Updates are in effect handled as Upserts in Cassandra. If an insert
is performed on a row that already exists, the row will be updated. If an update
is performed on a row that does not exist, the row will be inserted.

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.

Operation Timeouts
------------------
Cassandra imposes timeouts on read and write operations to prevent a given
operation from negatively impacting the performance of the cluster. If you
encounter an operation timeout, you can take the following actions to promote
operation success.

* Adjust the ReadConsistency connection property. You can speed up a query by
  reducing the number of replicas required to respond to a read request.
  Therefore, you can reduce the likelihood of a timeout by setting
  ReadConsistency to a value that requires fewer replicas to respond.

* Adjust the WriteConsistency connection property. You can speed up a write
  operation by reducing the number of replicas required to acknowledge success.
  Therefore, you can reduce the likelihood of a timeout by setting
  WriteConsistency to a value that requires fewer replicas to acknowledge the
  execution of the write operation.

* Decrease the value of the NativeFetchSize connection property. By decreasing
  NativeFetchSize, you reduce the amount of data that must be transmitted between
  the driver and the native data source. For read operations, the smaller the
  chunks of data requested, the faster the cluster can assemble results for
  transmission to the driver. For write operations, smaller chunks of data allow
  the driver to communicate more efficiently with the native data source and thus
  expedite write operations. Note that setting NativeFetchSize too low negatively
  impacts performance by requiring unnecessary round trips across the network.

* Optimize your operations by taking one or more of the following actions.
  - Limit the number of results returned.
  - Add indexes to Cassandra tables and base operations on indexes as
    appropriate.
  - Use Where clause filtering that can be pushed down to Cassandra, allowing
    operations to be evaluated and handled quickly. See the following DataStax
    Web pages for more information about Where clause functionality and
    limitations.
    - http://www.datastax.com/dev/blog/a-deep-look-to-the-cql-where-clause
    - http://docs.datastax.com/en/cql/3.1/cql/cql_reference/select_r.html?scroll=
      reference_ds_d35_v2q_xj__filtering-data-using-where

* Adjust Cassandra network timeout settings in the cassandra.yml configuration
  file. These settings can be adjusted to promote read operation success by
  increasing the size of the timeout window. Refer to your Cassandra
  documentation for details.

Out-of-memory Errors
--------------------
The driver has been designed to handle large result sets. 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. System.exit() method and Process Termination -------------------------------------------- The System.exit() method ensures that all registered shutdown hooks are run. Applications terminate faster when System.exit(0) is used. When applications omit the System.exit() call, the termination process may linger for about 10 seconds before exiting. Executing DataDirect Shell Script --------------------------------- For UNIX/Linux users: If you receive an error message when executing any DataDirect for JDBC shell script, make sure that the file has EXECUTE permission. To do this, use the chmod command. For example, to grant EXECUTE permission to the testforjdbc.sh file, change to the directory containing testforjdbc.sh and enter: chmod +x testforjdbc.sh JDBC Methods ------------ The following notes on JDBC methods apply generally to Progress DataDirect for JDBC drivers. * When attempting to create an updatable, scroll-sensitive result set for a query that contains an expression as one of the columns, the driver cannot satisfy the scroll-sensitive request. The driver downgrades the type of the result returned to scroll-insensitive. * The ResultSet methods getTimestamp(), getDate(), and getTime() return references to mutable objects. If the object reference returned from any of these methods is modified, re-fetching the column using the same method returns the modified value. The value is only modified in memory; the database value is not modified. Documentation PROGRESS DATADIRECT FOR JDBC 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 When you extract the contents of the installation download package to your installer directory, you will notice the following files that are required to install the driver: * Windows: - PROGRESS_DATADIRECT_JDBC_INSTALL.exe - DriverModules - PROGRESS_DATADIRECT_JDBC_CASSANDRA_6.0.0_INSTALL.iam.zip - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip * Non-Windows: - PROGRESS_DATADIRECT_JDBC_INSTALL.jar - DriverModules - PROGRESS_DATADIRECT_JDBC_CASSANDRA_6.0.0_INSTALL.iam.zip - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip When you install the driver, the installer creates the following directories and files in the product installation directory in the default installation directory or in an installation directory you specify, represented by INSTALL_DIR. INSTALL_DIR/: ------------- LicenseTool.jar Product license file manager DDProcInfo.exe Windows executable to start the Processor Information Utility DDProcInfo UNIX/Linux script to start the Processor Information Utility INSTALL_DIR/Examples/Bulk/: --------------------------- Load From File/bulkLoadFileDemo.java Java source example for bulk loading from a CSV file Load From File/load.txt Sample data for the example Streaming/bulkLoadStreamingDemo.java Java source example for bulk loading from a result set Threaded Streaming/bulkLoadThreadedStreamingDemo.java Java source example for multi-threaded bulk loading from a result set Threaded Streaming/README.txt Instructions on how to use the thread.properties file Threaded Streaming/thread.properties Properties file for the example INSTALL_DIR/Examples/Connector/: -------------------------------- ConnectorSample.ear J2EE Application Enterprise Archive file containing the ConnectorSample application connectorsample.htm USING DATADIRECT CONNECT FOR JDBC RESOURCE ADAPTERS document graphics/*.* Images referenced by the USING DATADIRECT CONNECT FOR JDBC RESOURCE ADAPTERS document src/ConnectorSample.jsp Source for the JavaServer Page used to access the ConnectorSample application src/connectorsample/ConnectorSample.java Java source file defining the remote interface for the ConnectorSample EJB src/connectorsample/ConnectorSampleBean.java Java source file defining the home interface for the ConnectorSample EJB src/connectorsample/ConnectorSampleHome.java Java source file containing the implementation for the ConnectorSample EJB INSTALL_DIR/Examples/JNDI/: --------------------------- JNDI_FILESYSTEM_Example.java Example Java(TM) source file JNDI_LDAP_Example.java Example Java source file INSTALL_DIR/Examples/SforceSamples/: ------------------------------------ buildsamples.bat Batch file to build the Salesforce example buildsamples.sh Shell script to build the Salesforce example ddlogging.properties Logging properties file runsalesforceconnectsample.bat Batch file to run the Salesforce example runsalesforceconnectsample.sh Shell script to run the Salesforce example bin/com/ddtek/jdbc/samples/SalesforceConnectSample.class Java example class bin/com/ddtek/jdbc/samples/SampleException.class Java example class src/com/ddtek/jdbc/samples/SalesforceConnectSample.java Java source example INSTALL_DIR/help/: ------------------ *.html HTML redirects to driver help systems INSTALL_DIR/install/: --------------------- .psc_dd_inst_reg.xml Support file for the installation logs logs/*.* Log file generated upon installing or uninstalling INSTALL_DIR/jdbcisql/: ---------------------- jdbcisql.bat Batch file to start JDBC iSQL jdbcisql.ini Configuration file for JDBC iSQL jdbcisql.jar Java program to start JDBC iSQL jdbcisql.sh Shell script to start JDBC iSQL INSTALL_DIR/lib/: ---------------- JDBCDriverLogin.conf The JAAS login configuration file installed with the driver INSTALL_DIR/lib/60/: ------------------- cassandra.jar Apache Cassandra Driver and DataSource classes INSTALL_DIR/NOTICES/: --------------------- JDBC for Apache Cassandra v6.0 notices.txt Third party agreement information INSTALL_DIR/pool manager/: -------------------------- pool.jar All DataDirect Connection Pool Manager classes INSTALL_DIR/READMES/: --------------------- JDBC for Apache Cassandra v6.0 readme.txt This file INSTALL_DIR/testforjdbc/: ------------------------- Config.txt Configuration file for DataDirect Test ddlogging.properties Logging properties file testforjdbc.bat Batch file to start DataDirect Test testforjdbc.sh Shell script to start DataDirect Test lib/testforjdbc.jar DataDirect Test classes INSTALL_DIR/uninstall/: ----------------------- .com.zerog.registry.xml Support file for the uninstaller .psc_dd_uninst_reg.xml Support file for the uninstaller InstallScript.iap_xml Support file for the uninstaller installvariables.properties Support file for the Windows uninstaller Uninstall_JDBC.exe Windows uninstaller Uninstall_JDBC.lax Support file for the Windows uninstaller uninstaller.jar Java uninstaller resource/*.* Resource files for the Windows uninstaller February 2026 ================ End of README
TitleResults for “How to create a CRG?”Also Available inAlert