Skip to content

:after changing MAX to -MIN(-),col_1'svalue unexpectedly changes from 127 to 2009. #263

@chen8908917

Description

@chen8908917

Description:after changing MAX to -MIN(-),col_1'svalue unexpectedly changes from 127 to 2009.

mysql> SELECT MAX(ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;
+-------+---------------------+------------------------------------------------------+---------+
| col_1 | col_2               | col_3                                                | col_4   |
+-------+---------------------+------------------------------------------------------+---------+
|  NULL | 2025-03-09 17:59:43 | 0x00000000010700000000000000                         | 23.0000 |
|   127 | 2025-10-28 00:33:04 | 0x000000000101000000E50E9BC8CCD51CC011514CDE00C35BC0 |  5.0000 |
+-------+---------------------+------------------------------------------------------+---------+
2 rows in set (0.00 sec)

mysql> SELECT -MIN(-ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;
+-------+---------------------+------------------------------------------------------+---------+
| col_1 | col_2               | col_3                                                | col_4   |
+-------+---------------------+------------------------------------------------------+---------+
|  NULL | 2025-03-09 17:59:43 | 0x00000000010700000000000000                         | 23.0000 |
|  2009 | 2025-10-28 00:33:04 | 0x000000000101000000E50E9BC8CCD51CC011514CDE00C35BC0 |  5.0000 |
+-------+---------------------+------------------------------------------------------+---------+
2 rows in set (0.00 sec)

Additionally,in mysql:9.5.0,this problem has been solved

mysql> (SELECT MAX(ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC) UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;
+-------+---------------------+------------------------------------------------------+---------+
| col_1 | col_2               | col_3                                                | col_4   |
+-------+---------------------+------------------------------------------------------+---------+
|  NULL | 2025-03-09 17:59:43 | 0x00000000010700000000000000                         | 23.0000 |
|  2009 | 2025-10-28 00:33:04 | 0x000000000101000000E50E9BC8CCD51CC011514CDE00C35BC0 |  5.0000 |
+-------+---------------------+------------------------------------------------------+---------+
2 rows in set (0.00 sec)

mysql> (SELECT -MIN(-ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC) UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;
+-------+---------------------+------------------------------------------------------+---------+
| col_1 | col_2               | col_3                                                | col_4   |
+-------+---------------------+------------------------------------------------------+---------+
|  NULL | 2025-03-09 17:59:43 | 0x00000000010700000000000000                         | 23.0000 |
|  2009 | 2025-10-28 00:33:04 | 0x000000000101000000E50E9BC8CCD51CC011514CDE00C35BC0 |  5.0000 |
+-------+---------------------+------------------------------------------------------+---------+
2 rows in set (0.01 sec)

How to repeat

DROP DATABASE IF EXISTS test;
CREATE DATABASE IF NOT EXISTS test;
SET GLOBAL sort_buffer_size = 64 * 1024 * 1024;
SET GLOBAL read_rnd_buffer_size = 8 * 1024 * 1024;
USE test;

CREATE TABLE t2 (
    c1 INT NOT NULL AUTO_INCREMENT,
    c2 INT NOT NULL,
    c3 DECIMAL(10,2) NOT NULL,
    c4 VARCHAR(50) NOT NULL,
    c5 DATE NOT NULL,
    c6 MEDIUMTEXT NULL,
    c7 LONGTEXT NULL,
    c8 MEDIUMBLOB NULL,
    c9 LONGBLOB NULL,
    c10 ENUM('value1','value2','value3') NULL,
    c11 SET('a','b','c','d') NULL,
    c12 BIT(8) NULL,
    c13 DATETIME NULL,
    c14 FLOAT(8,2) NULL,
    c15 DOUBLE(12,4) NULL,
    c16 JSON NULL,
    PRIMARY KEY (c1)
);

CREATE TABLE t3 (
    c1 INT NOT NULL AUTO_INCREMENT,
    c2 INT NOT NULL,
    c3 INT NOT NULL,
    c4 YEAR NOT NULL,
    c5 DATETIME NULL,
    c6 TINYINT NULL,
    c7 SMALLINT NULL,
    c8 MEDIUMINT NULL,
    c9 BIGINT NULL,
    c10 LONGTEXT NULL,
    c11 GEOMETRY NULL,
    c12 TINYTEXT NULL,
    c13 TINYBLOB NULL,
    c14 SET('x','y','z') NULL,
    c15 TINYINT(1) NULL,
    PRIMARY KEY (c1)
);

INSERT INTO t2 (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16) VALUES (5217, 498, 835.13, 'sample_fNfG', '2025-06-14', 'sample_fmk5nNJEcTlHvPeK898aRIeFPiKwTlhiLdzE', 'sample_fzqAtYYMglBoJysRqpTHHQJENLTDVHZ0IJ0dYYGsUKN2pQyWIwU0tpiGSGsH9A4e92oqZVLOBW9bWR5gOyaNt94WADineBTnCRmhWToq8EmCIhArS71v7BaW1zI4lsfklEaqKvqIUtPFtugfhTKoiM5WBcIKOUzQcT1b2E1Wu0Lv6NxhQgiTywCSiyq0JOr7EFd6HsqXkd40Z8AWnaZJc9bilZiskcjeU9cSMoK0nHJrlHt7CSSTShP4oBFVBPBoT0VwfSdP8RLptWZBaikg12SCcGdoy8IPtlZO0FSbCmhbZoKkA4CcQt7Q0N4Ka50cdVIkk9GJ1Pm96HQj0FR81ya1StN6lJFMD41K0uyoQ2zyffdYQgPg28Ymn8tXCa8tT2OqOBkYGRsuEeJMCFFTl1RJ7CwaOLodqC4JZAWSgQBJGV3Kxszhds2UA1Tpk7XBvQfuTyH6tXPcOzXlEfgB1dsf5gHCivSlgfpFqDFuJXvDI09GUSszpoXY82L0yolScDsPT5LK7RvcU4EKWm3W5M5gXZyXn9rv6SewdyunnxH4VLWAFTNe0jCwNpLcjALBzJm1JiDTDSF9L4ZxhyQ8DMBugZ2b5OME5XS9gRdDuys3UMwbf5sopOULafb6osANgMlHedPl0JfR3mHjrCV04ODGuS0wRh2MvsE9XhwcOBK1boL8TvqylgwUapO0G3DmwJeTbGfcxjhwVLeeJhj76Ef4KoXEUE44pcG8EpjgWG02uE6mjKkjEJChNK7Zd5nb3eucXRIqD2vAvlibTUQ4nwUsJFgOjFU7YUCIQwqDX39rErIOxrWfsY6kBHOlYDjBUNAQ8euVN8fpmjtnn279AgOHT24iE63umZciHBknqLlghhqEYPNuHli46mTqtEQ6FiDLtcVu0uRRPN21cW5DrwROObjixx4P4He8CAbp9NJ3iv2RSeAYuHzJAbmvyakOkTTipmEnhQZzmZ3j8OhX26vZR0pJ6B7fTGI5KDSv9SzGJr1fpeRnnPsf2Y1cwSBeVHUg47tYPstnFsl0fdiRrQOPVugF5JQ2QpKVwAN3ysYINlSe6DVsFIMb6ohNYPZIT8Wu5s0J3NLUTsYkZJVd05lmO8ATSfiwS3tW2NIr2GpG1asTXFfsvUzU', X'2EE6AA8B771A30', X'E889B1C38468C291', 'value2', 'd,c,b,a', b'10100010', '2025-03-09 17:59:43', 76.40, 8.99, '{"k1": 758, "k2": "mixed_41", "k3": ["tag_83"], "k4": {"k5": "B", "k6": [87, 5], "k7": {"k8": "user_61", "k9": "2026-01-22T17:38:11.813764"}}, "k10": true}');

INSERT INTO t3 (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15) VALUES (9473, 3166, 7923, 2009, '2025-10-28 00:33:04', 64, 33, 23, 5, 'sample_zTTcDyJQiepslGYJ3zx7HK7FrfiC27HYfiM2DyjEqVaxZXyJQZAk243c5b7yltsU3bDVzF2sv1hGOpsKD5u5Vsxz394dHEEgy83H8xb47ex2oB6Sq0o7pOfwoVHbKZu6RgdQZDvfErgKcrI6jjhxlh5vvf4A5bMHspZVCHf6xQTLobsltrxVRPWcVEpcFa5j1I95z3Z4Rjv7rhDXeACav9XF6AozF9GisKKaR6TZV1uqxe9tbHTweWshIEX8yNnrU3IxQZKPJKdvzuZULMFQtInIhk96d8YG30AdQ5pBtYaX65GusSaJXGMp3Ihk3IErQfBpVTu29NJzaMcfVkaVMp2xAwfBSI3cvVabVv8biqnHJEPV5TWpfuyEyNERmQB3uT4QchyRMQMwZvjD7dLdhzAswCYPfR1cgVswYIJ1uRUY5JmnVxXSazO9HaCdk42BhmyWoXGzKbcNQ4D5uw3C9jIuse73AKzFL2LkIeEwgZAsimZuiM7Q4EwQWxy7B09PFzXlmKpILqGuT0hKw5wsTyKNl0wjI2FNH2bPoVq4ujSAQDwJr4jSz38', ST_GeomFromText('POINT(-7.208789 -111.046928)'), 'sample_lo1SDGmMjznqDAbPH7lv1PLIycmmGnug3w9c1EMVaOOvVY0FM7GLWSZHVE6MVSrkzdR1XlrSer0Ae6U0ldCAgDDUG', X'CBBA34E99F8CDA95E4A2AFDF8210', 'z', NULL);

SELECT MAX(ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;
SELECT -MIN(-ttc90.c15) AS col_1, MIN(xxz93.c13) AS col_2, ST_DIFFERENCE(ttc90.c11, ttc90.c11) AS col_3, AVG(ttc90.c8) AS col_4 FROM t2 AS xxz93 INNER JOIN t3 AS ttc90 ON 1 = 1 GROUP BY ST_DIFFERENCE(ttc90.c11, ttc90.c11), xxz93.c10 ORDER BY xxz93.c10 DESC UNION ALL SELECT oan51.c4 AS col_1, oan51.c5 AS col_2, oan51.c11 AS col_3, oan51.c9 AS col_4 FROM t3 AS oan51;

Version

mysql> select polardb_version();
+---------+--------------+---------------------+
| TYPE    | VERSION      | RELEASE_DATE        |
+---------+--------------+---------------------+
| Product | PolarDB V2.0 | Distributed Edition |
| CN      | 2.4.0.5.4.19 | SNAPSHOT            |
| DN      | 2.4.0.8.4.19 | 20240430            |
| GMS     | 2.4.0.8.4.19 | 20240430            |
+---------+--------------+---------------------+
4 rows in set (0.01 sec)

mysql> select @@version;
+-------------------------+
| @@version               |
+-------------------------+
| 8.0.32-X-Cluster-8.4.19 |
+-------------------------+
1 row in set (0.00 sec)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions