File tree Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change @@ -901,17 +901,15 @@ bool Item_field::find_item_in_field_list_processor(void *arg)
901
901
bool Item_field::register_field_in_read_map (void *arg)
902
902
{
903
903
TABLE *table= (TABLE *) arg;
904
- if (field->table == table || !table)
905
- bitmap_set_bit (field->table ->read_set , field->field_index );
904
+ int res= 0 ;
906
905
if (field->vcol_info &&
907
- !bitmap_is_set (field->table ->vcol_set , field->field_index ))
906
+ !bitmap_fast_test_and_set (field->table ->vcol_set , field->field_index ))
908
907
{
909
- /* Ensure that the virtual fields is updated on read or write */
910
- bitmap_set_bit (field->table ->vcol_set , field->field_index );
911
- return field->vcol_info ->expr_item ->walk (&Item::register_field_in_read_map,
912
- 1 , arg);
908
+ res= field->vcol_info ->expr_item ->walk (&Item::register_field_in_read_map,1 ,arg);
913
909
}
914
- return 0 ;
910
+ if (field->table == table || !table)
911
+ bitmap_set_bit (field->table ->read_set , field->field_index );
912
+ return res;
915
913
}
916
914
917
915
/*
You can’t perform that action at this time.
0 commit comments