mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 2c7cea28da
			
		
	
	
	2c7cea28da
	
	
	
		
			
			Problem: Empty queries are incremented if no rows are sent to the client in the EXECUTE phase of select query. With cursor protocol, rows are not sent during EXECUTE phase; they are sent later in FETCH phase. Hence, queries executed with cursor protocol are always falsely treated as empty in EXECUTE phase. Fix: For cursor protocol, empty queries are now counted during the FETCH phase. This ensures counter correctly reflects whether any rows were actually sent to the client. Tests included in `mysql-test/main/show.test`.
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # MDEV-9538 Server crashes in check_show_access on SHOW STATISTICS
 | |
| # MDEV-9539 Server crashes in make_columns_old_format on SHOW GEOMETRY_COLUMNS
 | |
| # MDEV-9540 SHOW SPATIAL_REF_SYS and SHOW SYSTEM_VARIABLES return empty results with numerous warnings
 | |
| #
 | |
| show statistics;
 | |
| ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'statistics' at line 1
 | |
| show spatial_ref_sys
 | |
| --error ER_PARSE_ERROR
 | |
| show system_variables;
 | |
| ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'spatial_ref_sys
 | |
| --error ER_PARSE_ERROR
 | |
| show system_variables' at line 2
 | |
| show geometry_columns;
 | |
| ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'geometry_columns' at line 1
 | |
| show nonexistent;
 | |
| ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'nonexistent' at line 1
 | |
| #
 | |
| # MDEV-21603 Crashing SHOW TABLES with derived table in WHERE condition
 | |
| #
 | |
| create table t1 (nm varchar(32), a int);
 | |
| insert t1 values ('1',1),('2',2),('3',3);
 | |
| show tables
 | |
| where tables_in_test in (select *
 | |
| from (select nm from test.t1 group by nm) dt);
 | |
| Tables_in_test
 | |
| show fields from test.t1
 | |
| where field in (select * from (select nm from test.t1 group by nm) dt);
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| insert t1 values ('nm',0);
 | |
| show fields from test.t1
 | |
| where field in (select * from (select nm from test.t1 group by nm) dt);
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| nm	varchar(32)	YES		NULL	
 | |
| show fields from test.t1 where field in
 | |
| (select * from (select column_name from information_schema.columns
 | |
| where table_name='t1' group by column_name) dt);
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| nm	varchar(32)	YES		NULL	
 | |
| a	int(11)	YES		NULL	
 | |
| drop table t1;
 | |
| #
 | |
| # MDEV-4621 select returns null for information_schema.statistics.collation field
 | |
| #
 | |
| create table t1 (f varchar(64), key(f));
 | |
| select index_name, column_name, collation, cardinality from information_schema.STATISTICS where table_schema='test' and table_name='t1';
 | |
| index_name	column_name	collation	cardinality
 | |
| f	f	A	NULL
 | |
| select index_name, column_name, collation from information_schema.STATISTICS where table_schema='test' and table_name='t1';
 | |
| index_name	column_name	collation
 | |
| f	f	A
 | |
| drop table t1;
 | |
| #
 | |
| # End of 10.2 tests
 | |
| #
 | |
| #
 | |
| # MDEV-28253 Mysqldump - INVISIBLE column error
 | |
| #
 | |
| create table t1 (a int, b datetime invisible on update now() without system versioning) with system versioning;
 | |
| desc t1;
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| a	int(11)	YES		NULL	
 | |
| b	datetime	YES		NULL	on update current_timestamp(), INVISIBLE, WITHOUT SYSTEM VERSIONING
 | |
| drop table t1;
 | |
| #
 | |
| # End of 10.3 tests
 | |
| #
 | |
| #
 | |
| # MDEV-31721: Cursor protocol increases the counter of  "Empty_queries" for select
 | |
| #
 | |
| FLUSH STATUS;
 | |
| CREATE TABLE t1 (a INT);
 | |
| INSERT INTO t1 VALUES (1);
 | |
| SELECT COUNT(*) FROM t1;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT * FROM t1;
 | |
| a
 | |
| 1
 | |
| SELECT * FROM t1 LIMIT 0;
 | |
| a
 | |
| SHOW STATUS LIKE "Empty_queries";
 | |
| Variable_name	Value
 | |
| Empty_queries	1
 | |
| DROP TABLE t1;
 | |
| #------------------------------
 | |
| CREATE TABLE t1 (a INT);
 | |
| CREATE TABLE t2 (b INT);
 | |
| INSERT INTO t1 VALUES (1);
 | |
| INSERT INTO t2 VALUES (2);
 | |
| SELECT * FROM t1 UNION SELECT * FROM t2;
 | |
| a
 | |
| 1
 | |
| 2
 | |
| SELECT * FROM t1 UNION SELECT * FROM t2 LIMIT 0;
 | |
| a
 | |
| SHOW STATUS LIKE "Empty_queries";
 | |
| Variable_name	Value
 | |
| Empty_queries	2
 | |
| DROP TABLE t1, t2;
 | |
| # End of 10.11 tests
 |