Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11
-
None
Description
Depending on the version and build, tmp_disk_table_size has different effects on queries from INFORMATION_SCHEMA, particularly INFORMATION_SCHEMA.ALL_PLUGINS.
The actual contents of ALL_PLUGINS table in the examples before is 109-129 rows, depending on the version.
SET tmp_disk_table_size= 16384; |
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS UNION DISTINCT SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
10.2 returns wrong results for both queries without any warnings:
10.2 non-debug a1e52e7f |
MariaDB [test]> SET tmp_disk_table_size= 16384; |
Query OK, 0 rows affected (0.000 sec) |
|
MariaDB [test]> SELECT COUNT(*) FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
+----------+ |
| COUNT(*) | |
+----------+ |
| 1 |
|
+----------+ |
1 row in set (0.032 sec) |
|
MariaDB [test]> SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS UNION DISTINCT SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
Query OK, 0 rows affected (0.021 sec) |
10.3 and 10.4 return a correct result on the simple query but wrong result without warnings on UNION:
10.3 non-debug 2cae58f8 |
MariaDB [test]> SET tmp_disk_table_size= 16384; |
Query OK, 0 rows affected (0.000 sec) |
|
MariaDB [test]> SELECT COUNT(*) FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
+----------+ |
| COUNT(*) | |
+----------+ |
| 109 |
|
+----------+ |
1 row in set (0.535 sec) |
|
MariaDB [test]> SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS UNION DISTINCT SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
Query OK, 0 rows affected (0.071 sec) |
10.5 returns a wrong result with bunch of warnings (including weird ones about not found symbols) on the simple query and a wrong result without warnings on UNION:
10.5 non-debug 054f1036 |
MariaDB [test]> SET tmp_disk_table_size= 16384; |
Query OK, 0 rows affected (0.000 sec) |
|
MariaDB [test]> SELECT COUNT(*) FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
+----------+ |
| COUNT(*) | |
+----------+ |
| 1 |
|
+----------+ |
1 row in set, 45 warnings (0.020 sec) |
|
MariaDB [test]> SHOW WARNINGS;
|
+-------+------+-----------------------------------------------------------------+ |
| Level | Code | Message | |
+-------+------+-----------------------------------------------------------------+ |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1127 | Can't find symbol '_mysql_plugin_interface_version_' in library | |
| Error | 1127 | Can't find symbol '_mysql_plugin_interface_version_' in library | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1127 | Can't find symbol '_mysql_plugin_interface_version_' in library | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1127 | Can't find symbol '_mysql_plugin_interface_version_' in library | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1127 | Can't find symbol '_mysql_plugin_interface_version_' in library | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
| Error | 1114 | The table '(temporary)' is full | |
+-------+------+-----------------------------------------------------------------+ |
45 rows in set (0.000 sec) |
|
MariaDB [test]> SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS UNION DISTINCT SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS; |
Query OK, 0 rows affected (0.034 sec) |
All debug builds additionally abort with an assertion failure upon UNION:
10.5 debug 054f1036 |
mariadbd: /data/src/10.5/sql/protocol.cc:623: void Protocol::end_statement(): Assertion `0' failed.
|
200718 18:07:35 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f1390bfdf12 in __GI___assert_fail (assertion=0x5582bd0edad0 "0", file=0x5582bd0ed7c0 "/data/src/10.5/sql/protocol.cc", line=623, function=0x5582bd0ee190 <Protocol::end_statement()::__PRETTY_FUNCTION__> "void Protocol::end_statement()") at assert.c:101
|
#8 0x00005582bc258c62 in Protocol::end_statement (this=0x7f13700010e0) at /data/src/10.5/sql/protocol.cc:623
|
#9 0x00005582bc38769b in dispatch_command (command=COM_QUERY, thd=0x7f1370000b18, packet=0x7f13701af1f9 "SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS UNION DISTINCT SELECT * FROM INFORMATION_SCHEMA.ALL_PLUGINS", packet_length=104, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:2459
|
#10 0x00005582bc383daa in do_command (thd=0x7f1370000b18) at /data/src/10.5/sql/sql_parse.cc:1348
|
#11 0x00005582bc529589 in do_handle_one_connection (connect=0x5582bfffe1b8, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1411
|
#12 0x00005582bc5292f1 in handle_one_connection (arg=0x5582bfffe1b8) at /data/src/10.5/sql/sql_connect.cc:1313
|
#13 0x00005582bca673f6 in pfs_spawn_thread (arg=0x5582bfffdde8) at /data/src/10.5/storage/perfschema/pfs.cc:2201
|
#14 0x00007f1392b864a4 in start_thread (arg=0x7f1387768700) at pthread_create.c:456
|
#15 0x00007f1390cbad0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Attachments
Issue Links
- relates to
-
MDEV-22266 Diagnostics_area::sql_errno() const: Assertion `m_status == DA_ERROR' failed on SELECT after setting tmp_disk_table_size.
- Closed