Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
5.5.36, 10.0.10
-
None
Description
COERCIBILITY() returns different results in prepared vs direct
execution in some tricky cases, e.g. conversion of a temporal
hybrid function to a non-ASCII character set:
mysql> SET NAMES utf8, collation_connection=utf16_general_ci;
|
Query OK, 0 rows affected (0.00 sec)
|
|
mysql> SELECT COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY));
|
+-----------------------------------------------------------------------+
|
| COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)) |
|
+-----------------------------------------------------------------------+
|
| 4 |
|
+-----------------------------------------------------------------------+
|
1 row in set (3.24 sec)
|
|
mysql> PREPARE stmt FROM "SELECT COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY))";
|
Query OK, 0 rows affected (0.00 sec)
|
Statement prepared
|
|
mysql> EXECUTE stmt;
|
+-----------------------------------------------------------------------+
|
| COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)) |
|
+-----------------------------------------------------------------------+
|
| 2 |
|
+-----------------------------------------------------------------------+
|
1 row in set (0.00 sec)
|
|
This, in particular, make some tests fail in --ps mode but pass in "normal" mode:
http://buildbot.askmonty.org/buildbot/builders/bld-dan-debug/builds/985/steps/test_1/logs/stdio
Prepared execution should be fixed to return the same results with direct execution.