summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2020-12-09 20:15:29 +0300
committerAleksey Midenkov <midenok@gmail.com>2020-12-09 20:15:29 +0300
commitf99abb45c586e618fbbf573e1990209ab7f26968 (patch)
treeaeba61e896d55da71e49866422fab99183f6cac9 /sql/field.h
parenta3f7f2334a267ec4e120f70e84a8551fb502860f (diff)
downloadmariadb-git-f99abb45c586e618fbbf573e1990209ab7f26968.tar.gz
MDEV-17573 Assertion in federatedx on multi-update
Cause: shared federatedx_io cannot store table-specific data. Fix: move current row reference `federatedx_io_mysql::current` to ha_federatedx. FederatedX connection (represented by federatedx_io) is stored into federatedx_txn::txn_list of per-server connections (see federatedx_txn::acquire()). federatedx_txn object is stored into THD (see ha_federatedx::external_lock()). When multiple handlers acquire FederatedX connection they get single federatedx_io instance. Multiple handlers do their operation via federatedx_io_mysql::mark_position() and federatedx_io_mysql::fetch_row() in arbitrarty manner. They access the same federatedx_io_mysql instance and same MYSQL_ROWS *current pointer, so one handler disrupts the work of the other. Related to "MDEV-14551 Can't find record in table on multi-table update with ORDER BY".
Diffstat (limited to 'sql/field.h')
0 files changed, 0 insertions, 0 deletions