Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL)
-
None
Description
The keyword ELSEIF does not have a special meaning on Oracle. These scripts work fine on Oracle:
DECLARE
|
ELSEIF INT; |
BEGIN
|
ELSEIF:=1;
|
END; |
/
|
BEGIN
|
<<ELSEIF>>
|
NULL; |
END; |
/
|
Equivalent MariaDB scripts produce systax errors:
SET sql_mode=ORACLE; |
DELIMITER /
|
DECLARE
|
ELSEIF INT; |
BEGIN
|
ELSEIF:=1;
|
END; |
/
|
DELIMITER ;
|
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 'ELSEIF INT;...
|
SET sql_mode=ORACLE; |
DELIMITER /
|
BEGIN
|
<<ELSEIF>>
|
NULL; |
END; |
/
|
DELIMITER ;
|
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 'ELSEIF>>
|
Attachments
Issue Links
- blocks
-
MDEV-12518 Unify sql_yacc.yy and sql_yacc_ora.yy
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue blocks |
issue.field.resolutiondate | 2018-11-11 20:01:58.0 | 2018-11-11 20:01:58.666 |
Fix Version/s | 10.3.11 [ 23141 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 90536 ] | MariaDB v4 [ 155181 ] |