| Bug #99485 | Setting variable to CONCAT('') sets it to NULL instead of '' | ||
|---|---|---|---|
| Submitted: | 8 May 2020 9:08 | Modified: | 11 May 2020 18:11 |
| Reporter: | Lars Tangvald | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Data Types | Severity: | S3 (Non-critical) |
| Version: | 5.7.31 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[8 May 2020 9:08]
Lars Tangvald
[8 May 2020 9:17]
Terje Røsten
Posted by developer:
Problem was introduced in
commit d00361962f2836026c0661fb1ecb9067c5aed073 (HEAD)
Author: Maheedhar PV <maheedhar.panchalamarri.venka@oracle.com>
Date: Wed Feb 5 11:32:05 2020 +0530
Bug#30350206 - CONCAT() CAN GENERATE CORRUPTED OUTPUT
commit: d8d0c798e5
mysql> select concat('');
+------------+
| concat('') |
+------------+
| |
+------------+
1 row in set (0,00 sec)
mysql> SET @var = ""; SELECT @var := CONCAT('');
Query OK, 0 rows affected (0,00 sec)
+--------------------+
| @var := CONCAT('') |
+--------------------+
| |
+--------------------+
1 row in set (0,00 sec)
commit: d00361962f2
mysql> select concat('');
+------------+
| concat('') |
+------------+
| |
+------------+
1 row in set (0,00 sec)
mysql> SET @var = ""; SELECT @var := CONCAT('');
Query OK, 0 rows affected (0,00 sec)
+--------------------+
| @var := CONCAT('') |
+--------------------+
| NULL |
+--------------------+
1 row in set (0,00 sec)
[11 May 2020 9:57]
Erik Sørnes
I will say this is critical. Our application, "slurm", crashes because of this. We cannot control jobs in our cluster.
[11 May 2020 18:11]
Paul DuBois
Posted by developer:
Fixed in 5.7.31, 8.0.21.
Assigning CONCAT(') or CONCAT_WS(') to a variable set the variable
to NULL, not the empty string.
[28 May 2020 9:00]
Ralf Spettnagel
The bug is also present in 5.6.48 and will hopefully be fixed in 5.6.49
