1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-07 17:42:39 +03:00
Files
mariadb/sql
Aleksey Midenkov 0932c5804d MDEV-20515 multi-update tries to position updated table by null reference
Cause

Join tmp table inserts null row because of OUTER JOIN, that's
expected. Since `multi_update::prepare2()` converted
`Item_temptable_rowid` into `Item_field` (28dbdf3)
`multi_update::send_data()` accesses join tmp record directly and
treats it as a normal row ignoring null status of ref field. NULL ref
field is then treated as normal in `multi_update::do_updates()` which
tries to position updated table by reference 0.

Note that reference 0 may be valid reference and the first row of
table can be wrongly updated (see multi_update.test).

Fix

Do not add row into multi-update tmp table in case of null ref
field. Join tmp table does not have null_row status at this time (as
well as `STATUS_NULL_ROW`) and cannot be skipped by these properties
(see first comment in multi_update::send_data()). But it has all null
fields (including the ref field).
2020-04-02 20:48:38 +03:00
..
2019-12-02 12:41:13 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2019-12-27 15:14:48 +02:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-01-31 11:37:12 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2020-03-11 14:05:41 +01:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-04 17:46:28 +01:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-02-25 14:55:15 +03:00
2019-12-02 12:41:13 +02:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-17 17:23:01 +02:00
2019-05-14 17:18:46 +03:00
2020-03-20 18:12:17 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-17 17:23:01 +02:00
2019-05-17 17:23:01 +02:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-27 18:22:16 +04:00
2020-01-24 14:16:20 +01:00
2019-07-26 22:42:35 +02:00
2019-07-26 22:42:35 +02:00
2020-03-30 11:12:56 +03:00
2020-01-03 13:44:16 +01:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-10-18 09:05:27 +03:00
2019-10-18 09:05:27 +03:00
2019-05-11 21:29:06 +03:00
2019-12-02 12:41:13 +02:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-03-20 18:12:17 +02:00
2020-01-24 14:16:20 +01:00
2019-05-14 17:18:46 +03:00
2020-01-31 11:37:12 +02:00
2020-01-31 11:37:12 +02:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-06-14 07:36:47 +02:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2020-03-20 18:12:17 +02:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-09-27 15:56:15 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-09-01 18:00:04 +03:00
2019-05-14 17:18:46 +03:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-07-02 17:46:22 +03:00
2019-05-13 17:54:04 +03:00
2019-06-25 13:21:36 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2020-03-20 18:12:17 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-02 12:41:13 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-08-28 10:18:41 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-04 12:43:29 +04:00
2019-05-14 17:18:46 +03:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-01-19 21:16:15 +03:00
2020-01-17 00:46:40 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-01-17 00:24:17 +03:00
2019-05-14 17:18:46 +03:00
2020-03-20 18:12:17 +02:00
2020-03-20 18:12:17 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2018-05-01 16:52:19 +03:00
2019-06-14 07:36:47 +02:00
2019-06-14 07:36:47 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-07-02 17:46:22 +03:00
2019-12-27 15:14:48 +02:00
2019-10-18 09:05:27 +03:00
2019-06-14 07:36:47 +02:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 19:25:02 +03:00
2019-05-14 17:18:46 +03:00
2019-10-02 20:21:30 +04:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2020-03-30 11:12:56 +03:00
2020-03-20 18:12:17 +02:00
2019-05-14 17:18:46 +03:00
2019-06-14 07:36:47 +02:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2018-09-28 16:37:06 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-02 12:41:13 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 19:25:02 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-06-11 13:00:18 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 19:25:02 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-12-27 15:14:48 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-27 15:14:48 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-07-26 22:42:35 +02:00
2019-07-02 17:46:22 +03:00
2020-01-17 00:24:17 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2020-01-08 13:44:06 +05:30
2019-05-13 17:54:04 +03:00
2020-03-30 11:12:56 +03:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-10-09 13:25:11 +03:00
2019-06-25 13:21:36 +03:00
2020-03-30 11:12:56 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2020-03-13 12:31:55 +02:00
2019-05-14 17:18:46 +03:00
2020-01-17 00:24:17 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2020-03-20 18:12:17 +02:00
2019-12-27 18:22:16 +04:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-28 14:54:38 +04:00
2020-03-11 14:05:41 +01:00
2020-03-06 23:28:26 +01:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2020-02-10 20:34:16 +01:00
2019-12-12 14:41:51 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-12-27 15:14:48 +02:00
2019-09-10 09:25:20 +03:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 21:29:06 +03:00
2019-12-27 15:14:48 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2019-06-25 13:21:36 +03:00
2020-01-20 16:15:05 +01:00
2019-12-27 15:14:48 +02:00
2019-05-14 17:18:46 +03:00
2019-03-22 22:33:27 +04:00
2018-04-10 13:12:36 +02:00
2019-05-14 17:18:46 +03:00
2019-05-10 20:52:00 +03:00
2020-03-30 11:12:56 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-05-11 22:19:05 +03:00
2019-05-14 17:18:46 +03:00
2019-10-31 10:58:06 +01:00
2020-03-30 11:12:56 +03:00
2019-05-11 19:25:02 +03:00
2020-03-30 11:12:56 +03:00
2019-08-13 19:28:51 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2019-08-29 12:00:12 +03:00
2020-03-06 23:28:26 +01:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00
2020-01-18 16:56:16 +02:00
2019-05-13 17:54:04 +03:00
2019-05-14 17:18:46 +03:00
2019-05-13 17:54:04 +03:00