mariadb/mysql-test/suite
Rex 9c01f28c41 MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS
This bug is consequence of a serious architectural flaw of the query
processing at the prepare stage. Context analysis of processed queries has
to be done at this stage. The important part of this analysis is resolution
of column references also known as name resolution. The items for column
references used in a query are created by the parser. They are allocated
in the statement memory because their life span is the same as the life
span of the executed query. During name resolution some of the items are
wrapped into objects belonging to classes derived from the Item_ref class.
In many cases we can't do without such wrappers. For example, the parser
does not differentiate between references to columns of base tables and
references to columns of views. However for a reference to a view column
we need a pointer to the translation item for this column. This pointer
is stored in a Item_direct_view_ref object that wraps the item for the
column reference. Before this patch the wrappers were allocated in
execution memory good only for one execution. That wasn't a problem when
the query was executed only once. Yet for the queries executed as prepared
statements or within a stored procedure it could lead to crashes or wrong
result sets at the second execution of the query. It could happen when
the wrapped item was substituted for something else by permanent
transformations during the optimization phase.

This patch allocates all the wrappers around items created for column
references in the statement memory at the first execution of PS or at the
first call of SP/SF.
2025-04-14 09:21:31 +11:00
..
archive Merge branch '10.5' into 10.6 2024-12-17 11:06:09 +11:00
atomic Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
binlog Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
binlog_encryption MDEV-36424: binlog_encryption.encrypted_master_switch_to_unencrypted_gtid Fails in BB 11.4+ 2025-03-28 19:20:16 +01:00
client MDEV-8334: Rename utf8 to utf8mb3 2021-05-19 06:48:36 +02:00
compat MDEV-36047 Package body variables are not allowed as FETCH targets 2025-02-09 13:56:19 +04:00
csv Backporting bugs fixes fixed by MDEV-31340 from 11.5 2024-05-21 14:58:01 +04:00
encryption Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
engines Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
events Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
federated MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS 2025-04-14 09:21:31 +11:00
funcs_1 Merge branch '10.11' into 11.4 2025-01-14 23:45:41 +01:00
funcs_2 Merge 10.5 into 10.6 2025-03-26 17:09:57 +02:00
galera Merge 10.11 into 11.4 2025-04-02 10:15:08 +03:00
galera_3nodes Merge 10.11 into 11.4 2025-04-02 10:15:08 +03:00
galera_3nodes_sr galera mtr tests: synchronization between branches and editions 2025-04-02 04:50:11 +02:00
galera_sr Merge branch '10.6' into '10.11' 2025-04-02 06:33:39 +02:00
gcol Merge 10.11 into 11.4 2025-03-03 11:07:56 +02:00
handler Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
heap Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
innodb MDEV-35689 InnoDB system tables cannot be optimized or defragmented 2025-04-10 17:13:34 +05:30
innodb_fts Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
innodb_gis Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
innodb_i_s Merge 10.5 into 10.6 2023-04-11 16:15:19 +03:00
innodb_zip Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
jp Merge 10.5 into 10.6 2022-09-20 16:53:20 +03:00
json Merge branch '10.11' into 11.2 2024-10-29 16:42:46 +01:00
large_tests fix failing large_tests.maria_recover_encrypted 2024-04-22 18:38:39 +02:00
maria Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
mariabackup Merge branch '10.11' into 11.4 2025-03-31 22:28:52 +02:00
merge Merge branch '11.0' into 11.1 2023-08-09 08:25:14 +02:00
mtr/t Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
mtr2 Fix for overlayed include files on Windows and a test case 2013-11-10 14:37:32 +04:00
multi_source Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
optimizer_unfixed_bugs deprecate SQL_NOTES variable in favor of NOTE_VERBOSITY 2024-02-03 11:22:20 +01:00
parts Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
perfschema Merge 10.11 into 11.4 2025-03-03 11:07:56 +02:00
perfschema_stress
period Merge branch '10.11' into 11.4 2025-01-14 23:45:41 +01:00
plugins Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
roles Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
rpl Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
s3 Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
sql_sequence Merge 10.6 into 10.11 2025-03-27 08:01:47 +02:00
storage_engine MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
stress MDEV-34453 Trying to read 16384 bytes at 70368744161280 outside the bounds of the file: ./ibdata1 2024-09-20 20:26:43 +05:30
sys_vars Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
sysschema Merge branch '11.2' into 11.4 2024-05-21 19:38:51 +02:00
unit update C/C 3.4 2024-08-04 17:28:08 +02:00
vcol Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
versioning Merge 10.11 into 11.4 2025-04-02 10:15:08 +03:00
wsrep Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00