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

Remove tests for Item::type() in Item_basic_value::eq()

Details

    Description

      This is a subtask for MDEV-14630, which can be done in a self-contained change.

      Item_basic_value has a number of methods:

      • is_basic_value(), which tests type() internally.
      • null_eq()
      • int_eq()
      • str_eq()
      • real_eq()

      It's descendants:

      • Item_param
      • Item_null
      • Item_int
      • Item_double
      • Item_float
      • Item_string
        use the mentioned methods in eq().

      Additionally, Item_param tests cmp_type(), which is bad for pluggable data types (because constants of different pluggable data types will be able to have the same cmp_type(), but they are not equal to each other).

      This task is to change the code to be based on Type_handler methods instead of Item::type() and Item::cmp_type() tests.

      Attachments

        Issue Links

          Activity

            bar Alexander Barkov created issue -
            bar Alexander Barkov made changes -
            Field Original Value New Value
            bar Alexander Barkov made changes -
            issue.field.resolutiondate 2018-06-05 18:26:58.0 2018-06-05 18:26:58.351
            bar Alexander Barkov made changes -
            Fix Version/s 10.4.0 [ 23115 ]
            Fix Version/s 10.4 [ 22408 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 87697 ] MariaDB v4 [ 133576 ]

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.