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

Possible problem with ha_innobase::build_template

Details

    Description

      While working on MDEV-27366 a potentially problematic piece of code was found in /storage/innobase/handler/ha_innodb.cc:

                   if ((active_index != MAX_KEY
      	            && active_index == pushed_idx_cond_keyno)
      	            || (pushed_rowid_filter && rowid_filter_is_active)) {
      		       /* Push down an index condition or an end_range check. */
              ...
      		if (active_index == pushed_idx_cond_keyno) {
      			m_prebuilt->idx_cond = this;
      		}
      	}
      

      The last condition satisfies when

      active_index == pushed_idx_cond_keyno == MAX_KEY

      which doesn't look correct. After fixing MDEV-27366 there is no test case to reproduce this scenario.

      Attachments

        Issue Links

          Activity

            oleg.smirnov Oleg Smirnov created issue -
            oleg.smirnov Oleg Smirnov made changes -
            Field Original Value New Value
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.7 [ 24805 ]
            Fix Version/s 10.8 [ 26121 ]
            Fix Version/s 10.9 [ 26905 ]
            oleg.smirnov Oleg Smirnov made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            oleg.smirnov Oleg Smirnov made changes -
            Description While working on MDEV-27366 a potentially problematic piece of code was found in /storage/innobase/handler/ha_innodb.cc:
            {code}
            if (active_index == pushed_idx_cond_keyno) {
            m_prebuilt->idx_cond = this;
            }
            {code}

            This condition satisfies when {code}active_index == pushed_idx_cond_keyno == MAX_KEY{code} which doesn't look correct. After fixing MDEV-27366 there is no test case to reproduce this scenario.
            While working on MDEV-27366 a potentially problematic piece of code was found in /storage/innobase/handler/ha_innodb.cc:
            {code}
                         if ((active_index != MAX_KEY
            && active_index == pushed_idx_cond_keyno)

            || (pushed_rowid_filter && rowid_filter_is_active)) {

            /* Push down an index condition or an end_range check. */

                    ...

            if (active_index == pushed_idx_cond_keyno) {

            m_prebuilt->idx_cond = this;

            }

            }

            {code}

            This condition satisfies when {code}active_index == pushed_idx_cond_keyno == MAX_KEY{code} which doesn't look correct. After fixing MDEV-27366 there is no test case to reproduce this scenario.
            oleg.smirnov Oleg Smirnov made changes -
            Description While working on MDEV-27366 a potentially problematic piece of code was found in /storage/innobase/handler/ha_innodb.cc:
            {code}
                         if ((active_index != MAX_KEY
            && active_index == pushed_idx_cond_keyno)

            || (pushed_rowid_filter && rowid_filter_is_active)) {

            /* Push down an index condition or an end_range check. */

                    ...

            if (active_index == pushed_idx_cond_keyno) {

            m_prebuilt->idx_cond = this;

            }

            }

            {code}

            This condition satisfies when {code}active_index == pushed_idx_cond_keyno == MAX_KEY{code} which doesn't look correct. After fixing MDEV-27366 there is no test case to reproduce this scenario.
            While working on MDEV-27366 a potentially problematic piece of code was found in /storage/innobase/handler/ha_innodb.cc:
            {code}
                         if ((active_index != MAX_KEY
            && active_index == pushed_idx_cond_keyno)
            || (pushed_rowid_filter && rowid_filter_is_active)) {
            /* Push down an index condition or an end_range check. */
                    ...
            if (active_index == pushed_idx_cond_keyno) {
            m_prebuilt->idx_cond = this;
            }
            }
            {code}

            The last condition satisfies when {code}active_index == pushed_idx_cond_keyno == MAX_KEY{code} which doesn't look correct. After fixing MDEV-27366 there is no test case to reproduce this scenario.
            oleg.smirnov Oleg Smirnov made changes -
            Assignee Oleg Smirnov [ JIRAUSER50405 ] Marko Mäkelä [ marko ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            Roel Roel Van de Paar made changes -
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Oleg Smirnov [ JIRAUSER50405 ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            oleg.smirnov Oleg Smirnov made changes -
            Component/s Storage Engine - InnoDB [ 10129 ]
            Fix Version/s 10.4.26 [ 27511 ]
            Fix Version/s 10.5.17 [ 27509 ]
            Fix Version/s 10.6.9 [ 27507 ]
            Fix Version/s 10.7.5 [ 27505 ]
            Fix Version/s 10.8.4 [ 27503 ]
            Fix Version/s 10.9.2 [ 27115 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.7 [ 24805 ]
            Fix Version/s 10.8 [ 26121 ]
            Fix Version/s 10.9 [ 26905 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]

            People

              oleg.smirnov Oleg Smirnov
              oleg.smirnov Oleg Smirnov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.