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)