Skip to content

MySQL Protocol Compatibility

MySQL Protocol Compatibility

Detailed feature compatibility matrix for MySQL protocol support in HeliosDB.

Protocol Compatibility

FeatureStatusCoverageNotes
Wire Protocol v10Supported100%Full handshake and command protocol
AuthenticationSupported100%mysql_native_password, caching_sha2_password
Prepared StatementsSupported100%Binary protocol
Multi-StatementSupported100%CLIENT_MULTI_STATEMENTS
CompressionSupported100%zlib compression
SSL/TLSSupported100%TLS 1.2+

SQL Language Features

Data Definition Language (DDL)

FeatureStatusNotes
CREATE DATABASESupported-
CREATE TABLESupportedAll column types
CREATE INDEXSupportedB-tree, hash, fulltext
CREATE VIEWSupported-
ALTER TABLESupportedADD/DROP/MODIFY columns
DROP statementsSupportedAll DROP operations
TRUNCATE TABLESupported-

Data Manipulation Language (DML)

FeatureStatusNotes
SELECTSupportedFull query capabilities
INSERTSupportedSingle and bulk
UPDATESupportedWith WHERE clause
DELETESupportedWith WHERE clause
REPLACESupportedMySQL-specific
INSERT … ON DUPLICATE KEY UPDATESupportedUpsert semantics
LOAD DATA INFILESupportedBulk loading

Transaction Control

FeatureStatusNotes
START TRANSACTIONSupported-
COMMITSupported-
ROLLBACKSupported-
SAVEPOINTSupported-
SET autocommitSupported-
Isolation LevelsSupportedAll four levels

MySQL-Specific Features

FeatureStatusNotes
AUTO_INCREMENTSupportedAuto-incrementing columns
SHOW commandsSupportedSHOW DATABASES, TABLES, COLUMNS, etc.
DESCRIBE/EXPLAINSupportedQuery plan analysis
USE databaseSupportedDatabase switching
SET variablesSupportedSession variables
Information SchemaSupportedSystem tables
Performance SchemaPartialLimited support

Data Types

Numeric Types

TypeStatusNotes
TINYINTSupported1 byte
SMALLINTSupported2 bytes
MEDIUMINTSupported3 bytes
INT/INTEGERSupported4 bytes
BIGINTSupported8 bytes
DECIMAL/NUMERICSupportedExact precision
FLOATSupported4 bytes
DOUBLESupported8 bytes
BITSupportedBit-field

String Types

TypeStatusNotes
CHARSupportedFixed-length
VARCHARSupportedVariable-length
TEXTSupportedAll sizes (TINY, MEDIUM, LONG)
BLOBSupportedAll sizes
ENUMSupportedEnumeration
SETSupportedSet type
JSONSupportedNative JSON

Date/Time Types

TypeStatusNotes
DATESupportedDate only
TIMESupportedTime only
DATETIMESupportedDate and time
TIMESTAMPSupportedUnix timestamp
YEARSupportedYear only

Spatial Types

TypeStatusNotes
GEOMETRYSupportedBase type
POINTSupported2D point
LINESTRINGSupportedLine
POLYGONSupportedPolygon

Functions

String Functions

FunctionStatus
CONCAT, CONCAT_WSSupported
SUBSTRING, LEFT, RIGHTSupported
UPPER, LOWERSupported
TRIM, LTRIM, RTRIMSupported
REPLACESupported
LENGTH, CHAR_LENGTHSupported
LIKE, REGEXPSupported

Numeric Functions

FunctionStatus
ABS, CEIL, FLOORSupported
ROUND, TRUNCATESupported
MOD, POWSupported
RANDSupported
SUM, AVG, COUNTSupported
MIN, MAXSupported

Date/Time Functions

FunctionStatus
NOW, CURDATE, CURTIMESupported
DATE_ADD, DATE_SUBSupported
DATEDIFF, TIMESTAMPDIFFSupported
DATE_FORMATSupported
YEAR, MONTH, DAYSupported
UNIX_TIMESTAMPSupported

JSON Functions

FunctionStatus
JSON_EXTRACTSupported
JSON_SET, JSON_INSERTSupported
JSON_REMOVESupported
JSON_ARRAY, JSON_OBJECTSupported
JSON_CONTAINSSupported
JSON_KEYSSupported

Known Limitations

  1. Stored Procedures: Limited PL/SQL support
  2. Triggers: Partial support (basic triggers work)
  3. Events: Scheduled events not yet supported
  4. User-Defined Functions: UDFs not supported
  5. Full-Text Search: Works but with different ranking algorithm

Migration Notes

When migrating from MySQL to HeliosDB:

  1. Connection Strings: Change host/port only; protocol is compatible
  2. SQL Syntax: Most queries work without modification
  3. Data Types: All standard types are supported
  4. Indexes: Recreate indexes for optimal performance
  5. Stored Procedures: May require rewriting in SQL

See Migration Guide for detailed migration steps.


Last Updated: January 2026