Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-26671

Inconsistent SELECT View when modify a record added by another transaction

    XMLWordPrintable

    Details

      Description

      If a transaction modifies an inserted record by a concurrent transaction,
      the visibility of this new record for the current transaction depends on the value of the inserted record.

      This issue is similar to the issue reported in

      https://jira.mariadb.org/browse/MDEV-26643

      but the trigger conditions and behaviors of them are different.

      How to repeat:

      /* init */ drop table if exists t;
      /* init */ create table t(a int, b int);
      /* init */ insert into t values (0, 0), (1, 1);
       
      /* s1 */ begin;
      /* s1 */ select * from t; -- [(0, 0), (1, 1)]
      /* s2 */ begin;
      /* s2 */ insert into t values (10, 2);
      /* s2 */ commit;
      /* s1 */ select * from t; -- [(0, 0), (1, 1)]
      /* s1 */ update t set a = 10 where true;
      /* s1 */ select * from t;  -- [(10, 0), (10, 1)]
      /* s1 */ commit;
       
      -------------------------------------------------------------
       
      /* init */ drop table if exists t;
      /* init */ create table t(a int, b int);
      /* init */ insert into t values (0, 0), (1, 1);
       
      /* s1 */ begin;
      /* s1 */ select * from t; -- [(0, 0), (1, 1)]
      /* s2 */ begin;
      /* s2 */ insert into t values (11, 2);
      /* s2 */ commit;
      /* s1 */ select * from t; -- [(0, 0), (1, 1)]
      /* s1 */ update t set a = 10 where true;
      /* s1 */ select * from t;  -- [(10, 0), (10, 1), (10, 2)]
      /* s1 */ commit;
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              dinary dinary
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:

                  Git Integration