731 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			731 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# 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;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo #
							 | 
						||
| 
								 | 
							
								--echo # End of 5.1 tests
							 | 
						||
| 
								 | 
							
								--echo #
							 |