Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Not a Bug
-
5.5.47, 10.0.25
-
None
-
openSuSE 42, CentOS 7
Description
Any non empty string is expected to be larger than the empty string. Contrary to this, SELECT ... WHERE textfield > '' fails where the text data begins with a control character like newline or tab.
This affects multiple collations (tested with utf8 and latin1 standards), only binary comparison works as expected.
Reproduce / test:
select '\ntext' > '', strcmp('\ntext', '');
|
+---------------+----------------------+
|
| '\ntext' > '' | strcmp('\ntext', '') |
|
+---------------+----------------------+
|
| 0 | -1 |
|
+---------------+----------------------+
|
Any control character at the beginning of the text triggers this behaviour.
Workaround: use BINARY or *_bin collations or compare textfield <> ''.
Attachments
Issue Links
- relates to
-
MDEV-9711 NO PAD collations
- Closed