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%

CategoryCoverageResult
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

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

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

StatementResultNotes
SELECTSupportedFull DB2 syntax
INSERTSupported
UPDATESupported
DELETESupported
MERGESupported
TRUNCATESupported

DB2-Specific Syntax

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

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

Data Types

Numeric Types

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

String Types

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

Binary Types

TypeResultNotes
BLOBSupportedBinary LOB
BINARYSupportedFixed binary
VARBINARYSupportedVariable binary

Date/Time Types

TypeResultNotes
DATESupportedCalendar date
TIMESupportedTime of day
TIMESTAMPSupportedDate and time

Special Types

TypeResultNotes
XMLPartialBasic support
ROWSupportedComposite type
BOOLEANSupportedDB2 11.1+

Functions

String Functions

FunctionResultNotes
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

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

Date/Time Functions

FunctionResultNotes
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

FunctionResultNotes
COUNTSupported
SUMSupported
AVGSupported
MINSupported
MAXSupported
STDDEVSupported
VARIANCESupported
LISTAGGSupportedString aggregation

OLAP Functions

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

Stored Procedures

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

Triggers

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

Transaction Control

StatementResultNotes
COMMITSupported
ROLLBACKSupported
SAVEPOINTSupported
RELEASE SAVEPOINTSupported
SET TRANSACTIONSupported

Driver Compatibility

JDBC

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

ODBC

DriverVersionResult
IBM DB2 ODBC11.xFull

Python

DriverVersionResult
ibm_db3.xFull
ibm_db_sa (SQLAlchemy)0.3+Full

###.NET

DriverVersionResult
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