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
compat MDEV-36047 Package body variables are not allowed as FETCH targets 2025-02-09 13:56:19 +04:00
csv
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
innodb_zip Merge branch '10.11 into 11.4 2025-01-30 12:01:11 +01:00
jp
json Merge branch '10.11' into 11.2 2024-10-29 16:42:46 +01:00
large_tests
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
mtr/t Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
mtr2
multi_source Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
optimizer_unfixed_bugs
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
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
unit
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 branch '10.5' into '10.6' 2025-04-02 04:43:24 +02:00