summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorNikita Malyavin <nikitamalyavin@gmail.com>2022-11-23 14:53:21 +0300
committerNikita Malyavin <nikitamalyavin@gmail.com>2022-11-23 14:53:21 +0300
commitd569e6dea4c451469a0c293692c3db0e963309ce (patch)
tree28596ebaf8800bb63908b9f8da3fe3eae4a238d2 /sql
parentf0820400ee427f1398034c6881c803e42cfd249e (diff)
downloadmariadb-git-d569e6dea4c451469a0c293692c3db0e963309ce.tar.gz
MDEV-29169 Using MATCH returns NULL for Virtual Column
Virtual column values are updated in handler in reading commands, like ha_index_next, etc. This was missing for ha_ft_read. handler::ha_ft_read: add table->update_virtual_fields() call
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_class.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 9ac973dc640..5e209f56458 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -6513,8 +6513,13 @@ inline int handler::ha_ft_read(uchar *buf)
{
int error= ft_read(buf);
if (!error)
+ {
update_rows_read();
+ if (table->vfield && buf == table->record[0])
+ table->update_virtual_fields(this, VCOL_UPDATE_FOR_READ);
+ }
+
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}