Details
-
New Feature
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
Overview
MariaDB's regular expression functions are missing full MySQL 8.0 compatibility. While MariaDB has supported `REGEXP_INSTR()`, `REGEXP_REPLACE()`, and `REGEXP_SUBSTR()` since 10.0.5 (via the PCRE engine), their signatures are limited to the bare minimum arguments.
MySQL 8.0 introduced extended argument signatures, a `match_type` flag, the `REGEXP_LIKE()` function, and switched its regex engine from PCRE to ICU.
This ticket tracks the implementation of full MySQL 8.0-compatible syntax across all
regular expression functions.
`REGEXP_LIKE`: Missing entirely in MariaDB
MySQL 8.0 introduced `REGEXP_LIKE()` as a proper function form of the `REGEXP`/`RLIKE` operator.
REGEXP_LIKE(expr, pattern[, match_type])
|
`REGEXP_INSTR`: Missing optional arguments
-- MariaDB (current)
|
REGEXP_INSTR(subject, pattern)
|
|
|
-- MySQL 8.0 (target)
|
REGEXP_INSTR(expr, pattern[, pos[, occurrence[, return_option[, match_type]]]])
|
`REGEXP_REPLACE`: Missing optional arguments
-- MariaDB (current)
|
REGEXP_REPLACE(subject, pattern, replace) |
|
|
-- MySQL 8.0 (target)
|
REGEXP_REPLACE(expr, pattern, repl[, pos[, occurrence[, match_type]]])
|
`REGEXP_SUBSTR`: Missing optional arguments
-- MariaDB (current)
|
REGEXP_SUBSTR(expr, pattern)
|
|
|
-- MySQL 8.0 (target)
|
REGEXP_SUBSTR(expr, pattern[, pos[, occurrence[, match_type]]])
|