Details
Description
Not sure in which version was this bug introduced (at least 10.3.25) but version 10.3.26 draw the attention on it.
Do this:
CREATE TABLE `test_table` (`ID` INTEGER(0)) ENGINE=MyISAM;
|
|
CREATE VIEW `test_view` AS SELECT * FROM `test_table` WHERE ISNULL(ID)=0;
|
 |
SHOW CREATE VIEW test_view;
|
Result in 10.3.25 (see the changed/corrupted ISNULL() part):
+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
|
| View | Create View | character_set_client | collation_connection |
|
+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
|
| test_view | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test_view` AS select `test_table`.`ID` AS `ID` from `test_table` where `test_table`.`ID` is null = 0 | latin1 | latin1_swedish_ci |
|
+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
|
Result in 10.3.26:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= 0' at line 1
|
Attachments
Issue Links
- duplicates
-
MDEV-24226 10.3.26 rejects syntax that 10.3.25 accepts
- Closed
- is duplicated by
-
MDEV-24254 CHECK (ISNULL(code)=ISNULL(class)) syntax error
- Closed
-
MDEV-24641 Check constraint parser incorrectly indicates syntax error
- Closed
-
MDEV-24817 Undocumented IS operator precendence change in 10.3.26
- Closed