Skip to content

DRDA/DB2 Compatibility Matrix

DRDA/DB2 Compatibility Matrix

Comprehensive compatibility reference for HeliosDB’s IBM DB2 DRDA protocol implementation.

Overall Compatibility: 95%

CategoryCoverageStatus
DRDA Protocol95%Level 5
SQL Language95%DB2 syntax
Data Types100%All DB2 types
Stored Procedures85%SQL procedures

DRDA Protocol Support

Protocol Levels

LevelCoverageFeatures
Level 3100%Basic operations
Level 4100%Extended features
Level 590%Advanced features

DRDA Commands

CommandStatusNotes
ACCRDBSupportedAccess database
ACCRDBRMSupportedAccess reply
EXCSATSupportedExchange attributes
EXCSATRDSupportedExchange reply
SECCHKSupportedSecurity check
SECCHKRMSupportedSecurity reply
PRPSQLSTTSupportedPrepare statement
EXCSQLSTTSupportedExecute statement
OPNQRYSupportedOpen query
CNTQRYSupportedContinue query
CLSQRYSupportedClose query
SQLSTTSupportedSQL statement

SQL Language Support

Data Definition (DDL)

StatementStatusNotes
CREATE TABLESupportedAll options
CREATE INDEXSupported
CREATE VIEWSupported
CREATE SEQUENCESupported
CREATE PROCEDURESupportedSQL procedures
CREATE FUNCTIONSupportedSQL functions
CREATE TRIGGERSupported
ALTER TABLESupported
DROP *SupportedAll objects
TRUNCATESupported
COMMENTSupported

Data Manipulation (DML)

StatementStatusNotes
SELECTSupportedFull DB2 syntax
INSERTSupported
UPDATESupported
DELETESupported
MERGESupported
TRUNCATESupported

DB2-Specific Syntax

FeatureStatusNotes
FETCH FIRST N ROWSSupported
WITH UR/CS/RS/RRSupportedIsolation levels
OFFSET … FETCHSupportedPagination
FOR UPDATESupportedRow locking
OPTIMIZE FOR N ROWSSupportedQuery hints
WITH HOLDSupportedCursor hold

Common Table Expressions (CTEs)

FeatureStatusNotes
Basic CTESupportedWITH clause
Recursive CTESupportedWITH RECURSIVE
Multiple CTEsSupported
CTE in INSERTSupported
CTE in UPDATESupported
CTE in DELETESupported

Data Types

Numeric Types

TypeStatusNotes
SMALLINTSupported2-byte integer
INTEGERSupported4-byte integer
BIGINTSupported8-byte integer
DECIMALSupportedFixed precision
NUMERICSupportedSame as DECIMAL
REALSupported4-byte float
DOUBLESupported8-byte float
DECFLOATSupportedDecimal float

String Types

TypeStatusNotes
CHARSupportedFixed length
VARCHARSupportedVariable length
CLOBSupportedCharacter LOB
GRAPHICSupportedDouble-byte
VARGRAPHICSupportedVariable double-byte
DBCLOBSupportedDouble-byte CLOB

Binary Types

TypeStatusNotes
BLOBSupportedBinary LOB
BINARYSupportedFixed binary
VARBINARYSupportedVariable binary

Date/Time Types

TypeStatusNotes
DATESupportedCalendar date
TIMESupportedTime of day
TIMESTAMPSupportedDate and time

Special Types

TypeStatusNotes
XMLPartialBasic support
ROWSupportedComposite type
BOOLEANSupportedDB2 11.1+

Functions

String Functions

FunctionStatusNotes
SUBSTRSupportedSubstring
LENGTHSupportedString length
CONCATSupportedConcatenation
UPPERSupportedUppercase
LOWERSupportedLowercase
TRIMSupportedTrim whitespace
LTRIMSupportedLeft trim
RTRIMSupportedRight trim
LEFTSupportedLeft substring
RIGHTSupportedRight substring
LOCATESupportedFind position
REPLACESupportedReplace string
COALESCESupportedFirst non-null
NULLIFSupportedNull if equal

Numeric Functions

FunctionStatusNotes
ABSSupportedAbsolute value
CEIL/CEILINGSupportedRound up
FLOORSupportedRound down
ROUNDSupportedRound
TRUNCATESupportedTruncate
MODSupportedModulo
POWERSupportedPower
SQRTSupportedSquare root
SIGNSupportedSign
RANDSupportedRandom

Date/Time Functions

FunctionStatusNotes
CURRENT DATESupportedCurrent date
CURRENT TIMESupportedCurrent time
CURRENT TIMESTAMPSupportedCurrent timestamp
DATESupportedExtract date
TIMESupportedExtract time
TIMESTAMPSupportedCreate timestamp
YEARSupportedExtract year
MONTHSupportedExtract month
DAYSupportedExtract day
HOURSupportedExtract hour
MINUTESupportedExtract minute
SECONDSupportedExtract second
DAYSSupportedDays between
TIMESTAMPDIFFSupportedTime difference

Aggregate Functions

FunctionStatusNotes
COUNTSupported
SUMSupported
AVGSupported
MINSupported
MAXSupported
STDDEVSupported
VARIANCESupported
LISTAGGSupportedString aggregation

OLAP Functions

FunctionStatusNotes
ROW_NUMBERSupported
RANKSupported
DENSE_RANKSupported
NTILESupported
LAGSupported
LEADSupported
FIRST_VALUESupported
LAST_VALUESupported
SUM OVERSupportedRunning sum
AVG OVERSupportedRunning average

Stored Procedures

FeatureStatusNotes
SQL ProceduresSupported
IN ParametersSupported
OUT ParametersSupported
INOUT ParametersSupported
Result SetsSupported
CALL StatementSupported
Dynamic SQLSupported
Exception HandlingSupported

Triggers

FeatureStatusNotes
BEFORE TriggersSupported
AFTER TriggersSupported
INSTEAD OF TriggersSupported
Row TriggersSupported
Statement TriggersSupported
Transition TablesSupported

Transaction Control

StatementStatusNotes
COMMITSupported
ROLLBACKSupported
SAVEPOINTSupported
RELEASE SAVEPOINTSupported
SET TRANSACTIONSupported

Driver Compatibility

JDBC

DriverVersionStatus
IBM DB2 Driver11.5+Full
JDBC Type 44.xFull

ODBC

DriverVersionStatus
IBM DB2 ODBC11.xFull

Python

DriverVersionStatus
ibm_db3.xFull
ibm_db_sa (SQLAlchemy)0.3+Full

.NET

DriverVersionStatus
IBM.Data.DB211.xFull
IBM.Data.DB2.Core3.xFull

Known Limitations

Not Supported

FeatureReason
External ProceduresUse SQL procedures
DB2 ConnectDirect connection only
FederationUse HeliosDB federation
MQTUse materialized views

Behavioral Differences

  1. Catalog: Uses HeliosDB catalog structure
  2. Bufferpool: Different memory management
  3. Tablespaces: Abstracted by HeliosDB
  4. Logging: Uses HeliosDB WAL

Related: README.md | CONFIGURATION.md | EXAMPLES.md

Last Updated: December 2025