Details
- 
    
Bug
 - 
    Status: Closed (View Workflow)
 - 
    
Major
 - 
    Resolution: Fixed
 - 
    5.5.29
 - 
    None
 
Description
The original description can be found further in this field
The problem is reproducible with MySQL 5.1-5.6 and filed as http://bugs.mysql.com/bug.php?id=68135.
A variable can be created with an empty name. Apparently, it's confusing (see the original request below) and potentially error-prone; but it also causes problems with binary logging and replication:
					SET @`` = 1;  | 
		
					CREATE TABLE t1 AS SELECT @`` AS f;  | 
		
					SHOW BINLOG EVENTS;
			 | 
		
					ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error  | 
		
Consequently, replication fails with ER_SLAVE_RELAY_LOG_READ_FAILURE.
Currently it's only reproducible on maria/5.5, but not on maria/5.1, 5.2, 5.3 or 10.0-base. However, I suppose it's just a matter of time, since it came to maria/5.5 with the last mysql-5.1.67 merge, and it exists in all current trees of MySQL.
Test case:
					--source include/master-slave.inc
			 | 
		
					--source include/have_binlog_format_statement.inc
			 | 
		
| 
					 | 
		
					SET @`` = 1;  | 
		
					CREATE TABLE t1 AS SELECT @`` AS f;  | 
		
| 
					 | 
		
					--sync_slave_with_master
			 | 
		
==================================
Original description
I'm not sure if this is a bug or a feature request. Empty names seem to be allowed for variables. No warnings.
Empty names are not allowed for schemas, tables, columns, views, etc.
| 
					 | 
		
					MariaDB [test]> SET @`` = 1;  | 
		
					Query OK, 0 rows affected (0.00 sec)  | 
		
| 
					 | 
		
					MariaDB [test]> SELECT @``;  | 
		
					+------+  | 
		
					| @``  |
			 | 
		
					+------+  | 
		
					|    1 |
			 | 
		
					+------+  | 
		
					1 row in set (0.07 sec)  | 
		
| 
					 | 
		
					MariaDB [test]>
			 | 
		
| 
					 | 
		
The same happens with local vars in stored routines:
| 
					 | 
		
					DROP FUNCTION IF EXISTS `test`;  | 
		
					CREATE FUNCTION `test`()  | 
		
					RETURNS BOOLEAN  | 
		
					BEGIN
			 | 
		
					DECLARE `` TINYINT UNSIGNED;  | 
		
					SET `` = 1;  | 
		
					RETURN ``;  | 
		
					END;  | 
		
| 
					 | 
		
Attachments
Issue Links
- is blocked by
 - 
                    
MDEV-4333 5.5.31 merge
-         
 - Closed
 
 -         
 
- links to