Reproduced the error,
MariaDB-columnstore-engine.x86_64 10.6.17_12_23.10.1-1.el8
select a, regexp_substr(b, 'a|e|i|o|u') AS "vowel" from t3;
ERROR 1178 (42000): The storage engine for the table doesn't support MCS-1001: Function 'regexp_substr' isn't supported.
select a, regexp_instr(b, 'a|e|i|o|u') AS "vowel" from t3;
ERROR 1178 (42000): The storage engine for the table doesn't support MCS-1001: Function 'regexp_instr' isn't supported.
select a, regexp_replace(b, 'a|e|i|o|u', 'x') AS "vowel" from t3;
ERROR 1178 (42000): The storage engine for the table doesn't support MCS-1001: Function 'regexp_replace' isn't supported.
Verified on develop branch commit 197acba>
MariaDB [test]> create table t3(a int not null, b varchar(100)) engine=columnstore;
Query OK, 0 rows affected (0.272 sec)
MariaDB [test]> insert into t3 values(1, 'My mouse'),(2,'Breakfast Food');
Query OK, 2 rows affected (0.272 sec)
MariaDB [test]> show variables like '%columnstore_select_handler%';
------------------------------------------------------+
------------------------------------------------------+
columnstore_select_handler |
ON |
columnstore_select_handler_in_stored_procedures |
ON |
------------------------------------------------------+
2 rows in set (0.002 sec)
MariaDB [test]> select a, regexp_substr(b, 'a|e|i|o|u') AS "vowel" from t3;
--------+
--------+
--------+
2 rows in set (0.013 sec)
MariaDB [test]> select a, regexp_instr(b, 'a|e|i|o|u') AS "vowel" from t3;
--------+
--------+
--------+
2 rows in set (0.013 sec)
MariaDB [test]> select a, regexp_replace(b, 'a|e|i|o|u', 'x') AS "vowel" from t3;
-----------------+
-----------------+
1 |
My mxxsx |
2 |
Brxxkfxst Fxxd |
-----------------+
2 rows in set (0.013 sec)
Working fine.
In my tests, REGEXP_SUBSTR works in v1.2.5, so I think this is a regression bug, not a new feature.
[root@mcs125 ~]# mcsmysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 10.3.16-MariaDB-log Columnstore 1.2.5-1
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
MariaDB [(none)]> create table test.T(col1 varchar(5)) engine columnstore;
Query OK, 0 rows affected (0.223 sec)
MariaDB [(none)]> insert into test.T values ('abc'),('def');
Query OK, 2 rows affected (0.261 sec)
Records: 2 Duplicates: 0 Warnings: 0
MariaDB [(none)]> SELECT REGEXP_SUBSTR(col1, '[a-z]+') from test.T;
+-------------------------------+
| REGEXP_SUBSTR(col1, '[a-z]+') |
+-------------------------------+
| abc |
| def |
+-------------------------------+
2 rows in set (0.059 sec)
MariaDB [(none)]> insert into test.T values ('123');
Query OK, 1 row affected (0.119 sec)
MariaDB [(none)]> SELECT REGEXP_SUBSTR(col1, '[a-z]+') from test.T;
+-------------------------------+
| REGEXP_SUBSTR(col1, '[a-z]+') |
+-------------------------------+
| abc |
| def |
| |
+-------------------------------+
3 rows in set (0.012 sec)
MariaDB [(none)]> show create table test.T
-> ;
+-------+-------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------+
| T | CREATE TABLE `t` (
`col1` varchar(5) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1 |
+-------+-------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)