MySQL Protocol Compatibility
Detailed feature compatibility matrix for MySQL protocol support in HeliosDB.
Protocol Compatibility
| Feature | Status | Coverage | Notes |
|---|
| Wire Protocol v10 | Supported | 100% | Full handshake and command protocol |
| Authentication | Supported | 100% | mysql_native_password, caching_sha2_password |
| Prepared Statements | Supported | 100% | Binary protocol |
| Multi-Statement | Supported | 100% | CLIENT_MULTI_STATEMENTS |
| Compression | Supported | 100% | zlib compression |
| SSL/TLS | Supported | 100% | TLS 1.2+ |
SQL Language Features
Data Definition Language (DDL)
| Feature | Status | Notes |
|---|
| CREATE DATABASE | Supported | - |
| CREATE TABLE | Supported | All column types |
| CREATE INDEX | Supported | B-tree, hash, fulltext |
| CREATE VIEW | Supported | - |
| ALTER TABLE | Supported | ADD/DROP/MODIFY columns |
| DROP statements | Supported | All DROP operations |
| TRUNCATE TABLE | Supported | - |
Data Manipulation Language (DML)
| Feature | Status | Notes |
|---|
| SELECT | Supported | Full query capabilities |
| INSERT | Supported | Single and bulk |
| UPDATE | Supported | With WHERE clause |
| DELETE | Supported | With WHERE clause |
| REPLACE | Supported | MySQL-specific |
| INSERT … ON DUPLICATE KEY UPDATE | Supported | Upsert semantics |
| LOAD DATA INFILE | Supported | Bulk loading |
Transaction Control
| Feature | Status | Notes |
|---|
| START TRANSACTION | Supported | - |
| COMMIT | Supported | - |
| ROLLBACK | Supported | - |
| SAVEPOINT | Supported | - |
| SET autocommit | Supported | - |
| Isolation Levels | Supported | All four levels |
MySQL-Specific Features
| Feature | Status | Notes |
|---|
| AUTO_INCREMENT | Supported | Auto-incrementing columns |
| SHOW commands | Supported | SHOW DATABASES, TABLES, COLUMNS, etc. |
| DESCRIBE/EXPLAIN | Supported | Query plan analysis |
| USE database | Supported | Database switching |
| SET variables | Supported | Session variables |
| Information Schema | Supported | System tables |
| Performance Schema | Partial | Limited support |
Data Types
Numeric Types
| Type | Status | Notes |
|---|
| TINYINT | Supported | 1 byte |
| SMALLINT | Supported | 2 bytes |
| MEDIUMINT | Supported | 3 bytes |
| INT/INTEGER | Supported | 4 bytes |
| BIGINT | Supported | 8 bytes |
| DECIMAL/NUMERIC | Supported | Exact precision |
| FLOAT | Supported | 4 bytes |
| DOUBLE | Supported | 8 bytes |
| BIT | Supported | Bit-field |
String Types
| Type | Status | Notes |
|---|
| CHAR | Supported | Fixed-length |
| VARCHAR | Supported | Variable-length |
| TEXT | Supported | All sizes (TINY, MEDIUM, LONG) |
| BLOB | Supported | All sizes |
| ENUM | Supported | Enumeration |
| SET | Supported | Set type |
| JSON | Supported | Native JSON |
Date/Time Types
| Type | Status | Notes |
|---|
| DATE | Supported | Date only |
| TIME | Supported | Time only |
| DATETIME | Supported | Date and time |
| TIMESTAMP | Supported | Unix timestamp |
| YEAR | Supported | Year only |
Spatial Types
| Type | Status | Notes |
|---|
| GEOMETRY | Supported | Base type |
| POINT | Supported | 2D point |
| LINESTRING | Supported | Line |
| POLYGON | Supported | Polygon |
Functions
String Functions
| Function | Status |
|---|
| CONCAT, CONCAT_WS | Supported |
| SUBSTRING, LEFT, RIGHT | Supported |
| UPPER, LOWER | Supported |
| TRIM, LTRIM, RTRIM | Supported |
| REPLACE | Supported |
| LENGTH, CHAR_LENGTH | Supported |
| LIKE, REGEXP | Supported |
Numeric Functions
| Function | Status |
|---|
| ABS, CEIL, FLOOR | Supported |
| ROUND, TRUNCATE | Supported |
| MOD, POW | Supported |
| RAND | Supported |
| SUM, AVG, COUNT | Supported |
| MIN, MAX | Supported |
Date/Time Functions
| Function | Status |
|---|
| NOW, CURDATE, CURTIME | Supported |
| DATE_ADD, DATE_SUB | Supported |
| DATEDIFF, TIMESTAMPDIFF | Supported |
| DATE_FORMAT | Supported |
| YEAR, MONTH, DAY | Supported |
| UNIX_TIMESTAMP | Supported |
JSON Functions
| Function | Status |
|---|
| JSON_EXTRACT | Supported |
| JSON_SET, JSON_INSERT | Supported |
| JSON_REMOVE | Supported |
| JSON_ARRAY, JSON_OBJECT | Supported |
| JSON_CONTAINS | Supported |
| JSON_KEYS | Supported |
Known Limitations
- Stored Procedures: Limited PL/SQL support
- Triggers: Partial support (basic triggers work)
- Events: Scheduled events not yet supported
- User-Defined Functions: UDFs not supported
- Full-Text Search: Works but with different ranking algorithm
Migration Notes
When migrating from MySQL to HeliosDB:
- Connection Strings: Change host/port only; protocol is compatible
- SQL Syntax: Most queries work without modification
- Data Types: All standard types are supported
- Indexes: Recreate indexes for optimal performance
- Stored Procedures: May require rewriting in SQL
See Migration Guide for detailed migration steps.
Last Updated: January 2026