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

greatest/least with bigint unsigned maxium has unexpected results compared to 0

Details

    Description

      From https://mariadb.com/kb/en/bigint-unsigned-with-least-or-greatest-unexpected-result/

      MariaDB [test]> create table i (a bigint unsigned, b bigint unsigned);
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> insert into i values (18446744073709551615,0);
      Query OK, 1 row affected (0.00 sec)
       
      MariaDB [test]> select * from i;
      Field   1:  `a`
      Catalog:    `def`
      Database:   `test`
      Table:      `i`
      Org_table:  `i`
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 20
      Decimals:   0
      Flags:      UNSIGNED NUM 
       
      Field   2:  `b`
      Catalog:    `def`
      Database:   `test`
      Table:      `i`
      Org_table:  `i`
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 1
      Decimals:   0
      Flags:      UNSIGNED NUM 
       
       
      +----------------------+------+
      | a                    | b    |
      +----------------------+------+
      | 18446744073709551615 |    0 |
      +----------------------+------+
      1 row in set (0.02 sec)
       
      MariaDB [test]>   SELECT LEAST(a,b), GREATEST(a,b), LEAST(a,cast(0 as unsigned integer)),  GREATEST(a,cast(0 as unsigned integer)) from i;
      Field   1:  `LEAST(a,b)`
      Catalog:    `def`
      Database:   ``
      Table:      ``
      Org_table:  ``
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 20
      Decimals:   0
      Flags:      UNSIGNED BINARY NUM 
       
      Field   2:  `GREATEST(a,b)`
      Catalog:    `def`
      Database:   ``
      Table:      ``
      Org_table:  ``
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 1
      Decimals:   0
      Flags:      UNSIGNED BINARY NUM 
       
      Field   3:  `LEAST(a,cast(0 as unsigned integer))`
      Catalog:    `def`
      Database:   ``
      Table:      ``
      Org_table:  ``
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 20
      Decimals:   0
      Flags:      UNSIGNED BINARY NUM 
       
      Field   4:  `GREATEST(a,cast(0 as unsigned integer))`
      Catalog:    `def`
      Database:   ``
      Table:      ``
      Org_table:  ``
      Type:       LONGLONG
      Collation:  binary (63)
      Length:     20
      Max_length: 1
      Decimals:   0
      Flags:      UNSIGNED BINARY NUM 
       
       
      +----------------------+---------------+--------------------------------------+-----------------------------------------+
      | LEAST(a,b)           | GREATEST(a,b) | LEAST(a,cast(0 as unsigned integer)) | GREATEST(a,cast(0 as unsigned integer)) |
      +----------------------+---------------+--------------------------------------+-----------------------------------------+
      | 18446744073709551615 |             0 |                 18446744073709551615 |                                       0 |
      +----------------------+---------------+--------------------------------------+-----------------------------------------+
      1 row in set (0.00 sec)
      

      Attachments

        Activity

          danblack Daniel Black created issue -
          elenst Elena Stepanova made changes -
          Field Original Value New Value
          Fix Version/s 10.2 [ 14601 ]
          Fix Version/s 10.3 [ 22126 ]
          Fix Version/s 10.4 [ 22408 ]
          Fix Version/s 10.5 [ 23123 ]
          Fix Version/s 10.6 [ 24028 ]
          Fix Version/s 10.7 [ 24805 ]
          Affects Version/s 10.2 [ 14601 ]
          Affects Version/s 10.3 [ 22126 ]
          Affects Version/s 10.4 [ 22408 ]
          Affects Version/s 10.5 [ 23123 ]
          Affects Version/s 10.6 [ 24028 ]
          Affects Version/s 10.7 [ 24805 ]
          Affects Version/s 10.8 [ 26121 ]
          Assignee Oleksandr Byelkin [ sanja ]
          Labels upstream-fixed
          elenst Elena Stepanova made changes -
          elenst Elena Stepanova made changes -
          Status Open [ 1 ] Confirmed [ 10101 ]
          ralf.gebhardt Ralf Gebhardt made changes -
          Fix Version/s 10.2 [ 14601 ]
          julien.fritsch Julien Fritsch made changes -
          Fix Version/s 10.7 [ 24805 ]
          julien.fritsch Julien Fritsch made changes -
          Fix Version/s 10.3 [ 22126 ]
          julien.fritsch Julien Fritsch made changes -
          Fix Version/s 10.4 [ 22408 ]
          bar Alexander Barkov made changes -
          Assignee Oleksandr Byelkin [ sanja ] Alexander Barkov [ bar ]
          bar Alexander Barkov made changes -
          Status Confirmed [ 10101 ] In Progress [ 3 ]
          bar Alexander Barkov added a comment - Sanya, please review: https://github.com/MariaDB/server/commit/15276d0791abdfd5d75693650c35dfd8aa131fa9
          bar Alexander Barkov made changes -
          Assignee Alexander Barkov [ bar ] Oleksandr Byelkin [ sanja ]
          Status In Progress [ 3 ] In Review [ 10002 ]

          OK to push (if it is not difficult please strip # around version end marker (not mandatiry))

          sanja Oleksandr Byelkin added a comment - OK to push (if it is not difficult please strip # around version end marker (not mandatiry))
          sanja Oleksandr Byelkin made changes -
          Assignee Oleksandr Byelkin [ sanja ] Alexander Barkov [ bar ]
          Status In Review [ 10002 ] Stalled [ 10000 ]
          bar Alexander Barkov made changes -
          issue.field.resolutiondate 2024-11-19 10:59:07.0 2024-11-19 10:59:06.752
          bar Alexander Barkov made changes -
          Fix Version/s 10.5.28 [ 29952 ]
          Fix Version/s 10.6.21 [ 29953 ]
          Fix Version/s 10.11.11 [ 29954 ]
          Fix Version/s 11.2.7 [ 29955 ]
          Fix Version/s 11.4.5 [ 29956 ]
          Fix Version/s 11.6.2 [ 29908 ]
          Fix Version/s 11.7.1 [ 29913 ]
          Fix Version/s 11.5.2 [ 29838 ]
          Fix Version/s 10.5 [ 23123 ]
          Fix Version/s 10.6 [ 24028 ]
          Resolution Fixed [ 1 ]
          Status Stalled [ 10000 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Fix Version/s 11.2.7 [ 29955 ]

          People

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