Commit 02b30044 authored by Daniel Black's avatar Daniel Black

MDEV-34650 main.having_cond_pushdown test failure - crash server (s390x)

The 10.5->10.6 merge commit 3bc98a4e casts the arg to an int16
pointer in set_extraction_flag_processor(). This matched the previous
commit c76eabfb where set_extraction_flag was changed to have int16 arg
instead of int.

The commit a5e4c349 for MDEV-29363 added a call to
set_extraction_flag_processor on IMMUTABLE_FL (MARKER_IMMUTABLE in 10.6).
The subsequent 10.5->10.6 merge f071b762 did not cast the flag
to int16 when merging this change.

The result is big-endian processors cleared the immutable
flag rather than set the flag, resulting in MDEV-29363
being unfixed on big-endian processors.
parent b7b2d2bd
......@@ -1295,7 +1295,7 @@ Item *Item::multiple_equality_transformer(THD *thd, uchar *arg)
This flag will be removed at the end of the pushdown optimization by
remove_immutable_flag_processor processor.
*/
int new_flag= MARKER_IMMUTABLE;
int16 new_flag= MARKER_IMMUTABLE;
this->walk(&Item::set_extraction_flag_processor, false,
(void*)&new_flag);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment