mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
6a674c3142
Problem was that JOIN_TAB::cleanup() was not run because JOIN::top_join_tab_count was not set in case of early errors. Fixed by setting JOIN::tab_join_tab_count when JOIN_TAB's are allocated. Something that should eventually be fixed: - Cleaning up JOIN_TAB's is now done in 3 different loops. JOIN_TAB::cleanup() is only doing a partial cleanup. Other cleanups are done outside of JOIN_TAB::cleanup(). The above should be fixed so that JOIN_TAB::cleanup() is freeing everything related to it's own memory, including all its sub JOIN_ TAB's. JOIN::cleanup() should only loop over all it's top JOIN_TAB's and call JOIN_TAB::cleanup() on these. This will greatly simplify and speedup the current code (as we now do some cleanup's twice).
13 lines
410 B
Text
13 lines
410 B
Text
#
|
|
# MDEV-32476 LeakSanitizer errors in get_quick_select or
|
|
# Assertion `status_var.local_memory_used == 0
|
|
#
|
|
CREATE TABLE t1 (pk INT AUTO_INCREMENT, f INT, PRIMARY KEY (pk), KEY(f))
|
|
ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,10),(2,20);
|
|
INSERT INTO t1 (f) SELECT t2.f FROM t1 t2, t1 t3 WHERE t2.f = 10 AND t3.pk > 'foo';
|
|
ERROR 22007: Truncated incorrect DECIMAL value: 'foo'
|
|
DROP TABLE t1;
|
|
#
|
|
# End of 10.6 tests
|
|
#
|