diff options
author | Marc Alff <marc.alff@sun.com> | 2008-07-08 10:33:09 -0600 |
---|---|---|
committer | Marc Alff <marc.alff@sun.com> | 2008-07-08 10:33:09 -0600 |
commit | 445ac789679bf7bbfa5543405daa27f3e5a2478d (patch) | |
tree | 9f823a639aaa73ca449a5d18b80491f1254534be | |
parent | 1c9cf4b06c54157d79876c3240ffe2710a2597d8 (diff) | |
download | mariadb-git-445ac789679bf7bbfa5543405daa27f3e5a2478d.tar.gz |
Cleanup merge issues in mysql-test/t/parser.test
-rw-r--r-- | mysql-test/r/parser.result | 549 | ||||
-rw-r--r-- | mysql-test/r/parser.result.moved | 617 | ||||
-rw-r--r-- | mysql-test/t/parser.test | 669 | ||||
-rw-r--r-- | mysql-test/t/parser.test.moved | 726 |
4 files changed, 1217 insertions, 1344 deletions
diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result index 18391bd2a45..270c1ec5670 100644 --- a/mysql-test/r/parser.result +++ b/mysql-test/r/parser.result @@ -1,3 +1,289 @@ +SET @save_sql_mode=@@sql_mode; +set SQL_MODE=''; +create table ADDDATE(a int); +drop table ADDDATE; +create table ADDDATE (a int); +drop table ADDDATE; +create table BIT_AND(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND(a int)' at line 1 +create table BIT_AND (a int); +drop table BIT_AND; +create table BIT_OR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR(a int)' at line 1 +create table BIT_OR (a int); +drop table BIT_OR; +create table BIT_XOR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR(a int)' at line 1 +create table BIT_XOR (a int); +drop table BIT_XOR; +create table CAST(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST(a int)' at line 1 +create table CAST (a int); +drop table CAST; +create table COUNT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT(a int)' at line 1 +create table COUNT (a int); +drop table COUNT; +create table CURDATE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE(a int)' at line 1 +create table CURDATE (a int); +drop table CURDATE; +create table CURTIME(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME(a int)' at line 1 +create table CURTIME (a int); +drop table CURTIME; +create table DATE_ADD(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD(a int)' at line 1 +create table DATE_ADD (a int); +drop table DATE_ADD; +create table DATE_SUB(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB(a int)' at line 1 +create table DATE_SUB (a int); +drop table DATE_SUB; +create table EXTRACT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT(a int)' at line 1 +create table EXTRACT (a int); +drop table EXTRACT; +create table GROUP_CONCAT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT(a int)' at line 1 +create table GROUP_CONCAT (a int); +drop table GROUP_CONCAT; +create table GROUP_UNIQUE_USERS(a int); +drop table GROUP_UNIQUE_USERS; +create table GROUP_UNIQUE_USERS (a int); +drop table GROUP_UNIQUE_USERS; +create table MAX(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(a int)' at line 1 +create table MAX (a int); +drop table MAX; +create table MID(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID(a int)' at line 1 +create table MID (a int); +drop table MID; +create table MIN(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN(a int)' at line 1 +create table MIN (a int); +drop table MIN; +create table NOW(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW(a int)' at line 1 +create table NOW (a int); +drop table NOW; +create table POSITION(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION(a int)' at line 1 +create table POSITION (a int); +drop table POSITION; +create table SESSION_USER(a int); +drop table SESSION_USER; +create table SESSION_USER (a int); +drop table SESSION_USER; +create table STD(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD(a int)' at line 1 +create table STD (a int); +drop table STD; +create table STDDEV(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV(a int)' at line 1 +create table STDDEV (a int); +drop table STDDEV; +create table STDDEV_POP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP(a int)' at line 1 +create table STDDEV_POP (a int); +drop table STDDEV_POP; +create table STDDEV_SAMP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP(a int)' at line 1 +create table STDDEV_SAMP (a int); +drop table STDDEV_SAMP; +create table SUBDATE(a int); +drop table SUBDATE; +create table SUBDATE (a int); +drop table SUBDATE; +create table SUBSTR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR(a int)' at line 1 +create table SUBSTR (a int); +drop table SUBSTR; +create table SUBSTRING(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING(a int)' at line 1 +create table SUBSTRING (a int); +drop table SUBSTRING; +create table SUM(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(a int)' at line 1 +create table SUM (a int); +drop table SUM; +create table SYSDATE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE(a int)' at line 1 +create table SYSDATE (a int); +drop table SYSDATE; +create table SYSTEM_USER(a int); +drop table SYSTEM_USER; +create table SYSTEM_USER (a int); +drop table SYSTEM_USER; +create table TRIM(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM(a int)' at line 1 +create table TRIM (a int); +drop table TRIM; +create table UNIQUE_USERS(a int); +drop table UNIQUE_USERS; +create table UNIQUE_USERS (a int); +drop table UNIQUE_USERS; +create table VARIANCE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE(a int)' at line 1 +create table VARIANCE (a int); +drop table VARIANCE; +create table VAR_POP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP(a int)' at line 1 +create table VAR_POP (a int); +drop table VAR_POP; +create table VAR_SAMP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP(a int)' at line 1 +create table VAR_SAMP (a int); +drop table VAR_SAMP; +set SQL_MODE='IGNORE_SPACE'; +create table ADDDATE(a int); +drop table ADDDATE; +create table ADDDATE (a int); +drop table ADDDATE; +create table BIT_AND(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND(a int)' at line 1 +create table BIT_AND (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND (a int)' at line 1 +create table BIT_OR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR(a int)' at line 1 +create table BIT_OR (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR (a int)' at line 1 +create table BIT_XOR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR(a int)' at line 1 +create table BIT_XOR (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR (a int)' at line 1 +create table CAST(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST(a int)' at line 1 +create table CAST (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST (a int)' at line 1 +create table COUNT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT(a int)' at line 1 +create table COUNT (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT (a int)' at line 1 +create table CURDATE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE(a int)' at line 1 +create table CURDATE (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE (a int)' at line 1 +create table CURTIME(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME(a int)' at line 1 +create table CURTIME (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME (a int)' at line 1 +create table DATE_ADD(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD(a int)' at line 1 +create table DATE_ADD (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD (a int)' at line 1 +create table DATE_SUB(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB(a int)' at line 1 +create table DATE_SUB (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB (a int)' at line 1 +create table EXTRACT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT(a int)' at line 1 +create table EXTRACT (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT (a int)' at line 1 +create table GROUP_CONCAT(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT(a int)' at line 1 +create table GROUP_CONCAT (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT (a int)' at line 1 +create table GROUP_UNIQUE_USERS(a int); +drop table GROUP_UNIQUE_USERS; +create table GROUP_UNIQUE_USERS (a int); +drop table GROUP_UNIQUE_USERS; +create table MAX(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(a int)' at line 1 +create table MAX (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX (a int)' at line 1 +create table MID(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID(a int)' at line 1 +create table MID (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID (a int)' at line 1 +create table MIN(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN(a int)' at line 1 +create table MIN (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN (a int)' at line 1 +create table NOW(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW(a int)' at line 1 +create table NOW (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW (a int)' at line 1 +create table POSITION(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION(a int)' at line 1 +create table POSITION (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION (a int)' at line 1 +create table SESSION_USER(a int); +drop table SESSION_USER; +create table SESSION_USER (a int); +drop table SESSION_USER; +create table STD(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD(a int)' at line 1 +create table STD (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD (a int)' at line 1 +create table STDDEV(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV(a int)' at line 1 +create table STDDEV (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV (a int)' at line 1 +create table STDDEV_POP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP(a int)' at line 1 +create table STDDEV_POP (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP (a int)' at line 1 +create table STDDEV_SAMP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP(a int)' at line 1 +create table STDDEV_SAMP (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP (a int)' at line 1 +create table SUBDATE(a int); +drop table SUBDATE; +create table SUBDATE (a int); +drop table SUBDATE; +create table SUBSTR(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR(a int)' at line 1 +create table SUBSTR (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR (a int)' at line 1 +create table SUBSTRING(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING(a int)' at line 1 +create table SUBSTRING (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING (a int)' at line 1 +create table SUM(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(a int)' at line 1 +create table SUM (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM (a int)' at line 1 +create table SYSDATE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE(a int)' at line 1 +create table SYSDATE (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE (a int)' at line 1 +create table SYSTEM_USER(a int); +drop table SYSTEM_USER; +create table SYSTEM_USER (a int); +drop table SYSTEM_USER; +create table TRIM(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM(a int)' at line 1 +create table TRIM (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM (a int)' at line 1 +create table UNIQUE_USERS(a int); +drop table UNIQUE_USERS; +create table UNIQUE_USERS (a int); +drop table UNIQUE_USERS; +create table VARIANCE(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE(a int)' at line 1 +create table VARIANCE (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE (a int)' at line 1 +create table VAR_POP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP(a int)' at line 1 +create table VAR_POP (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP (a int)' at line 1 +create table VAR_SAMP(a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP(a int)' at line 1 +create table VAR_SAMP (a int); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP (a int)' at line 1 +DROP TABLE IF EXISTS table_25930_a; +DROP TABLE IF EXISTS table_25930_b; +SET SQL_MODE = 'ANSI_QUOTES'; +CREATE TABLE table_25930_a ( "blah" INT ); +CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; +desc table_25930_b; +Field Type Null Key Default Extra +"blah" - 1 bigint(12) YES NULL +DROP TABLE table_25930_a; +DROP TABLE table_25930_b; +SET @@sql_mode=@save_sql_mode; DROP PROCEDURE IF EXISTS p26030; select "non terminated"$$ non terminated @@ -66,3 +352,266 @@ $$ 1 1 DROP PROCEDURE p26030; +select pi(3.14); +ERROR 42000: Incorrect parameter count in the call to native function 'pi' +select tan(); +ERROR 42000: Incorrect parameter count in the call to native function 'tan' +select tan(1, 2); +ERROR 42000: Incorrect parameter count in the call to native function 'tan' +select makedate(1); +ERROR 42000: Incorrect parameter count in the call to native function 'makedate' +select makedate(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'makedate' +select maketime(); +ERROR 42000: Incorrect parameter count in the call to native function 'maketime' +select maketime(1); +ERROR 42000: Incorrect parameter count in the call to native function 'maketime' +select maketime(1, 2); +ERROR 42000: Incorrect parameter count in the call to native function 'maketime' +select maketime(1, 2, 3, 4); +ERROR 42000: Incorrect parameter count in the call to native function 'maketime' +select atan(); +ERROR 42000: Incorrect parameter count in the call to native function 'atan' +select atan2(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'atan2' +select concat(); +ERROR 42000: Incorrect parameter count in the call to native function 'concat' +select concat("foo"); +concat("foo") +foo +select concat_ws(); +ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws' +select concat_ws("foo"); +ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws' +select encrypt(); +ERROR 42000: Incorrect parameter count in the call to native function 'encrypt' +select encrypt(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'encrypt' +select des_encrypt("p1", "p2", "not expected"); +ERROR 42000: Incorrect parameter count in the call to native function 'des_encrypt' +select des_decrypt("p1", "p2", "not expected"); +ERROR 42000: Incorrect parameter count in the call to native function 'des_decrypt' +select elt(); +ERROR 42000: Incorrect parameter count in the call to native function 'elt' +select elt(1); +ERROR 42000: Incorrect parameter count in the call to native function 'elt' +select export_set(); +ERROR 42000: Incorrect parameter count in the call to native function 'export_set' +select export_set("p1"); +ERROR 42000: Incorrect parameter count in the call to native function 'export_set' +select export_set("p1", "p2"); +ERROR 42000: Incorrect parameter count in the call to native function 'export_set' +select export_set("p1", "p2", "p3", "p4", "p5", "p6"); +ERROR 42000: Incorrect parameter count in the call to native function 'export_set' +select field(); +ERROR 42000: Incorrect parameter count in the call to native function 'field' +select field("p1"); +ERROR 42000: Incorrect parameter count in the call to native function 'field' +select from_unixtime(); +ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime' +select from_unixtime(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime' +select unix_timestamp(1, 2); +ERROR 42000: Incorrect parameter count in the call to native function 'unix_timestamp' +select greatest(); +ERROR 42000: Incorrect parameter count in the call to native function 'greatest' +select greatest(12); +ERROR 42000: Incorrect parameter count in the call to native function 'greatest' +select last_insert_id(1, 2); +ERROR 42000: Incorrect parameter count in the call to native function 'last_insert_id' +select least(); +ERROR 42000: Incorrect parameter count in the call to native function 'least' +select least(12); +ERROR 42000: Incorrect parameter count in the call to native function 'least' +select locate(); +ERROR 42000: Incorrect parameter count in the call to native function 'locate' +select locate(1); +ERROR 42000: Incorrect parameter count in the call to native function 'locate' +select locate(1, 2, 3, 4); +ERROR 42000: Incorrect parameter count in the call to native function 'locate' +select log(); +ERROR 42000: Incorrect parameter count in the call to native function 'log' +select log(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'log' +select make_set(); +ERROR 42000: Incorrect parameter count in the call to native function 'make_set' +select make_set(1); +ERROR 42000: Incorrect parameter count in the call to native function 'make_set' +select master_pos_wait(); +ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' +select master_pos_wait(1); +ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' +select master_pos_wait(1, 2, 3, 4); +ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' +select rand(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'rand' +select round(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'round' +select yearweek(); +ERROR 42000: Incorrect parameter count in the call to native function 'yearweek' +select yearweek(1, 2, 3); +ERROR 42000: Incorrect parameter count in the call to native function 'yearweek' +select abs(3); +abs(3) +3 +select abs(3 AS three); +ERROR 42000: Incorrect parameters in the call to native function 'abs' +select abs(3 three); +ERROR 42000: Incorrect parameters in the call to native function 'abs' +select abs(3 AS "three"); +ERROR 42000: Incorrect parameters in the call to native function 'abs' +select abs(3 "three"); +ERROR 42000: Incorrect parameters in the call to native function 'abs' +set @bar="bar"; +set @foobar="foobar"; +select instr("foobar", "bar"); +instr("foobar", "bar") +4 +select instr("foobar" AS p1, "bar"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar" p1, "bar"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar" AS "p1", "bar"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar" "p1", "bar"); +instr("foobar" "p1", "bar") +4 +select instr(@foobar "p1", "bar"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar", "bar" AS p2); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar", "bar" p2); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar", "bar" AS "p2"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar", "bar" "p2"); +instr("foobar", "bar" "p2") +0 +select instr("foobar", @bar "p2"); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select instr("foobar" AS p1, "bar" AS p2); +ERROR 42000: Incorrect parameters in the call to native function 'instr' +select conv(255, 10, 16); +conv(255, 10, 16) +FF +select conv(255 AS p1, 10, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255 p1, 10, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255 AS "p1", 10, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255 "p1", 10, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10 AS p2, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10 p2, 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10 AS "p2", 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10 "p2", 16); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10, 16 AS p3); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10, 16 p3); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10, 16 AS "p3"); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255, 10, 16 "p3"); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select conv(255 AS p1, 10 AS p2, 16 AS p3); +ERROR 42000: Incorrect parameters in the call to native function 'conv' +select atan(10); +atan(10) +1.4711276743037 +select atan(10 AS p1); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 p1); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 AS "p1"); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 "p1"); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10, 20); +atan(10, 20) +0.46364760900081 +select atan(10 AS p1, 20); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 p1, 20); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 AS "p1", 20); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 "p1", 20); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10, 20 AS p2); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10, 20 p2); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10, 20 AS "p2"); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10, 20 "p2"); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +select atan(10 AS p1, 20 AS p2); +ERROR 42000: Incorrect parameters in the call to native function 'atan' +DROP TABLE IF EXISTS t1; +SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE; +STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE +NULL +SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE; +STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE +NULL +SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; +"1997-12-31 23:59:59" + INTERVAL 1 SECOND +1998-01-01 00:00:00 +SELECT 1 + INTERVAL(1,0,1,2) + 1; +1 + INTERVAL(1,0,1,2) + 1 +4 +SELECT INTERVAL(1^1,0,1,2) + 1; +INTERVAL(1^1,0,1,2) + 1 +2 +SELECT INTERVAL(1,0+1,2,3) * 5.5; +INTERVAL(1,0+1,2,3) * 5.5 +5.5 +SELECT INTERVAL(3,3,1+3,4+4) / 0.5; +INTERVAL(3,3,1+3,4+4) / 0.5 +2.0000 +SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2; +(INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2 +50.0000 +SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2); +INTERVAL(1,0,1,2) + 1 5 * INTERVAL(1,0,1,2) +3 10 +SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3); +INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3) +2 +SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND; +1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND +NULL +SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND; +1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND +NULL +CREATE TABLE t1 (a INT, b DATETIME); +INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND); +SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1; +a b +3 1998-01-01 00:00:00 +DROP TABLE t1; +DROP TABLE IF EXISTS t1,t2,t3; +CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME); +CREATE TABLE t2 LIKE t1; +CREATE TABLE t3 LIKE t1; +SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2; +a1 a2 a3 a4 +SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)}; +a1 a2 a3 a4 a1 a2 a3 a4 +SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))}; +a1 a2 a3 a4 a1 a2 a3 a4 +SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)}; +a1 a2 a3 a4 a1 a2 a3 a4 +SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10; +a1 a2 a3 a4 a1 a2 a3 a4 +SELECT {fn CONCAT(a1,a2)} FROM t1; +{fn CONCAT(a1,a2)} +UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0; +SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')}; +a1 a4 +DROP TABLE t1, t2, t3; diff --git a/mysql-test/r/parser.result.moved b/mysql-test/r/parser.result.moved deleted file mode 100644 index 270c1ec5670..00000000000 --- a/mysql-test/r/parser.result.moved +++ /dev/null @@ -1,617 +0,0 @@ -SET @save_sql_mode=@@sql_mode; -set SQL_MODE=''; -create table ADDDATE(a int); -drop table ADDDATE; -create table ADDDATE (a int); -drop table ADDDATE; -create table BIT_AND(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND(a int)' at line 1 -create table BIT_AND (a int); -drop table BIT_AND; -create table BIT_OR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR(a int)' at line 1 -create table BIT_OR (a int); -drop table BIT_OR; -create table BIT_XOR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR(a int)' at line 1 -create table BIT_XOR (a int); -drop table BIT_XOR; -create table CAST(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST(a int)' at line 1 -create table CAST (a int); -drop table CAST; -create table COUNT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT(a int)' at line 1 -create table COUNT (a int); -drop table COUNT; -create table CURDATE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE(a int)' at line 1 -create table CURDATE (a int); -drop table CURDATE; -create table CURTIME(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME(a int)' at line 1 -create table CURTIME (a int); -drop table CURTIME; -create table DATE_ADD(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD(a int)' at line 1 -create table DATE_ADD (a int); -drop table DATE_ADD; -create table DATE_SUB(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB(a int)' at line 1 -create table DATE_SUB (a int); -drop table DATE_SUB; -create table EXTRACT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT(a int)' at line 1 -create table EXTRACT (a int); -drop table EXTRACT; -create table GROUP_CONCAT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT(a int)' at line 1 -create table GROUP_CONCAT (a int); -drop table GROUP_CONCAT; -create table GROUP_UNIQUE_USERS(a int); -drop table GROUP_UNIQUE_USERS; -create table GROUP_UNIQUE_USERS (a int); -drop table GROUP_UNIQUE_USERS; -create table MAX(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(a int)' at line 1 -create table MAX (a int); -drop table MAX; -create table MID(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID(a int)' at line 1 -create table MID (a int); -drop table MID; -create table MIN(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN(a int)' at line 1 -create table MIN (a int); -drop table MIN; -create table NOW(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW(a int)' at line 1 -create table NOW (a int); -drop table NOW; -create table POSITION(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION(a int)' at line 1 -create table POSITION (a int); -drop table POSITION; -create table SESSION_USER(a int); -drop table SESSION_USER; -create table SESSION_USER (a int); -drop table SESSION_USER; -create table STD(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD(a int)' at line 1 -create table STD (a int); -drop table STD; -create table STDDEV(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV(a int)' at line 1 -create table STDDEV (a int); -drop table STDDEV; -create table STDDEV_POP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP(a int)' at line 1 -create table STDDEV_POP (a int); -drop table STDDEV_POP; -create table STDDEV_SAMP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP(a int)' at line 1 -create table STDDEV_SAMP (a int); -drop table STDDEV_SAMP; -create table SUBDATE(a int); -drop table SUBDATE; -create table SUBDATE (a int); -drop table SUBDATE; -create table SUBSTR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR(a int)' at line 1 -create table SUBSTR (a int); -drop table SUBSTR; -create table SUBSTRING(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING(a int)' at line 1 -create table SUBSTRING (a int); -drop table SUBSTRING; -create table SUM(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(a int)' at line 1 -create table SUM (a int); -drop table SUM; -create table SYSDATE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE(a int)' at line 1 -create table SYSDATE (a int); -drop table SYSDATE; -create table SYSTEM_USER(a int); -drop table SYSTEM_USER; -create table SYSTEM_USER (a int); -drop table SYSTEM_USER; -create table TRIM(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM(a int)' at line 1 -create table TRIM (a int); -drop table TRIM; -create table UNIQUE_USERS(a int); -drop table UNIQUE_USERS; -create table UNIQUE_USERS (a int); -drop table UNIQUE_USERS; -create table VARIANCE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE(a int)' at line 1 -create table VARIANCE (a int); -drop table VARIANCE; -create table VAR_POP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP(a int)' at line 1 -create table VAR_POP (a int); -drop table VAR_POP; -create table VAR_SAMP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP(a int)' at line 1 -create table VAR_SAMP (a int); -drop table VAR_SAMP; -set SQL_MODE='IGNORE_SPACE'; -create table ADDDATE(a int); -drop table ADDDATE; -create table ADDDATE (a int); -drop table ADDDATE; -create table BIT_AND(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND(a int)' at line 1 -create table BIT_AND (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_AND (a int)' at line 1 -create table BIT_OR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR(a int)' at line 1 -create table BIT_OR (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_OR (a int)' at line 1 -create table BIT_XOR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR(a int)' at line 1 -create table BIT_XOR (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT_XOR (a int)' at line 1 -create table CAST(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST(a int)' at line 1 -create table CAST (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST (a int)' at line 1 -create table COUNT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT(a int)' at line 1 -create table COUNT (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT (a int)' at line 1 -create table CURDATE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE(a int)' at line 1 -create table CURDATE (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE (a int)' at line 1 -create table CURTIME(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME(a int)' at line 1 -create table CURTIME (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURTIME (a int)' at line 1 -create table DATE_ADD(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD(a int)' at line 1 -create table DATE_ADD (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD (a int)' at line 1 -create table DATE_SUB(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB(a int)' at line 1 -create table DATE_SUB (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_SUB (a int)' at line 1 -create table EXTRACT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT(a int)' at line 1 -create table EXTRACT (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT (a int)' at line 1 -create table GROUP_CONCAT(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT(a int)' at line 1 -create table GROUP_CONCAT (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP_CONCAT (a int)' at line 1 -create table GROUP_UNIQUE_USERS(a int); -drop table GROUP_UNIQUE_USERS; -create table GROUP_UNIQUE_USERS (a int); -drop table GROUP_UNIQUE_USERS; -create table MAX(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(a int)' at line 1 -create table MAX (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX (a int)' at line 1 -create table MID(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID(a int)' at line 1 -create table MID (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MID (a int)' at line 1 -create table MIN(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN(a int)' at line 1 -create table MIN (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MIN (a int)' at line 1 -create table NOW(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW(a int)' at line 1 -create table NOW (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW (a int)' at line 1 -create table POSITION(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION(a int)' at line 1 -create table POSITION (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'POSITION (a int)' at line 1 -create table SESSION_USER(a int); -drop table SESSION_USER; -create table SESSION_USER (a int); -drop table SESSION_USER; -create table STD(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD(a int)' at line 1 -create table STD (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STD (a int)' at line 1 -create table STDDEV(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV(a int)' at line 1 -create table STDDEV (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV (a int)' at line 1 -create table STDDEV_POP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP(a int)' at line 1 -create table STDDEV_POP (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_POP (a int)' at line 1 -create table STDDEV_SAMP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP(a int)' at line 1 -create table STDDEV_SAMP (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STDDEV_SAMP (a int)' at line 1 -create table SUBDATE(a int); -drop table SUBDATE; -create table SUBDATE (a int); -drop table SUBDATE; -create table SUBSTR(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR(a int)' at line 1 -create table SUBSTR (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTR (a int)' at line 1 -create table SUBSTRING(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING(a int)' at line 1 -create table SUBSTRING (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING (a int)' at line 1 -create table SUM(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(a int)' at line 1 -create table SUM (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM (a int)' at line 1 -create table SYSDATE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE(a int)' at line 1 -create table SYSDATE (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSDATE (a int)' at line 1 -create table SYSTEM_USER(a int); -drop table SYSTEM_USER; -create table SYSTEM_USER (a int); -drop table SYSTEM_USER; -create table TRIM(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM(a int)' at line 1 -create table TRIM (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRIM (a int)' at line 1 -create table UNIQUE_USERS(a int); -drop table UNIQUE_USERS; -create table UNIQUE_USERS (a int); -drop table UNIQUE_USERS; -create table VARIANCE(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE(a int)' at line 1 -create table VARIANCE (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARIANCE (a int)' at line 1 -create table VAR_POP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP(a int)' at line 1 -create table VAR_POP (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_POP (a int)' at line 1 -create table VAR_SAMP(a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP(a int)' at line 1 -create table VAR_SAMP (a int); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VAR_SAMP (a int)' at line 1 -DROP TABLE IF EXISTS table_25930_a; -DROP TABLE IF EXISTS table_25930_b; -SET SQL_MODE = 'ANSI_QUOTES'; -CREATE TABLE table_25930_a ( "blah" INT ); -CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; -desc table_25930_b; -Field Type Null Key Default Extra -"blah" - 1 bigint(12) YES NULL -DROP TABLE table_25930_a; -DROP TABLE table_25930_b; -SET @@sql_mode=@save_sql_mode; -DROP PROCEDURE IF EXISTS p26030; -select "non terminated"$$ -non terminated -non terminated -select "terminated";$$ -terminated -terminated -select "non terminated, space" $$ -non terminated, space -non terminated, space -select "terminated, space"; $$ -terminated, space -terminated, space -select "non terminated, comment" /* comment */$$ -non terminated, comment -non terminated, comment -select "terminated, comment"; /* comment */$$ -terminated, comment -terminated, comment -select "stmt 1";select "stmt 2 non terminated"$$ -stmt 1 -stmt 1 -stmt 2 non terminated -stmt 2 non terminated -select "stmt 1";select "stmt 2 terminated";$$ -stmt 1 -stmt 1 -stmt 2 terminated -stmt 2 terminated -select "stmt 1";select "stmt 2 non terminated, space" $$ -stmt 1 -stmt 1 -stmt 2 non terminated, space -stmt 2 non terminated, space -select "stmt 1";select "stmt 2 terminated, space"; $$ -stmt 1 -stmt 1 -stmt 2 terminated, space -stmt 2 terminated, space -select "stmt 1";select "stmt 2 non terminated, comment" /* comment */$$ -stmt 1 -stmt 1 -stmt 2 non terminated, comment -stmt 2 non terminated, comment -select "stmt 1";select "stmt 2 terminated, comment"; /* comment */$$ -stmt 1 -stmt 1 -stmt 2 terminated, comment -stmt 2 terminated, comment -select "stmt 1"; select "space, stmt 2"$$ -stmt 1 -stmt 1 -space, stmt 2 -space, stmt 2 -select "stmt 1";/* comment */select "comment, stmt 2"$$ -stmt 1 -stmt 1 -comment, stmt 2 -comment, stmt 2 -DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() BEGIN SELECT 1; END; CALL p26030() -$$ -1 -1 -DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() SELECT 1; CALL p26030() -$$ -1 -1 -DROP PROCEDURE p26030; -select pi(3.14); -ERROR 42000: Incorrect parameter count in the call to native function 'pi' -select tan(); -ERROR 42000: Incorrect parameter count in the call to native function 'tan' -select tan(1, 2); -ERROR 42000: Incorrect parameter count in the call to native function 'tan' -select makedate(1); -ERROR 42000: Incorrect parameter count in the call to native function 'makedate' -select makedate(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'makedate' -select maketime(); -ERROR 42000: Incorrect parameter count in the call to native function 'maketime' -select maketime(1); -ERROR 42000: Incorrect parameter count in the call to native function 'maketime' -select maketime(1, 2); -ERROR 42000: Incorrect parameter count in the call to native function 'maketime' -select maketime(1, 2, 3, 4); -ERROR 42000: Incorrect parameter count in the call to native function 'maketime' -select atan(); -ERROR 42000: Incorrect parameter count in the call to native function 'atan' -select atan2(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'atan2' -select concat(); -ERROR 42000: Incorrect parameter count in the call to native function 'concat' -select concat("foo"); -concat("foo") -foo -select concat_ws(); -ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws' -select concat_ws("foo"); -ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws' -select encrypt(); -ERROR 42000: Incorrect parameter count in the call to native function 'encrypt' -select encrypt(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'encrypt' -select des_encrypt("p1", "p2", "not expected"); -ERROR 42000: Incorrect parameter count in the call to native function 'des_encrypt' -select des_decrypt("p1", "p2", "not expected"); -ERROR 42000: Incorrect parameter count in the call to native function 'des_decrypt' -select elt(); -ERROR 42000: Incorrect parameter count in the call to native function 'elt' -select elt(1); -ERROR 42000: Incorrect parameter count in the call to native function 'elt' -select export_set(); -ERROR 42000: Incorrect parameter count in the call to native function 'export_set' -select export_set("p1"); -ERROR 42000: Incorrect parameter count in the call to native function 'export_set' -select export_set("p1", "p2"); -ERROR 42000: Incorrect parameter count in the call to native function 'export_set' -select export_set("p1", "p2", "p3", "p4", "p5", "p6"); -ERROR 42000: Incorrect parameter count in the call to native function 'export_set' -select field(); -ERROR 42000: Incorrect parameter count in the call to native function 'field' -select field("p1"); -ERROR 42000: Incorrect parameter count in the call to native function 'field' -select from_unixtime(); -ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime' -select from_unixtime(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime' -select unix_timestamp(1, 2); -ERROR 42000: Incorrect parameter count in the call to native function 'unix_timestamp' -select greatest(); -ERROR 42000: Incorrect parameter count in the call to native function 'greatest' -select greatest(12); -ERROR 42000: Incorrect parameter count in the call to native function 'greatest' -select last_insert_id(1, 2); -ERROR 42000: Incorrect parameter count in the call to native function 'last_insert_id' -select least(); -ERROR 42000: Incorrect parameter count in the call to native function 'least' -select least(12); -ERROR 42000: Incorrect parameter count in the call to native function 'least' -select locate(); -ERROR 42000: Incorrect parameter count in the call to native function 'locate' -select locate(1); -ERROR 42000: Incorrect parameter count in the call to native function 'locate' -select locate(1, 2, 3, 4); -ERROR 42000: Incorrect parameter count in the call to native function 'locate' -select log(); -ERROR 42000: Incorrect parameter count in the call to native function 'log' -select log(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'log' -select make_set(); -ERROR 42000: Incorrect parameter count in the call to native function 'make_set' -select make_set(1); -ERROR 42000: Incorrect parameter count in the call to native function 'make_set' -select master_pos_wait(); -ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' -select master_pos_wait(1); -ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' -select master_pos_wait(1, 2, 3, 4); -ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait' -select rand(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'rand' -select round(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'round' -select yearweek(); -ERROR 42000: Incorrect parameter count in the call to native function 'yearweek' -select yearweek(1, 2, 3); -ERROR 42000: Incorrect parameter count in the call to native function 'yearweek' -select abs(3); -abs(3) -3 -select abs(3 AS three); -ERROR 42000: Incorrect parameters in the call to native function 'abs' -select abs(3 three); -ERROR 42000: Incorrect parameters in the call to native function 'abs' -select abs(3 AS "three"); -ERROR 42000: Incorrect parameters in the call to native function 'abs' -select abs(3 "three"); -ERROR 42000: Incorrect parameters in the call to native function 'abs' -set @bar="bar"; -set @foobar="foobar"; -select instr("foobar", "bar"); -instr("foobar", "bar") -4 -select instr("foobar" AS p1, "bar"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar" p1, "bar"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar" AS "p1", "bar"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar" "p1", "bar"); -instr("foobar" "p1", "bar") -4 -select instr(@foobar "p1", "bar"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar", "bar" AS p2); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar", "bar" p2); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar", "bar" AS "p2"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar", "bar" "p2"); -instr("foobar", "bar" "p2") -0 -select instr("foobar", @bar "p2"); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select instr("foobar" AS p1, "bar" AS p2); -ERROR 42000: Incorrect parameters in the call to native function 'instr' -select conv(255, 10, 16); -conv(255, 10, 16) -FF -select conv(255 AS p1, 10, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255 p1, 10, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255 AS "p1", 10, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255 "p1", 10, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10 AS p2, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10 p2, 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10 AS "p2", 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10 "p2", 16); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10, 16 AS p3); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10, 16 p3); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10, 16 AS "p3"); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255, 10, 16 "p3"); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select conv(255 AS p1, 10 AS p2, 16 AS p3); -ERROR 42000: Incorrect parameters in the call to native function 'conv' -select atan(10); -atan(10) -1.4711276743037 -select atan(10 AS p1); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 p1); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 AS "p1"); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 "p1"); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10, 20); -atan(10, 20) -0.46364760900081 -select atan(10 AS p1, 20); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 p1, 20); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 AS "p1", 20); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 "p1", 20); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10, 20 AS p2); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10, 20 p2); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10, 20 AS "p2"); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10, 20 "p2"); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -select atan(10 AS p1, 20 AS p2); -ERROR 42000: Incorrect parameters in the call to native function 'atan' -DROP TABLE IF EXISTS t1; -SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE; -STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE -NULL -SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE; -STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE -NULL -SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; -"1997-12-31 23:59:59" + INTERVAL 1 SECOND -1998-01-01 00:00:00 -SELECT 1 + INTERVAL(1,0,1,2) + 1; -1 + INTERVAL(1,0,1,2) + 1 -4 -SELECT INTERVAL(1^1,0,1,2) + 1; -INTERVAL(1^1,0,1,2) + 1 -2 -SELECT INTERVAL(1,0+1,2,3) * 5.5; -INTERVAL(1,0+1,2,3) * 5.5 -5.5 -SELECT INTERVAL(3,3,1+3,4+4) / 0.5; -INTERVAL(3,3,1+3,4+4) / 0.5 -2.0000 -SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2; -(INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2 -50.0000 -SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2); -INTERVAL(1,0,1,2) + 1 5 * INTERVAL(1,0,1,2) -3 10 -SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3); -INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3) -2 -SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND; -1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND -NULL -SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND; -1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND -NULL -CREATE TABLE t1 (a INT, b DATETIME); -INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND); -SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1; -a b -3 1998-01-01 00:00:00 -DROP TABLE t1; -DROP TABLE IF EXISTS t1,t2,t3; -CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME); -CREATE TABLE t2 LIKE t1; -CREATE TABLE t3 LIKE t1; -SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2; -a1 a2 a3 a4 -SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)}; -a1 a2 a3 a4 a1 a2 a3 a4 -SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))}; -a1 a2 a3 a4 a1 a2 a3 a4 -SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)}; -a1 a2 a3 a4 a1 a2 a3 a4 -SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10; -a1 a2 a3 a4 a1 a2 a3 a4 -SELECT {fn CONCAT(a1,a2)} FROM t1; -{fn CONCAT(a1,a2)} -UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0; -SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')}; -a1 a4 -DROP TABLE t1, t2, t3; diff --git a/mysql-test/t/parser.test b/mysql-test/t/parser.test index 02fe98dc7b2..7efc519e441 100644 --- a/mysql-test/t/parser.test +++ b/mysql-test/t/parser.test @@ -11,6 +11,387 @@ # even whitespace or comments, is significant here. # +SET @save_sql_mode=@@sql_mode; + +# +# Documenting the current behavior, to detect incompatible changes. +# In each cases: +# - no error is the correct result +# - an error is the expected result with the current implementation, +# and is a limitation. + +set SQL_MODE=''; + +create table ADDDATE(a int); +drop table ADDDATE; +create table ADDDATE (a int); +drop table ADDDATE; + +--error ER_PARSE_ERROR +create table BIT_AND(a int); +create table BIT_AND (a int); +drop table BIT_AND; + +--error ER_PARSE_ERROR +create table BIT_OR(a int); +create table BIT_OR (a int); +drop table BIT_OR; + +--error ER_PARSE_ERROR +create table BIT_XOR(a int); +create table BIT_XOR (a int); +drop table BIT_XOR; + +--error ER_PARSE_ERROR +create table CAST(a int); +create table CAST (a int); +drop table CAST; + +--error ER_PARSE_ERROR +create table COUNT(a int); +create table COUNT (a int); +drop table COUNT; + +--error ER_PARSE_ERROR +create table CURDATE(a int); +create table CURDATE (a int); +drop table CURDATE; + +--error ER_PARSE_ERROR +create table CURTIME(a int); +create table CURTIME (a int); +drop table CURTIME; + +--error ER_PARSE_ERROR +create table DATE_ADD(a int); +create table DATE_ADD (a int); +drop table DATE_ADD; + +--error ER_PARSE_ERROR +create table DATE_SUB(a int); +create table DATE_SUB (a int); +drop table DATE_SUB; + +--error ER_PARSE_ERROR +create table EXTRACT(a int); +create table EXTRACT (a int); +drop table EXTRACT; + +--error ER_PARSE_ERROR +create table GROUP_CONCAT(a int); +create table GROUP_CONCAT (a int); +drop table GROUP_CONCAT; + +# Limitation removed in 5.1 +create table GROUP_UNIQUE_USERS(a int); +drop table GROUP_UNIQUE_USERS; +create table GROUP_UNIQUE_USERS (a int); +drop table GROUP_UNIQUE_USERS; + +--error ER_PARSE_ERROR +create table MAX(a int); +create table MAX (a int); +drop table MAX; + +--error ER_PARSE_ERROR +create table MID(a int); +create table MID (a int); +drop table MID; + +--error ER_PARSE_ERROR +create table MIN(a int); +create table MIN (a int); +drop table MIN; + +--error ER_PARSE_ERROR +create table NOW(a int); +create table NOW (a int); +drop table NOW; + +--error ER_PARSE_ERROR +create table POSITION(a int); +create table POSITION (a int); +drop table POSITION; + +create table SESSION_USER(a int); +drop table SESSION_USER; +create table SESSION_USER (a int); +drop table SESSION_USER; + +--error ER_PARSE_ERROR +create table STD(a int); +create table STD (a int); +drop table STD; + +--error ER_PARSE_ERROR +create table STDDEV(a int); +create table STDDEV (a int); +drop table STDDEV; + +--error ER_PARSE_ERROR +create table STDDEV_POP(a int); +create table STDDEV_POP (a int); +drop table STDDEV_POP; + +--error ER_PARSE_ERROR +create table STDDEV_SAMP(a int); +create table STDDEV_SAMP (a int); +drop table STDDEV_SAMP; + +create table SUBDATE(a int); +drop table SUBDATE; +create table SUBDATE (a int); +drop table SUBDATE; + +--error ER_PARSE_ERROR +create table SUBSTR(a int); +create table SUBSTR (a int); +drop table SUBSTR; + +--error ER_PARSE_ERROR +create table SUBSTRING(a int); +create table SUBSTRING (a int); +drop table SUBSTRING; + +--error ER_PARSE_ERROR +create table SUM(a int); +create table SUM (a int); +drop table SUM; + +--error ER_PARSE_ERROR +create table SYSDATE(a int); +create table SYSDATE (a int); +drop table SYSDATE; + +create table SYSTEM_USER(a int); +drop table SYSTEM_USER; +create table SYSTEM_USER (a int); +drop table SYSTEM_USER; + +--error ER_PARSE_ERROR +create table TRIM(a int); +create table TRIM (a int); +drop table TRIM; + +# Limitation removed in 5.1 +create table UNIQUE_USERS(a int); +drop table UNIQUE_USERS; +create table UNIQUE_USERS (a int); +drop table UNIQUE_USERS; + +--error ER_PARSE_ERROR +create table VARIANCE(a int); +create table VARIANCE (a int); +drop table VARIANCE; + +--error ER_PARSE_ERROR +create table VAR_POP(a int); +create table VAR_POP (a int); +drop table VAR_POP; + +--error ER_PARSE_ERROR +create table VAR_SAMP(a int); +create table VAR_SAMP (a int); +drop table VAR_SAMP; + +set SQL_MODE='IGNORE_SPACE'; + +create table ADDDATE(a int); +drop table ADDDATE; +create table ADDDATE (a int); +drop table ADDDATE; + +--error ER_PARSE_ERROR +create table BIT_AND(a int); +--error ER_PARSE_ERROR +create table BIT_AND (a int); + +--error ER_PARSE_ERROR +create table BIT_OR(a int); +--error ER_PARSE_ERROR +create table BIT_OR (a int); + +--error ER_PARSE_ERROR +create table BIT_XOR(a int); +--error ER_PARSE_ERROR +create table BIT_XOR (a int); + +--error ER_PARSE_ERROR +create table CAST(a int); +--error ER_PARSE_ERROR +create table CAST (a int); + +--error ER_PARSE_ERROR +create table COUNT(a int); +--error ER_PARSE_ERROR +create table COUNT (a int); + +--error ER_PARSE_ERROR +create table CURDATE(a int); +--error ER_PARSE_ERROR +create table CURDATE (a int); + +--error ER_PARSE_ERROR +create table CURTIME(a int); +--error ER_PARSE_ERROR +create table CURTIME (a int); + +--error ER_PARSE_ERROR +create table DATE_ADD(a int); +--error ER_PARSE_ERROR +create table DATE_ADD (a int); + +--error ER_PARSE_ERROR +create table DATE_SUB(a int); +--error ER_PARSE_ERROR +create table DATE_SUB (a int); + +--error ER_PARSE_ERROR +create table EXTRACT(a int); +--error ER_PARSE_ERROR +create table EXTRACT (a int); + +--error ER_PARSE_ERROR +create table GROUP_CONCAT(a int); +--error ER_PARSE_ERROR +create table GROUP_CONCAT (a int); + +# Limitation removed in 5.1 +create table GROUP_UNIQUE_USERS(a int); +drop table GROUP_UNIQUE_USERS; +create table GROUP_UNIQUE_USERS (a int); +drop table GROUP_UNIQUE_USERS; + +--error ER_PARSE_ERROR +create table MAX(a int); +--error ER_PARSE_ERROR +create table MAX (a int); + +--error ER_PARSE_ERROR +create table MID(a int); +--error ER_PARSE_ERROR +create table MID (a int); + +--error ER_PARSE_ERROR +create table MIN(a int); +--error ER_PARSE_ERROR +create table MIN (a int); + +--error ER_PARSE_ERROR +create table NOW(a int); +--error ER_PARSE_ERROR +create table NOW (a int); + +--error ER_PARSE_ERROR +create table POSITION(a int); +--error ER_PARSE_ERROR +create table POSITION (a int); + +create table SESSION_USER(a int); +drop table SESSION_USER; +create table SESSION_USER (a int); +drop table SESSION_USER; + +--error ER_PARSE_ERROR +create table STD(a int); +--error ER_PARSE_ERROR +create table STD (a int); + +--error ER_PARSE_ERROR +create table STDDEV(a int); +--error ER_PARSE_ERROR +create table STDDEV (a int); + +--error ER_PARSE_ERROR +create table STDDEV_POP(a int); +--error ER_PARSE_ERROR +create table STDDEV_POP (a int); + +--error ER_PARSE_ERROR +create table STDDEV_SAMP(a int); +--error ER_PARSE_ERROR +create table STDDEV_SAMP (a int); + +create table SUBDATE(a int); +drop table SUBDATE; +create table SUBDATE (a int); +drop table SUBDATE; + +--error ER_PARSE_ERROR +create table SUBSTR(a int); +--error ER_PARSE_ERROR +create table SUBSTR (a int); + +--error ER_PARSE_ERROR +create table SUBSTRING(a int); +--error ER_PARSE_ERROR +create table SUBSTRING (a int); + +--error ER_PARSE_ERROR +create table SUM(a int); +--error ER_PARSE_ERROR +create table SUM (a int); + +--error ER_PARSE_ERROR +create table SYSDATE(a int); +--error ER_PARSE_ERROR +create table SYSDATE (a int); + +create table SYSTEM_USER(a int); +drop table SYSTEM_USER; +create table SYSTEM_USER (a int); +drop table SYSTEM_USER; + +--error ER_PARSE_ERROR +create table TRIM(a int); +--error ER_PARSE_ERROR +create table TRIM (a int); + +# Limitation removed in 5.1 +create table UNIQUE_USERS(a int); +drop table UNIQUE_USERS; +create table UNIQUE_USERS (a int); +drop table UNIQUE_USERS; + +--error ER_PARSE_ERROR +create table VARIANCE(a int); +--error ER_PARSE_ERROR +create table VARIANCE (a int); + +--error ER_PARSE_ERROR +create table VAR_POP(a int); +--error ER_PARSE_ERROR +create table VAR_POP (a int); + +--error ER_PARSE_ERROR +create table VAR_SAMP(a int); +--error ER_PARSE_ERROR +create table VAR_SAMP (a int); + +# +# Bug#25930 (CREATE TABLE x SELECT ... parses columns wrong when ran with +# ANSI_QUOTES mode) +# + +--disable_warnings +DROP TABLE IF EXISTS table_25930_a; +DROP TABLE IF EXISTS table_25930_b; +--enable_warnings + +SET SQL_MODE = 'ANSI_QUOTES'; +CREATE TABLE table_25930_a ( "blah" INT ); +CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; + +# The lexer used to chop the first <">, +# not marking the start of the token "blah" correctly. +desc table_25930_b; + +DROP TABLE table_25930_a; +DROP TABLE table_25930_b; + + +SET @@sql_mode=@save_sql_mode; + # # Bug#26030 (Parsing fails for stored routine w/multi-statement execution # enabled) @@ -53,7 +434,293 @@ $$ delimiter ;$$ DROP PROCEDURE p26030; -#============================================================================r +#============================================================================= # SYNTACTIC PARSER (bison) #============================================================================= +# +# +# Bug#21114 (Foreign key creation fails to table with name format) +# + +# Test coverage with edge conditions + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select pi(3.14); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select tan(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select tan(1, 2); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select makedate(1); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select makedate(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select maketime(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select maketime(1); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select maketime(1, 2); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select maketime(1, 2, 3, 4); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select atan(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select atan2(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select concat(); +select concat("foo"); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select concat_ws(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select concat_ws("foo"); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select encrypt(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select encrypt(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select des_encrypt("p1", "p2", "not expected"); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select des_decrypt("p1", "p2", "not expected"); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select elt(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select elt(1); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select export_set(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select export_set("p1"); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select export_set("p1", "p2"); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select export_set("p1", "p2", "p3", "p4", "p5", "p6"); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select field(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select field("p1"); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select from_unixtime(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select from_unixtime(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select unix_timestamp(1, 2); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select greatest(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select greatest(12); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select last_insert_id(1, 2); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select least(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select least(12); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select locate(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select locate(1); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select locate(1, 2, 3, 4); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select log(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select log(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select make_set(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select make_set(1); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select master_pos_wait(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select master_pos_wait(1); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select master_pos_wait(1, 2, 3, 4); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select rand(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select round(1, 2, 3); + +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select yearweek(); +-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT +select yearweek(1, 2, 3); + +# +# Bug#24736: UDF functions parsed as Stored Functions +# + +# Verify that the syntax for calling UDF : foo(expr AS param, ...) +# can not be used when calling native functions + +# Native function with 1 argument + +select abs(3); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select abs(3 AS three); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select abs(3 three); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select abs(3 AS "three"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select abs(3 "three"); + +# Native function with 2 arguments + +set @bar="bar"; +set @foobar="foobar"; + +select instr("foobar", "bar"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar" AS p1, "bar"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar" p1, "bar"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar" AS "p1", "bar"); +## String concatenation, valid syntax +select instr("foobar" "p1", "bar"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr(@foobar "p1", "bar"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar", "bar" AS p2); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar", "bar" p2); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar", "bar" AS "p2"); +## String concatenation, valid syntax +select instr("foobar", "bar" "p2"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar", @bar "p2"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select instr("foobar" AS p1, "bar" AS p2); + +# Native function with 3 arguments + +select conv(255, 10, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255 AS p1, 10, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255 p1, 10, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255 AS "p1", 10, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255 "p1", 10, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10 AS p2, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10 p2, 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10 AS "p2", 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10 "p2", 16); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10, 16 AS p3); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10, 16 p3); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10, 16 AS "p3"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255, 10, 16 "p3"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select conv(255 AS p1, 10 AS p2, 16 AS p3); + +# Native function with a variable number of arguments + +select atan(10); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 AS p1); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 p1); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 AS "p1"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 "p1"); + +select atan(10, 20); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 AS p1, 20); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 p1, 20); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 AS "p1", 20); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 "p1", 20); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10, 20 AS p2); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10, 20 p2); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10, 20 AS "p2"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10, 20 "p2"); +-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT +select atan(10 AS p1, 20 AS p2); + +# +# Bug#22312 Syntax error in expression with INTERVAL() +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE; +SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE; +SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; +SELECT 1 + INTERVAL(1,0,1,2) + 1; +SELECT INTERVAL(1^1,0,1,2) + 1; +SELECT INTERVAL(1,0+1,2,3) * 5.5; +SELECT INTERVAL(3,3,1+3,4+4) / 0.5; +SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2; +SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2); +SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3); + +--disable_warnings +SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND; +SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND; +--enable_warnings + +CREATE TABLE t1 (a INT, b DATETIME); +INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND); +SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1; +DROP TABLE t1; + +# +# Bug#28317 Left Outer Join with {oj outer-join} +# + +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3; +--enable_warnings +CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME); +CREATE TABLE t2 LIKE t1; +CREATE TABLE t3 LIKE t1; +SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2; +SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)}; +SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))}; +SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)}; +SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10; +SELECT {fn CONCAT(a1,a2)} FROM t1; +UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0; +SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')}; +DROP TABLE t1, t2, t3; diff --git a/mysql-test/t/parser.test.moved b/mysql-test/t/parser.test.moved deleted file mode 100644 index 7efc519e441..00000000000 --- a/mysql-test/t/parser.test.moved +++ /dev/null @@ -1,726 +0,0 @@ -# -# This file contains tests covering the parser -# - -#============================================================================= -# LEXICAL PARSER (lex) -#============================================================================= - -# -# Maintainer: these tests are for the lexical parser, so every character, -# even whitespace or comments, is significant here. -# - -SET @save_sql_mode=@@sql_mode; - -# -# Documenting the current behavior, to detect incompatible changes. -# In each cases: -# - no error is the correct result -# - an error is the expected result with the current implementation, -# and is a limitation. - -set SQL_MODE=''; - -create table ADDDATE(a int); -drop table ADDDATE; -create table ADDDATE (a int); -drop table ADDDATE; - ---error ER_PARSE_ERROR -create table BIT_AND(a int); -create table BIT_AND (a int); -drop table BIT_AND; - ---error ER_PARSE_ERROR -create table BIT_OR(a int); -create table BIT_OR (a int); -drop table BIT_OR; - ---error ER_PARSE_ERROR -create table BIT_XOR(a int); -create table BIT_XOR (a int); -drop table BIT_XOR; - ---error ER_PARSE_ERROR -create table CAST(a int); -create table CAST (a int); -drop table CAST; - ---error ER_PARSE_ERROR -create table COUNT(a int); -create table COUNT (a int); -drop table COUNT; - ---error ER_PARSE_ERROR -create table CURDATE(a int); -create table CURDATE (a int); -drop table CURDATE; - ---error ER_PARSE_ERROR -create table CURTIME(a int); -create table CURTIME (a int); -drop table CURTIME; - ---error ER_PARSE_ERROR -create table DATE_ADD(a int); -create table DATE_ADD (a int); -drop table DATE_ADD; - ---error ER_PARSE_ERROR -create table DATE_SUB(a int); -create table DATE_SUB (a int); -drop table DATE_SUB; - ---error ER_PARSE_ERROR -create table EXTRACT(a int); -create table EXTRACT (a int); -drop table EXTRACT; - ---error ER_PARSE_ERROR -create table GROUP_CONCAT(a int); -create table GROUP_CONCAT (a int); -drop table GROUP_CONCAT; - -# Limitation removed in 5.1 -create table GROUP_UNIQUE_USERS(a int); -drop table GROUP_UNIQUE_USERS; -create table GROUP_UNIQUE_USERS (a int); -drop table GROUP_UNIQUE_USERS; - ---error ER_PARSE_ERROR -create table MAX(a int); -create table MAX (a int); -drop table MAX; - ---error ER_PARSE_ERROR -create table MID(a int); -create table MID (a int); -drop table MID; - ---error ER_PARSE_ERROR -create table MIN(a int); -create table MIN (a int); -drop table MIN; - ---error ER_PARSE_ERROR -create table NOW(a int); -create table NOW (a int); -drop table NOW; - ---error ER_PARSE_ERROR -create table POSITION(a int); -create table POSITION (a int); -drop table POSITION; - -create table SESSION_USER(a int); -drop table SESSION_USER; -create table SESSION_USER (a int); -drop table SESSION_USER; - ---error ER_PARSE_ERROR -create table STD(a int); -create table STD (a int); -drop table STD; - ---error ER_PARSE_ERROR -create table STDDEV(a int); -create table STDDEV (a int); -drop table STDDEV; - ---error ER_PARSE_ERROR -create table STDDEV_POP(a int); -create table STDDEV_POP (a int); -drop table STDDEV_POP; - ---error ER_PARSE_ERROR -create table STDDEV_SAMP(a int); -create table STDDEV_SAMP (a int); -drop table STDDEV_SAMP; - -create table SUBDATE(a int); -drop table SUBDATE; -create table SUBDATE (a int); -drop table SUBDATE; - ---error ER_PARSE_ERROR -create table SUBSTR(a int); -create table SUBSTR (a int); -drop table SUBSTR; - ---error ER_PARSE_ERROR -create table SUBSTRING(a int); -create table SUBSTRING (a int); -drop table SUBSTRING; - ---error ER_PARSE_ERROR -create table SUM(a int); -create table SUM (a int); -drop table SUM; - ---error ER_PARSE_ERROR -create table SYSDATE(a int); -create table SYSDATE (a int); -drop table SYSDATE; - -create table SYSTEM_USER(a int); -drop table SYSTEM_USER; -create table SYSTEM_USER (a int); -drop table SYSTEM_USER; - ---error ER_PARSE_ERROR -create table TRIM(a int); -create table TRIM (a int); -drop table TRIM; - -# Limitation removed in 5.1 -create table UNIQUE_USERS(a int); -drop table UNIQUE_USERS; -create table UNIQUE_USERS (a int); -drop table UNIQUE_USERS; - ---error ER_PARSE_ERROR -create table VARIANCE(a int); -create table VARIANCE (a int); -drop table VARIANCE; - ---error ER_PARSE_ERROR -create table VAR_POP(a int); -create table VAR_POP (a int); -drop table VAR_POP; - ---error ER_PARSE_ERROR -create table VAR_SAMP(a int); -create table VAR_SAMP (a int); -drop table VAR_SAMP; - -set SQL_MODE='IGNORE_SPACE'; - -create table ADDDATE(a int); -drop table ADDDATE; -create table ADDDATE (a int); -drop table ADDDATE; - ---error ER_PARSE_ERROR -create table BIT_AND(a int); ---error ER_PARSE_ERROR -create table BIT_AND (a int); - ---error ER_PARSE_ERROR -create table BIT_OR(a int); ---error ER_PARSE_ERROR -create table BIT_OR (a int); - ---error ER_PARSE_ERROR -create table BIT_XOR(a int); ---error ER_PARSE_ERROR -create table BIT_XOR (a int); - ---error ER_PARSE_ERROR -create table CAST(a int); ---error ER_PARSE_ERROR -create table CAST (a int); - ---error ER_PARSE_ERROR -create table COUNT(a int); ---error ER_PARSE_ERROR -create table COUNT (a int); - ---error ER_PARSE_ERROR -create table CURDATE(a int); ---error ER_PARSE_ERROR -create table CURDATE (a int); - ---error ER_PARSE_ERROR -create table CURTIME(a int); ---error ER_PARSE_ERROR -create table CURTIME (a int); - ---error ER_PARSE_ERROR -create table DATE_ADD(a int); ---error ER_PARSE_ERROR -create table DATE_ADD (a int); - ---error ER_PARSE_ERROR -create table DATE_SUB(a int); ---error ER_PARSE_ERROR -create table DATE_SUB (a int); - ---error ER_PARSE_ERROR -create table EXTRACT(a int); ---error ER_PARSE_ERROR -create table EXTRACT (a int); - ---error ER_PARSE_ERROR -create table GROUP_CONCAT(a int); ---error ER_PARSE_ERROR -create table GROUP_CONCAT (a int); - -# Limitation removed in 5.1 -create table GROUP_UNIQUE_USERS(a int); -drop table GROUP_UNIQUE_USERS; -create table GROUP_UNIQUE_USERS (a int); -drop table GROUP_UNIQUE_USERS; - ---error ER_PARSE_ERROR -create table MAX(a int); ---error ER_PARSE_ERROR -create table MAX (a int); - ---error ER_PARSE_ERROR -create table MID(a int); ---error ER_PARSE_ERROR -create table MID (a int); - ---error ER_PARSE_ERROR -create table MIN(a int); ---error ER_PARSE_ERROR -create table MIN (a int); - ---error ER_PARSE_ERROR -create table NOW(a int); ---error ER_PARSE_ERROR -create table NOW (a int); - ---error ER_PARSE_ERROR -create table POSITION(a int); ---error ER_PARSE_ERROR -create table POSITION (a int); - -create table SESSION_USER(a int); -drop table SESSION_USER; -create table SESSION_USER (a int); -drop table SESSION_USER; - ---error ER_PARSE_ERROR -create table STD(a int); ---error ER_PARSE_ERROR -create table STD (a int); - ---error ER_PARSE_ERROR -create table STDDEV(a int); ---error ER_PARSE_ERROR -create table STDDEV (a int); - ---error ER_PARSE_ERROR -create table STDDEV_POP(a int); ---error ER_PARSE_ERROR -create table STDDEV_POP (a int); - ---error ER_PARSE_ERROR -create table STDDEV_SAMP(a int); ---error ER_PARSE_ERROR -create table STDDEV_SAMP (a int); - -create table SUBDATE(a int); -drop table SUBDATE; -create table SUBDATE (a int); -drop table SUBDATE; - ---error ER_PARSE_ERROR -create table SUBSTR(a int); ---error ER_PARSE_ERROR -create table SUBSTR (a int); - ---error ER_PARSE_ERROR -create table SUBSTRING(a int); ---error ER_PARSE_ERROR -create table SUBSTRING (a int); - ---error ER_PARSE_ERROR -create table SUM(a int); ---error ER_PARSE_ERROR -create table SUM (a int); - ---error ER_PARSE_ERROR -create table SYSDATE(a int); ---error ER_PARSE_ERROR -create table SYSDATE (a int); - -create table SYSTEM_USER(a int); -drop table SYSTEM_USER; -create table SYSTEM_USER (a int); -drop table SYSTEM_USER; - ---error ER_PARSE_ERROR -create table TRIM(a int); ---error ER_PARSE_ERROR -create table TRIM (a int); - -# Limitation removed in 5.1 -create table UNIQUE_USERS(a int); -drop table UNIQUE_USERS; -create table UNIQUE_USERS (a int); -drop table UNIQUE_USERS; - ---error ER_PARSE_ERROR -create table VARIANCE(a int); ---error ER_PARSE_ERROR -create table VARIANCE (a int); - ---error ER_PARSE_ERROR -create table VAR_POP(a int); ---error ER_PARSE_ERROR -create table VAR_POP (a int); - ---error ER_PARSE_ERROR -create table VAR_SAMP(a int); ---error ER_PARSE_ERROR -create table VAR_SAMP (a int); - -# -# Bug#25930 (CREATE TABLE x SELECT ... parses columns wrong when ran with -# ANSI_QUOTES mode) -# - ---disable_warnings -DROP TABLE IF EXISTS table_25930_a; -DROP TABLE IF EXISTS table_25930_b; ---enable_warnings - -SET SQL_MODE = 'ANSI_QUOTES'; -CREATE TABLE table_25930_a ( "blah" INT ); -CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a; - -# The lexer used to chop the first <">, -# not marking the start of the token "blah" correctly. -desc table_25930_b; - -DROP TABLE table_25930_a; -DROP TABLE table_25930_b; - - -SET @@sql_mode=@save_sql_mode; - -# -# Bug#26030 (Parsing fails for stored routine w/multi-statement execution -# enabled) -# - ---disable_warnings -DROP PROCEDURE IF EXISTS p26030; ---enable_warnings - -delimiter $$; - -select "non terminated"$$ -select "terminated";$$ -select "non terminated, space" $$ -select "terminated, space"; $$ -select "non terminated, comment" /* comment */$$ -select "terminated, comment"; /* comment */$$ - -# Multi queries can not be used in --ps-protocol test mode ---disable_ps_protocol - -select "stmt 1";select "stmt 2 non terminated"$$ -select "stmt 1";select "stmt 2 terminated";$$ -select "stmt 1";select "stmt 2 non terminated, space" $$ -select "stmt 1";select "stmt 2 terminated, space"; $$ -select "stmt 1";select "stmt 2 non terminated, comment" /* comment */$$ -select "stmt 1";select "stmt 2 terminated, comment"; /* comment */$$ - -select "stmt 1"; select "space, stmt 2"$$ -select "stmt 1";/* comment */select "comment, stmt 2"$$ - -DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() BEGIN SELECT 1; END; CALL p26030() -$$ - -DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() SELECT 1; CALL p26030() -$$ - ---enable_ps_protocol - -delimiter ;$$ -DROP PROCEDURE p26030; - -#============================================================================= -# SYNTACTIC PARSER (bison) -#============================================================================= - -# -# -# Bug#21114 (Foreign key creation fails to table with name format) -# - -# Test coverage with edge conditions - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select pi(3.14); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select tan(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select tan(1, 2); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select makedate(1); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select makedate(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select maketime(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select maketime(1); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select maketime(1, 2); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select maketime(1, 2, 3, 4); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select atan(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select atan2(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select concat(); -select concat("foo"); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select concat_ws(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select concat_ws("foo"); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select encrypt(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select encrypt(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select des_encrypt("p1", "p2", "not expected"); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select des_decrypt("p1", "p2", "not expected"); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select elt(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select elt(1); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select export_set(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select export_set("p1"); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select export_set("p1", "p2"); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select export_set("p1", "p2", "p3", "p4", "p5", "p6"); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select field(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select field("p1"); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select from_unixtime(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select from_unixtime(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select unix_timestamp(1, 2); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select greatest(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select greatest(12); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select last_insert_id(1, 2); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select least(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select least(12); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select locate(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select locate(1); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select locate(1, 2, 3, 4); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select log(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select log(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select make_set(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select make_set(1); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select master_pos_wait(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select master_pos_wait(1); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select master_pos_wait(1, 2, 3, 4); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select rand(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select round(1, 2, 3); - --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select yearweek(); --- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT -select yearweek(1, 2, 3); - -# -# Bug#24736: UDF functions parsed as Stored Functions -# - -# Verify that the syntax for calling UDF : foo(expr AS param, ...) -# can not be used when calling native functions - -# Native function with 1 argument - -select abs(3); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select abs(3 AS three); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select abs(3 three); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select abs(3 AS "three"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select abs(3 "three"); - -# Native function with 2 arguments - -set @bar="bar"; -set @foobar="foobar"; - -select instr("foobar", "bar"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar" AS p1, "bar"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar" p1, "bar"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar" AS "p1", "bar"); -## String concatenation, valid syntax -select instr("foobar" "p1", "bar"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr(@foobar "p1", "bar"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar", "bar" AS p2); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar", "bar" p2); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar", "bar" AS "p2"); -## String concatenation, valid syntax -select instr("foobar", "bar" "p2"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar", @bar "p2"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select instr("foobar" AS p1, "bar" AS p2); - -# Native function with 3 arguments - -select conv(255, 10, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255 AS p1, 10, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255 p1, 10, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255 AS "p1", 10, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255 "p1", 10, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10 AS p2, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10 p2, 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10 AS "p2", 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10 "p2", 16); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10, 16 AS p3); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10, 16 p3); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10, 16 AS "p3"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255, 10, 16 "p3"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select conv(255 AS p1, 10 AS p2, 16 AS p3); - -# Native function with a variable number of arguments - -select atan(10); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 AS p1); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 p1); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 AS "p1"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 "p1"); - -select atan(10, 20); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 AS p1, 20); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 p1, 20); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 AS "p1", 20); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 "p1", 20); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10, 20 AS p2); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10, 20 p2); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10, 20 AS "p2"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10, 20 "p2"); --- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT -select atan(10 AS p1, 20 AS p2); - -# -# Bug#22312 Syntax error in expression with INTERVAL() -# - ---disable_warnings -DROP TABLE IF EXISTS t1; ---enable_warnings - -SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE; -SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE; -SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; -SELECT 1 + INTERVAL(1,0,1,2) + 1; -SELECT INTERVAL(1^1,0,1,2) + 1; -SELECT INTERVAL(1,0+1,2,3) * 5.5; -SELECT INTERVAL(3,3,1+3,4+4) / 0.5; -SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2; -SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2); -SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3); - ---disable_warnings -SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND; -SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND; ---enable_warnings - -CREATE TABLE t1 (a INT, b DATETIME); -INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND); -SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1; -DROP TABLE t1; - -# -# Bug#28317 Left Outer Join with {oj outer-join} -# - ---disable_warnings -DROP TABLE IF EXISTS t1,t2,t3; ---enable_warnings -CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME); -CREATE TABLE t2 LIKE t1; -CREATE TABLE t3 LIKE t1; -SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2; -SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)}; -SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))}; -SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)}; -SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10; -SELECT {fn CONCAT(a1,a2)} FROM t1; -UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0; -SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')}; -DROP TABLE t1, t2, t3; |