Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
1.1.0
-
None
Description
The changes made for BLOB re-engineered the string dictionary. It exposed a problem where, with some compilers, std::string buffers are reused with a ref count behind the scenes. This meant that a simple query such as the following ended up reversing more than was intended:
MariaDB [tpch1]> select n_name, REVERSE(n_name) from nation;
-------------------------------+
| n_name | REVERSE(n_name) |
-------------------------------+
| AIREGLA | AIREGLA |
| ANITNEGRA | ANITNEGRA |
| LIZARB | LIZARB |
| ADANAC | ADANAC |
| TPYGE | TPYGE |
| AIPOIHTE | AIPOIHTE |
| ECNARF | ECNARF |
| YNAMREG | YNAMREG |
| AIDNI | AIDNI |
| AISENODNI | AISENODNI |
| NARI | NARI |
| QARI | QARI |
| NAPAJ | NAPAJ |
| NADROJ | NADROJ |
| AYNEK | AYNEK |
| OCCOROM | OCCOROM |
| EUQIBMAZOM | EUQIBMAZOM |
| UREP | UREP |
| ANIHC | ANIHC |
| AINAMOR | AINAMOR |
| AIBARA IDUAS | AIBARA IDUAS |
| MANTEIV | MANTEIV |
| AISSUR | AISSUR |
| MODGNIK DETINU | MODGNIK DETINU |
| SETATS DETINU | SETATS DETINU |
-------------------------------+
25 rows in set (15 min 53.39 sec)